:root {
    --bs-body-bg: #121212;
    --bs-body-color: #e0e0e0;
    background-color: #121212 !important; /* Fix for html background showing through */
}

html {
  position: relative;
  min-height: 100%;
  background-color: #121212 !important;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.5;
  background-color: #121212 !important;
  color: #e0e0e0 !important;
  margin-bottom: 60px;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 60px;
  line-height: 60px;
  background-color: #1e1e1e;
  border-top: 1px solid #333;
  color: #aaa;
}

/* Button Styles */
.btn-purple {
  background-color: #6f42c1;
  border-color: #6f42c1;
  color: #fff;
}

.btn-purple:hover {
  background-color: #5a32a3;
  border-color: #5a32a3;
  color: #fff;
}

.bg-purple {
  background-color: #6f42c1;
}

/* Form Styles */
.form-control {
  background-color: #2d2d2d;
  border-color: #444;
  color: #e0e0e0;
}

.form-control:focus {
  background-color: #363636;
  border-color: #6f42c1; /* Use purple for focus */
  color: #fff;
  box-shadow: 0 0 0 0.2rem rgba(111, 66, 193, 0.25);
}

/* Form Labels */
label {
    color: #e0e0e0;
}

/* Dropdowns/Selects */
.form-select {
    background-color: #2d2d2d;
    border-color: #444;
    color: #e0e0e0;
}
.form-select:focus {
    background-color: #363636;
    border-color: #6f42c1;
    color: #fff;
    box-shadow: 0 0 0 0.2rem rgba(111, 66, 193, 0.25);
}

/* Dropdown Menu */
.dropdown-menu {
    background-color: #2d2d2d;
    border: 1px solid #444;
}

.dropdown-item {
    color: #e0e0e0;
}

.dropdown-item:hover, .dropdown-item:focus {
    background-color: #3a3a3a;
    color: #fff;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-weight: 500;
  line-height: 1.2;
  color: #ffffff;
}

.text-bg-purple {
  background-color: #6f42c1 !important;
  color: #fff !important;
}

/* Cards */
.card {
  background-color: #1e1e1e;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
  border: 1px solid #333;
}

.card-header {
  font-weight: 500;
  border-bottom: 1px solid #333;
  background-color: rgba(255, 255, 255, 0.02);
}

/* Navbar - Force dark overrides even if classes aren't perfect */
.navbar {
  background-color: #1e1e1e !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid #333;
}

.navbar-brand, .nav-link {
    color: #e0e0e0 !important;
}
.nav-link:hover {
    color: #fff !important;
}
.navbar-toggler {
    border-color: #444;
}
.navbar-toggler-icon {
    filter: invert(1); /* Invert if it's black SVG */
}

/* Delete confirmation modal */
.modal-content {
    background-color: #1e1e1e;
    border: 1px solid #444;
}
.modal-header {
    border-bottom: 1px solid #333;
}
.modal-footer {
    border-top: 1px solid #333;
}
.close {
    color: #fff;
    text-shadow: none;
}
.modal-header.bg-danger {
  color: white;
}

/* Alerts */
.alert {
  border: none;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* Custom table styling - Dark Mode */
.table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.05);
}

.table-hover tbody tr:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

.table {
    color: #e0e0e0;
}

/* Add a bottom margin to containers to avoid footer overlap */
.container, .container-fluid {
  margin-bottom: 70px;
}

/* Links */
a {
    color: #a578f2; /* Lighter purple for links */
}
a:hover {
    color: #c4a4ff;
}

/* List Groups */
.list-group-item {
    background-color: #1e1e1e;
    border-color: #333;
    color: #e0e0e0;
}
