html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  white-space: nowrap;
  line-height: 60px;
}

/* ==================== DARK MODE STYLES ==================== */

/* Dark Mode Body */
body.dark-mode {
  background-color: #1a1a1a;
  color: #e0e0e0;
}

/* Dark Mode Cards */
body.dark-mode .card {
  background-color: #2d2d2d;
  border-color: #404040;
  color: #e0e0e0;
}

body.dark-mode .card-header {
  background-color: #383838;
  border-bottom-color: #404040;
  color: #e0e0e0;
}

body.dark-mode .card-footer {
  background-color: #242424;
  border-top-color: #404040;
}

/* Dark Mode Navbar */
body.dark-mode .navbar {
  background-color: #2d2d2d !important;
  border-bottom-color: #404040 !important;
}

body.dark-mode .navbar .nav-link {
  color: #e0e0e0 !important;
}

body.dark-mode .navbar-light .navbar-nav .nav-link:hover {
  color: #ffffff !important;
}

body.dark-mode .navbar-light .navbar-brand {
  color: #e0e0e0 !important;
}

body.dark-mode .navbar-toggler {
  border-color: #555;
}

body.dark-mode .navbar-toggler-icon {
  filter: invert(1);
}

/* Dark Mode Tables */
body.dark-mode .table {
  color: #e0e0e0;
  background-color: #2d2d2d;
}

body.dark-mode .table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: #333333;
}

body.dark-mode .table-hover > tbody > tr:hover > * {
  background-color: #3a3a3a;
  color: #ffffff;
}

body.dark-mode .table-light {
  background-color: #383838 !important;
  color: #e0e0e0;
}

body.dark-mode .table thead th {
  border-bottom-color: #555;
  background-color: #383838;
  color: #e0e0e0 !important;  /* <-- DIESE ZEILE WIRD BENÖTIGT */
}

body.dark-mode .table thead th a {
  color: #e0e0e0 !important;  /* <-- NEUE REGEL FÜR LINKS */
}

body.dark-mode .table thead th a:hover {
  color: #ffffff !important;  /* <-- NEUE REGEL FÜR HOVER */
}

body.dark-mode .table td,
body.dark-mode .table th {
  border-color: #404040;
}

/* Zusätzlich für Links in der Kopfzeile */
body.dark-mode .table thead th a {
  color: #e0e0e0 !important;
}

body.dark-mode .table thead th a:hover {
  color: #ffffff !important;
}

/* Dark Mode Forms */
body.dark-mode .form-control,
body.dark-mode .form-select {
  background-color: #3a3a3a;
  border-color: #555;
  color: #e0e0e0;
}

body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus {
  background-color: #404040;
  border-color: #0d6efd;
  color: #ffffff;
}

body.dark-mode .form-control::placeholder {
  color: #999;
}

body.dark-mode .form-check-input {
  background-color: #3a3a3a;
  border-color: #555;
}

body.dark-mode .form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}

/* Dark Mode Buttons */
body.dark-mode .btn-outline-primary {
  color: #6ea8fe;
  border-color: #6ea8fe;
}

body.dark-mode .btn-outline-primary:hover {
  background-color: #0d6efd;
  border-color: #0d6efd;
  color: #fff;
}

body.dark-mode .btn-outline-secondary {
  color: #adb5bd;
  border-color: #6c757d;
}

body.dark-mode .btn-outline-danger {
  color: #ea868f;
  border-color: #ea868f;
}

body.dark-mode .btn-link {
  color: #6ea8fe;
}

/* Dark Mode Alerts */
body.dark-mode .alert-success {
  background-color: #1a4d2e;
  border-color: #2d6a4f;
  color: #95d5b2;
}

body.dark-mode .alert-danger {
  background-color: #5c1a1a;
  border-color: #842029;
  color: #ea868f;
}

body.dark-mode .alert-warning {
  background-color: #664d03;
  border-color: #997404;
  color: #ffda6a;
}

body.dark-mode .alert-info {
  background-color: #055160;
  border-color: #087990;
  color: #6edff6;
}

/* Dark Mode Modals */
body.dark-mode .modal-content {
  background-color: #2d2d2d;
  color: #e0e0e0;
  border-color: #404040;
}

body.dark-mode .modal-header {
  background-color: #383838;
  border-bottom-color: #404040;
}

body.dark-mode .modal-footer {
  background-color: #242424;
  border-top-color: #404040;
}

body.dark-mode .btn-close {
  filter: invert(1);
}

/* Dark Mode Dropdown */
body.dark-mode .dropdown-menu {
  background-color: #2d2d2d;
  border-color: #404040;
}

body.dark-mode .dropdown-item {
  color: #e0e0e0;
}

body.dark-mode .dropdown-item:hover {
  background-color: #3a3a3a;
  color: #ffffff;
}

body.dark-mode .dropdown-divider {
  border-top-color: #404040;
}

/* Dark Mode Pagination */
body.dark-mode .pagination .page-link {
  background-color: #2d2d2d;
  border-color: #404040;
  color: #6ea8fe;
}

body.dark-mode .pagination .page-link:hover {
  background-color: #3a3a3a;
  color: #ffffff;
}

body.dark-mode .pagination .page-item.active .page-link {
  background-color: #0d6efd;
  border-color: #0d6efd;
  color: #fff;
}

body.dark-mode .pagination .page-item.disabled .page-link {
  background-color: #2d2d2d;
  border-color: #404040;
  color: #6c757d;
}

/* Dark Mode Footer */
body.dark-mode .footer {
  background-color: #1a1a1a;
  border-top-color: #404040;
  color: #888;
}

body.dark-mode .footer a {
  color: #6ea8fe;
}

/* Dark Mode Text Colors */
body.dark-mode .text-muted {
  color: #999 !important;
}

body.dark-mode .text-dark {
  color: #e0e0e0 !important;
}

body.dark-mode .bg-light {
  background-color: #2d2d2d !important;
}

body.dark-mode .border {
  border-color: #404040 !important;
}

body.dark-mode .box-shadow {
  box-shadow: 0 .125rem .25rem rgba(255, 255, 255, .075) !important;
}

/* Theme Toggle Button Styling */
#theme-toggle {
  font-size: 1.2rem;
  padding: 0.25rem 0.75rem;
  transition: transform 0.3s ease;
}

#theme-toggle:hover {
  transform: rotate(20deg);
}

#theme-toggle i {
  transition: opacity 0.3s ease;
}

/* Dark Mode für Login-Seite spezifisch */
body.dark-mode .card-header.bg-primary {
  background-color: #0d6efd !important;
}

body.dark-mode .card-header.bg-success {
  background-color: #198754 !important;
}

/* Smooth Transitions für Theme-Wechsel */
* {
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

a, button, input, select, textarea {
  transition: all 0.2s ease;
}