/* These styles are generated from project.scss. */

/* Theme Variables */
:root {
  --bg-color: #ffffff;
  --text-color: #212529;
  --nav-bg: #f8f9fa;
  --nav-text: #495057;
  --border-color: #dee2e6;
  --card-bg: #ffffff;
  --input-bg: #ffffff;
  --input-border: #ced4da;
  --link-color: #007bff;
  --link-hover: #0056b3;
  --btn-primary-bg: #007bff;
  --btn-primary-border: #007bff;
  --alert-info-bg: #d1ecf1;
  --alert-info-border: #bee5eb;
  --alert-info-text: #0c5460;
  --alert-success-bg: #d4edda;
  --alert-success-border: #c3e6cb;
  --alert-success-text: #155724;
  --alert-danger-bg: #f8d7da;
  --alert-danger-border: #f5c6cb;
  --alert-danger-text: #721c24;
  --navbar-toggler-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='m4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.theme-dark {
  --bg-color: #1a1a1a;
  --text-color: #e9ecef;
  --nav-bg: #1a1a1a;
  --nav-text: #e9ecef;
  --border-color: #495057;
  --card-bg: #2d2d2d;
  --input-bg: #343a40;
  --input-border: #6c757d;
  --link-color: #66b3ff;
  --link-hover: #4da6ff;
  --btn-primary-bg: #0d6efd;
  --btn-primary-border: #0d6efd;
  --alert-info-bg: #1f4a54;
  --alert-info-border: #2c6269;
  --alert-info-text: #b8daff;
  --alert-success-bg: #1e3a28;
  --alert-success-border: #2d5a3d;
  --alert-success-text: #a3cfbb;
  --alert-danger-bg: #4a1e24;
  --alert-danger-border: #6a2c35;
  --alert-danger-text: #f1aeb5;
  --navbar-toggler-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23c0c0c0' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='m4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Apply theme variables */
body {
  background-color: var(--bg-color);
  color: var(--text-color);
  transition: background-color 0.3s ease, color 0.3s ease;
}

.navbar {
  background-color: var(--nav-bg) !important;
  border-bottom: 1px solid var(--border-color);
}

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

.navbar-nav .nav-link:hover {
  color: var(--link-hover) !important;
}

.navbar-toggler {
  border: 1px solid var(--border-color) !important;
  background-color: transparent !important;
}

.navbar-toggler:focus {
  box-shadow: none !important;
}

.navbar-toggler-icon,
.theme-dark .navbar-toggler-icon {
  background-image: var(--navbar-toggler-icon);
}

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

.page-link:hover {
  background-color: var(--input-bg);
  border-color: var(--border-color);
  color: var(--link-hover);
}

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

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

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

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

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

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

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

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

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

.alert-debug {
  color: black;
  background-color: white;
  border-color: #d6e9c6;
}

.alert-error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}
