:root {
  --primary-bg: #ffffff;
  --secondary-bg: #f8f9fa;
  --primary-text: #212529;
  --secondary-text: #6c757d;
  --border-color: #dee2e6;
  --link-color: #007bff;
  --link-hover-color: #0056b3;
  --btn-primary-bg: #007bff;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #6c757d;
  --btn-secondary-text: #ffffff;
  --btn-success-bg: #28a745;
  --btn-success-text: #ffffff;
  --btn-danger-bg: #dc3545;
  --btn-danger-text: #ffffff;
  --btn-info-bg: #17a2b8;
  --btn-info-text: #ffffff;
  --input-bg: #ffffff;
  --input-text: #495057;
  --input-border: #ced4da;
  --table-border: #dee2e6;
  --table-striped: rgba(0, 0, 0, 0.05);
  --card-bg: #ffffff;
  --card-border: rgba(0, 0, 0, 0.125);
}

[data-theme="dark"] {
  --primary-bg: #121212;
  --secondary-bg: #1e1e1e;
  --primary-text: #e0e0e0;
  --secondary-text: #adb5bd;
  --border-color: #343a40;
  --link-color: #6ea8fe;
  --link-hover-color: #8bb9fe;
  --btn-primary-bg: #0d6efd;
  --btn-primary-text: #ffffff;
  --btn-secondary-bg: #5c636a;
  --btn-secondary-text: #ffffff;
  --btn-success-bg: #198754;
  --btn-success-text: #ffffff;
  --btn-danger-bg: #dc3545;
  --btn-danger-text: #ffffff;
  --btn-info-bg: #0dcaf0;
  --btn-info-text: #000000;
  --input-bg: #2b2b2b;
  --input-text: #e0e0e0;
  --input-border: #495057;
  --table-border: #343a40;
  --table-striped: rgba(255, 255, 255, 0.05);
  --card-bg: #2b2b2b;
  --card-border: #343a40;
}

body {
  background-color: var(--primary-bg);
  color: var(--primary-text);
  transition: background-color 0.3s ease, color 0.3s ease;
}

.bg-light {
  background-color: var(--secondary-bg) !important;
}

.navbar-light .navbar-brand,
.navbar-light .navbar-nav .nav-link {
  color: var(--primary-text);
}

/* Prevent hover effect on navbar brand */
.navbar-light .navbar-brand:hover {
  color: var(--primary-text);
}

/* Add specific style for navbar link hover state */
.navbar-light .navbar-nav .nav-link:hover {
  color: var(--link-hover-color);
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 4px;
}

[data-theme="dark"] .navbar-light .navbar-nav .nav-link:hover {
  color: var(--link-hover-color);
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 4px;
}

[data-theme="dark"] .navbar-light .navbar-brand:hover {
  color: var(--primary-text);
}

.card {
  background-color: var(--card-bg);
  border-color: var(--card-border);
}

.card-header {
  background-color: var(--secondary-bg);
  border-color: var(--border-color);
}

.list-group-item {
  background-color: var(--card-bg);
  border-color: var(--border-color);
  color: var(--primary-text);
}

.table {
  color: var(--primary-text);
}

.table-striped tbody tr:nth-of-type(odd) {
  background-color: var(--table-striped);
}

.table td, .table th {
  border-color: var(--table-border);
}

.form-control {
  background-color: var(--input-bg);
  color: var(--input-text);
  border-color: var(--input-border);
}

.form-control:focus {
  background-color: var(--input-bg);
  color: var(--input-text);
}

.btn-primary {
  background-color: var(--btn-primary-bg);
  border-color: var(--btn-primary-bg);
  color: var(--btn-primary-text);
}

.btn-secondary {
  background-color: var(--btn-secondary-bg);
  border-color: var(--btn-secondary-bg);
  color: var(--btn-secondary-text);
}

.btn-success {
  background-color: var(--btn-success-bg);
  border-color: var(--btn-success-bg);
  color: var(--btn-success-text);
}

.btn-danger {
  background-color: var(--btn-danger-bg);
  border-color: var(--btn-danger-bg);
  color: var(--btn-danger-text);
}

.btn-info {
  background-color: var(--btn-info-bg);
  border-color: var(--btn-info-bg);
  color: var(--btn-info-text);
}

a {
  color: var(--link-color);
}

a:hover {
  color: var(--link-hover-color);
}

.alert-info {
  background-color: rgba(23, 162, 184, 0.2);
  border-color: rgba(23, 162, 184, 0.3);
  color: var(--primary-text);
}

/* No toggle button - using system theme */