/* Shared site theme. Light tokens, dark overrides, then components.
Previous shared stylesheets are available in Git history for rollback. */
:root {
  --color-earthy: black;
  --background-color-earthy: hsl(33deg 78.65% 79.51% / 35%);
  --border-color-earthy: #d3c5b2;
  --gradient-colour-1: #a2c5c0;
  --gradient-colour-2: #3c605b;
  --gradient-angle: 50deg;
  --primary-color: #4d7c5f;
  --secondary-color: #8ba888;
  --accent-color: #d9c5b2;
  --text-color: #2c3e50;
  --bg-color: #f5f7f4;
  --border-color: #c9d6c2;
  --card-bg: #ffffff;
  --card-border: #c9d6c2;
  --link-color: #2c6e49;
  --link-hover-color: #1e4d33;
  --btn-text: #ffffff;
  --btn-outline-color: #2c6e49;
  --btn-hover-bg: #3b634a;
  --btn-hover-text: #ffffff;
  --btn-active-bg: #2d503b;
  --btn-active-text: #ffffff;
  --navbar-bg: #ffffff;
  --navbar-text: #2c3e50;
  --toggle-border: #4d7c5f;
  --toggle-bg: transparent;
  --toggle-icon: #4d7c5f;
}
[data-theme='dark'] {
  --primary-color: #365141;
  --secondary-color: #7a9878;
  --accent-color: #c9b5a2;
  --text-color: #f5f7f4;
  --bg-color: #1a2721;
  --border-color: #3a4d43;
  --card-bg: #2a3c33;
  --card-border: #3a4d43;
  --link-color: #cfd43f;
  --link-hover-color: #dae615;
  --btn-text: #ffffff;
  --btn-outline-color: #8bc2a8;
  --btn-hover-bg: #a8c9ad;
  --btn-hover-text: #152d22;
  --btn-active-bg: #87b595;
  --btn-active-text: #152d22;
  --navbar-bg: #1a2721;
  --navbar-text: #f5f7f4;
  --toggle-border: #8bc2a8;
  --toggle-bg: transparent;
  --toggle-icon: #8bc2a8;
  --color-earthy: #f5f7f4;
  --background-color-earthy: #2a3c33;
  --border-color-earthy: #3a4d43;
  --card-shadow-earthy: rgba(139, 154, 28, 0.65);
}
/* Foundation and utilities */
:root :focus-visible {
  outline: 2px solid var(--toggle-icon, #4d7c5f) !important;
  outline-offset: var(--focus-outline-offset, 3px) !important;
}
:root :is(.btn, .form-control, .form-select, .dropdown-item):focus-visible {
  box-shadow: none !important;
}
:root :is(a, button, input, select, textarea):focus-visible {
  transition-property: color, background-color, border-color, opacity, transform !important;
}
.brand-logo--wordmark {
  width: 8rem;
}
.brand-logo--icon {
  width: 3rem;
}
.brand-logo--dark {
  display: none;
}
body {
  grid-template-rows: auto 1fr auto;
  font-family: 'Source Sans Pro', 'Inter', sans-serif;
}
.btn-leafy-green {
  --tblr-btn-hover-color: #fff;
  --tblr-btn-hover-bg: #28403d;
  --tblr-btn-hover-border-color: #28403d;
  color: #fff !important;
  background-color: #3c605b;
  border-color: #3c605b;
}
.btn-leafy-green:hover,
.btn-leafy-green:focus,
.btn-leafy-green.focus {
  color: #fff !important;
  background-color: #28403d;
  border-color: #28403d;
}
.btn-leafy-green:hover,
.btn-leafy-green:focus,
.btn-leafy-green.focus {
  box-shadow: 0 0 0 0.2rem rgba(60, 96, 91, 0.5);
}
.btn-leafy-green.disabled,
.btn-leafy-green:disabled {
  color: rgba(255, 255, 255, 0.5);
  background-color: #3c605b;
  border-color: #3c605b;
}
.btn-leafy-green:not(:disabled):not(.disabled):active,
.btn-leafy-green:not(:disabled):not(.disabled).active,
.show > .btn-leafy-green.dropdown-toggle {
  color: #fff !important;
  background-color: #28403d;
  border-color: #223734;
}
.btn-leafy-green:not(:disabled):not(.disabled):active:focus,
.btn-leafy-green:not(:disabled):not(.disabled).active:focus,
.show > .btn-leafy-green.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(60, 96, 91, 0.5);
}
.btn-outline-leafy-green {
  --tblr-btn-hover-color: var(--bg-color, #fff);
  --tblr-btn-hover-bg: var(--toggle-icon, #3c605b);
  --tblr-btn-hover-border-color: var(--toggle-border, #3c605b);
}
.btn-outline-leafy-green:hover,
.btn-outline-leafy-green:focus,
.btn-outline-leafy-green.focus {
  box-shadow: 0 0 0 0.2rem rgba(60, 96, 91, 0.5);
}
[data-theme='dark'] .btn-outline-leafy-green:hover {
  color: black !important;
}
.btn-outline-leafy-green.disabled,
.btn-outline-leafy-green:disabled {
  color: #3c605b;
  background-color: transparent;
}
.btn-outline-leafy-green:not(:disabled):not(.disabled):active,
.btn-outline-leafy-green:not(:disabled):not(.disabled).active,
.show > .btn-outline-leafy-green.dropdown-toggle {
  color: var(--bg-color);
  background-color: var(--toggle-icon);
  border-color: var(--toggle-border);
}
.btn-outline-leafy-green:not(:disabled):not(.disabled):active:focus,
.btn-outline-leafy-green:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-leafy-green.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(60, 96, 91, 0.5);
}
.text-leafy-green {
  color: #3c605b !important;
}
a.text-leafy-green:hover,
a.text-leafy-green:focus {
  color: #28403d !important;
}
.bg-leftover-gradient {
  background: linear-gradient(41deg, #cee7d6, #ebffd76b);
}
a,
.btn-link {
  color: var(--link-color, #2c6e49);
}
.url-underline {
  text-decoration: underline;
}
h1 {
  font-size: 2.6rem;
}
.external-link::after {
  content: '\f35d';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  margin-left: 5px;
}
.theme-text {
  color: #000 !important;
}
[data-theme='dark'] .theme-text {
  color: #fff !important;
}
[data-bs-theme='dark'] .theme-text {
  color: #fff !important;
}
@media (max-width: 767.98px) {
  .navbar-collapse .navbar-nav .nav-item .dropdown-menu {
    position: static !important;
    width: 100%;
    background-color: transparent;
    border: none;
    box-shadow: none;
    float: none;
  }

  .navbar-collapse .navbar-nav .nav-item .dropdown-item {
    color: var(--color-earthy);
    padding-left: 1rem;
  }

  [data-theme='dark'] .navbar-collapse .navbar-nav .nav-item .dropdown-item {
    color: white;
  }

  .navbar-collapse .navbar-nav .nav-item .dropdown-item:hover {
    background-color: rgba(0, 0, 0, 0.1);
  }

  [data-theme='dark'] .navbar-collapse .navbar-nav .nav-item .dropdown-item:hover {
    background-color: rgba(255, 255, 255, 0.1);
  }
}
.breadcrumb a {
  color: var(--link-color, #2c6e49);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.breadcrumb a:focus-visible {
  outline: 3px solid var(--link-color, #2c6e49);
  outline-offset: 3px;
}
.eu-funding img {
  padding: 0.75rem;
  border-radius: 0.35rem;
  background: #fff;
}
/* Dashboard cards */
h1 {
  margin-bottom: 50px;
  margin-top: 50px;
}
.blog-card {
  border: 1px solid var(--border-color, #ddd);
  display: inline-block;
  position: relative;
  width: 100%;
  margin-bottom: 30px;
  color: var(--text-color, #2c6e49);
  background: var(--card-bg, #fff);
  border-radius: 12px;
  text-decoration: none;
}
.blog-card:is(:hover, :focus, :active) {
  text-decoration: none;
}
.blog-card:hover {
  box-shadow: 2px 4px 16px var(--card-shadow-earthy, #00000029);
  transform: scale3d(1.01, 1.01, 1.01);
}
.blog-card-caption {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
.blog-card-caption,
.blog-card-caption a {
  color: var(--link-color, #2c6e49);
  text-decoration: none;
}
p {
  margin-top: 0;
  margin-bottom: 1rem;
}
[data-theme='dark'] p {
  color: white;
}
.blog-card p {
  color: inherit;
}
[data-theme='dark'] :is(h1, h2, h3, h4, h5, h6) {
  color: var(--text-color);
}
/* Navigation, shell and shared controls */
.toast {
  color: var(--text-color, #2c3e50);
  background-color: var(--card-bg, #ffffff);
  border-color: var(--card-border, #c9d6c2);
}
[data-theme='dark'] .toast-header strong {
  color: inherit !important;
}
[data-theme='dark'] .toast-header .btn-close {
  filter: none !important;
}
.site-nav .navbar-brand {
  padding: 0.25rem;
  margin: 1.25rem 0.75rem;
  min-height: 2.75rem;
  border-radius: 0.625rem;
}
.site-nav .brand-logo--wordmark {
  width: 6rem;
}
.site-nav .navbar-toggler {
  width: 2.75rem;
  height: 2.75rem;
  color: var(--toggle-icon, #4d7c5f);
  border-radius: 0.625rem;
}
.nav-toggle-icon {
  position: relative;
  display: block;
  width: 1.5rem;
  height: 1.25rem;
}
.nav-toggle-icon span {
  position: absolute;
  inset-inline: 0;
  top: calc(50% - 1px);
  height: 2px;
  border-radius: 1px;
  background: currentColor;
  transition:
    transform 0.25s ease,
    opacity 0.25s ease;
}
.nav-toggle-icon span:first-child {
  transform: translateY(-0.4375rem);
}
.nav-toggle-icon span:last-child {
  transform: translateY(0.4375rem);
}
.site-nav .navbar-toggler[aria-expanded='true'] .nav-toggle-icon span:first-child {
  transform: rotate(45deg);
}
.site-nav .navbar-toggler[aria-expanded='true'] .nav-toggle-icon span:nth-child(2) {
  opacity: 0;
}
.site-nav .navbar-toggler[aria-expanded='true'] .nav-toggle-icon span:last-child {
  transform: rotate(-45deg);
}
.site-nav .nav-controls {
  gap: 0.625rem;
}
.site-nav .btn {
  min-height: 2.75rem;
  border-radius: 0.625rem;
}
.site-nav #darkModeToggle {
  border-radius: 0.625rem;
}
.site-nav .nav-dropdown > .btn.show,
.site-nav .btn:focus:not(:focus-visible) {
  box-shadow: none;
}
.nav-dropdown {
  position: relative;
}
.nav-dropdown--team {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 2.75rem;
}
.site-nav .nav-dropdown--team > .btn:first-child {
  justify-content: flex-start;
  text-align: start;
  border-start-end-radius: 0;
  border-end-end-radius: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
.site-nav .nav-dropdown--team > .dropdown-toggle {
  border-start-start-radius: 0;
  border-end-start-radius: 0;
  margin-inline-start: -1px;
}
.site-nav .nav-dropdown .dropdown-menu {
  inset-inline: auto 0;
  top: 100%;
  min-width: 13rem;
  padding: 0.375rem;
  margin-top: 0.5rem;
  border-radius: 0.75rem;
  background-color: var(--card-bg, #ffffff);
  border: 1px solid var(--card-border, #c9d6c2);
  box-shadow: 0 0.5rem 1.5rem rgb(0 0 0 / 10%);
}
.site-nav .nav-dropdown .dropdown-item {
  display: flex;
  align-items: center;
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
  border-radius: 0.375rem;
  white-space: normal;
  color: var(--text-color, #2c3e50);
}
.site-nav .nav-dropdown .dropdown-item i {
  flex-shrink: 0;
}
.site-nav .nav-dropdown .dropdown-divider {
  margin: 0.375rem 0.5rem;
}
@media (max-width: 767.98px) {
  .site-nav .navbar-collapse {
    padding: 0;
    border: 0;
  }
  .site-nav .navbar-collapse.collapsing {
    overflow: hidden;
    transition: height 0.25s ease;
  }

  .site-nav .nav-panel {
    width: 100%;
    padding: 1rem;
    border-radius: 0.875rem;
    background-color: var(--card-bg, #ffffff);
  }

  .site-nav .nav-controls {
    width: 100%;
    margin: 0;
  }

  .site-nav .nav-controls > .nav-item {
    margin: 0;
  }

  .site-nav .nav-controls .btn {
    width: 100%;
  }

  .site-nav .nav-controls > .nav-item > .btn,
  .site-nav .nav-dropdown > .dropdown-toggle:not(.dropdown-toggle-split) {
    justify-content: flex-start;
    gap: 0.5rem;
  }

  .site-nav .nav-dropdown > .dropdown-toggle:not(.dropdown-toggle-split)::after {
    margin-inline-start: auto;
  }

  .site-nav .navbar-collapse .nav-dropdown .dropdown-menu {
    position: static !important;
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    border: 1px solid var(--card-border, #c9d6c2);
    background-color: var(--navbar-bg, #f5f7f4) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .nav-toggle-icon span,
  .site-nav .navbar-collapse.collapsing {
    transition: none;
  }
}
.dropdown-item,
.dropdown-item.btn,
.dropdown-item.btn-outline-leafy-green {
  text-align: left !important;
  justify-content: flex-start !important;
}
button i.fas:not(:only-child),
button i.far:not(:only-child),
button i.fab:not(:only-child),
button i.bi:not(:only-child),
a i.fas:not(:only-child),
a i.far:not(:only-child),
a i.fab:not(:only-child),
a i.bi:not(:only-child),
span i.fas:not(:only-child),
span i.far:not(:only-child),
span i.fab:not(:only-child),
span i.bi:not(:only-child),
label i.fas:not(:only-child),
label i.far:not(:only-child),
label i.fab:not(:only-child),
label i.bi:not(:only-child),
h1 i.fas:not(:only-child),
h2 i.fas:not(:only-child),
h3 i.fas:not(:only-child),
h4 i.fas:not(:only-child),
h5 i.fas:not(:only-child),
h6 i.fas:not(:only-child),
h1 i.bi:not(:only-child),
h2 i.bi:not(:only-child),
h3 i.bi:not(:only-child),
h4 i.bi:not(:only-child),
h5 i.bi:not(:only-child),
h6 i.bi:not(:only-child),
th i.fas:not(:only-child) {
  margin-right: 0.5rem;
}
button i.fas:not(:only-child) + .d-none,
button i.far:not(:only-child) + .d-none,
button i.fab:not(:only-child) + .d-none,
button i.bi:not(:only-child) + .d-none,
a i.fas:not(:only-child) + .d-none,
a i.far:not(:only-child) + .d-none,
a i.fab:not(:only-child) + .d-none,
a i.bi:not(:only-child) + .d-none {
  margin-left: 0;
}
@media (max-width: 576px) {
  button i.fas:not(:only-child),
  button i.far:not(:only-child),
  button i.fab:not(:only-child),
  button i.bi:not(:only-child),
  a i.fas:not(:only-child),
  a i.far:not(:only-child),
  a i.fab:not(:only-child),
  a i.bi:not(:only-child) {
    margin-right: 0;
  }
}
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.page-wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.page-body {
  flex: 1;
}
.footer {
  background: var(--card-bg, #ffffff) !important;
  border-top: 1px solid var(--border-color, #c9d6c2);
  color: var(--text-color, #2c3e50);
  margin-top: auto;
}
.footer-text {
  color: var(--text-color, #2c3e50) !important;
}
.badge:not(:first-child) {
  margin-left: 0.5rem;
}
.dashboard-cards .blog-card,
.dashboard-cards .blog-card:visited,
.dashboard-cards .blog-card:hover,
.dashboard-cards .blog-card:focus,
.dashboard-cards .blog-card:active {
  color: var(--text-color, #2c3e50) !important;
}
/* Form media loads vendor CSS after the shared theme. */
:root .select2-container--default .select2-selection--single {
  min-height: 42px;
  border-color: var(--border-color);
  border-radius: 6px;
}
:root .select2-container--default .select2-selection--single .select2-selection__rendered {
  padding: 6px 28px 6px 12px;
}
:root .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 40px;
}
.select2-dropdown--below {
  border-color: var(--primary-color, #4d7c5f) !important;
  box-shadow: 0 0 0 0.25rem rgba(77, 124, 95, 0.25) !important;
}
.navbar {
  border-bottom: none !important;
  box-shadow: none !important;
}
.navbar-shrink {
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
  border-bottom: none !important;
  background-color: var(--navbar-bg, #ffffff) !important;
}
.card-title,
.blog-card-caption {
  color: var(--text-color, #2c3e50) !important;
}
.blog-card .blog-card-caption a {
  color: inherit !important;
}
.task-btn-group {
  display: flex;
  gap: 5px;
  align-items: center;
}
.task-btn-group .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 31px;
  width: auto;
  padding: 0.25rem 0.5rem;
}
.task-btn-group form {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .task-btn-group {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px;
  }

  .task-btn-group form {
    display: inline-block;
  }
}
@media (max-width: 767px) {
  .task-btn-group {
    order: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: flex-end;
    margin-left: auto;
  }

  .task-btn-group form {
    display: inline-block;
  }
}
[data-theme='dark'] .card-title,
[data-theme='dark'] .blog-card-caption {
  color: var(--text-color, var(--text-color)) !important;
}
.btn.show {
  color: white;
  background-color: #3c605b;
  box-shadow: 0 0 0 0.2rem rgba(60, 96, 91, 0.5);
  border-color: #3c605b;
}
/* Dark components and vendor integration */
[data-theme='dark'] .brand-logo--light {
  display: none;
}
[data-theme='dark'] .brand-logo--dark {
  display: inline-block;
}
[data-theme='dark'] .alert {
  color: white !important;
}
.alert.alert-info {
  background-color: #7a9878 !important;
  color: #ffffff !important;
  border-color: #5d8c6f !important;
}
[data-theme='dark'] .alert.alert-info {
  background-color: #5d8c6f !important;
  color: #ffffff !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .badge.bg-success {
  background-color: #2c6e49 !important;
  color: #ffffff !important;
}
[data-theme='dark'] .badge.bg-primary {
  background-color: #3d7c5f !important;
  color: #ffffff !important;
}
.btn-outline-info {
  color: #4d7c5f !important;
  border-color: #4d7c5f !important;
  background-color: transparent !important;
}
.btn-outline-info:hover,
.btn-outline-info:focus,
.btn-outline-info:active {
  color: #ffffff !important;
  background-color: #4d7c5f !important;
  border-color: #4d7c5f !important;
}
[data-theme='dark'] .btn-outline-info {
  color: var(--toggle-icon) !important;
  border-color: var(--toggle-icon) !important;
  background-color: transparent !important;
}
[data-theme='dark'] .btn-outline-info:hover,
[data-theme='dark'] .btn-outline-info:focus,
[data-theme='dark'] .btn-outline-info:active {
  color: var(--bg-color) !important;
  background-color: var(--toggle-icon) !important;
  border-color: var(--toggle-icon) !important;
}
.btn-outline-success {
  color: #2c6e49 !important;
  border-color: #2c6e49 !important;
  background-color: transparent !important;
}
.btn-outline-success:hover,
.btn-outline-success:focus,
.btn-outline-success:active {
  color: #ffffff !important;
  background-color: #2c6e49 !important;
  border-color: #2c6e49 !important;
}
[data-theme='dark'] .btn-outline-success {
  color: #6bd098 !important;
  border-color: #6bd098 !important;
  background-color: transparent !important;
}
[data-theme='dark'] .btn-outline-success:hover,
[data-theme='dark'] .btn-outline-success:focus,
[data-theme='dark'] .btn-outline-success:active {
  color: var(--bg-color) !important;
  background-color: #6bd098 !important;
  border-color: #6bd098 !important;
}
[data-theme='dark'] .btn-outline-secondary {
  color: #a0d6bc !important;
  border-color: #a0d6bc !important;
  background-color: transparent !important;
}
[data-theme='dark'] .btn-outline-secondary:hover,
[data-theme='dark'] .btn-outline-secondary:focus,
[data-theme='dark'] .btn-outline-secondary:active {
  color: var(--bg-color) !important;
  background-color: #a0d6bc !important;
  border-color: #a0d6bc !important;
}
[data-theme='dark'] .dropdown-menu {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .dropdown-menu .dropdown-item {
  color: var(--text-color) !important;
}
[data-theme='dark'] .dropdown-menu .dropdown-item:hover,
[data-theme='dark'] .dropdown-menu .dropdown-item:focus {
  background-color: #3c605b !important;
  color: #ffffff !important;
}
[data-theme='dark'] .dropdown-menu .dropdown-divider {
  border-color: var(--border-color) !important;
}
[data-theme='dark'] canvas {
  filter: invert(0.85) hue-rotate(180deg);
}
[data-theme='dark'] .card-header,
[data-theme='dark'] .card-footer {
  color: var(--text-color) !important;
  border-color: #5d8c6f !important;
  background-color: #2a3e32 !important;
}
[data-theme='dark'] .form-select {
  background-color: var(--card-bg) !important;
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .table {
  color: var(--text-color) !important;
}
[data-theme='dark'] .table thead th {
  border-color: var(--border-color) !important;
  background-color: var(--bg-color) !important;
  color: #ffffff !important;
}
[data-theme='dark'] .table tbody {
  background-color: var(--border-color) !important;
}
[data-theme='dark'] .table td {
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .text-muted {
  color: #a0d6bc !important;
}
[data-theme='dark'] .select2-container--default .select2-selection--single,
[data-theme='dark'] .select2-container--default .select2-selection--multiple {
  color: var(--text-color) !important;
}
[data-theme='dark'] .select2-dropdown {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .select2-search__field {
  background-color: var(--bg-color) !important;
  color: var(--text-color) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .select2-container--default .select2-results__option[aria-selected='true'] {
  background-color: var(--border-color) !important;
}
[data-theme='dark'] .datepicker table tr td.active,
[data-theme='dark'] .datepicker table tr td.active:hover {
  color: #ffffff !important;
}
[data-theme='dark'] .datepicker table tr td.day:hover {
  background-color: var(--border-color) !important;
}
[data-theme='dark'] input[type='file'] {
  background-color: var(--bg-color) !important;
  border-color: var(--border-color) !important;
  color: var(--text-color) !important;
}
[data-theme='dark'] input[type='file']:focus {
  border-color: #5d8c6f !important;
}
[data-theme='dark'] .form-container .form-title h2 {
  color: var(--text-color) !important;
}
[data-theme='dark'] .form-container .form-title p {
  color: #a0d6bc !important;
}
[data-theme='dark'] .form-container .form-title {
  border-bottom-color: var(--border-color) !important;
}
[data-theme='dark'] .crisp-form {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .crisp-form label {
  color: var(--text-color) !important;
}
[data-theme='dark'] .crisp-form .form-control {
  background-color: var(--bg-color) !important;
  border-color: var(--border-color) !important;
  color: var(--text-color) !important;
}
[data-theme='dark'] .crisp-form .form-control:focus {
  border-color: #5d8c6f !important;
}
.navbar .navbar-nav .nav-item.active .nav-link:not(.btn),
.navbar .navbar-nav .nav-item .nav-link:not(.btn):focus,
.navbar .navbar-nav .nav-item .nav-link:not(.btn):hover,
.navbar .navbar-nav .nav-item .nav-link:not(.btn):active {
  color: #2c6e49 !important;
}
.navbar.bg-white .nav-item.active .nav-link:not(.btn),
.navbar.bg-white .nav-item .nav-link:not(.btn):focus,
.navbar.bg-white .nav-item .nav-link:not(.btn):hover,
.navbar.bg-white .nav-item .nav-link:not(.btn):active {
  color: #2c6e49 !important;
}
.navbar .navbar-nav .nav-link:not(.btn) {
  color: #4d7c5f !important;
}
[data-theme='dark'] .navbar .navbar-nav .nav-item.active .nav-link:not(.btn),
[data-theme='dark'] .navbar .navbar-nav .nav-item .nav-link:not(.btn):focus,
[data-theme='dark'] .navbar .navbar-nav .nav-item .nav-link:not(.btn):hover,
[data-theme='dark'] .navbar .navbar-nav .nav-item .nav-link:not(.btn):active {
  color: #a0d6bc !important;
}
[data-theme='dark'] .navbar.bg-white .nav-item.active .nav-link:not(.btn),
[data-theme='dark'] .navbar.bg-white .nav-item .nav-link:not(.btn):focus,
[data-theme='dark'] .navbar.bg-white .nav-item .nav-link:not(.btn):hover,
[data-theme='dark'] .navbar.bg-white .nav-item .nav-link:not(.btn):active {
  color: #a0d6bc !important;
}
[data-theme='dark'] .navbar .navbar-nav .nav-link:not(.btn) {
  color: var(--toggle-icon) !important;
}
[data-theme='dark'] .badge {
  color: #ffffff !important;
}
[data-theme='dark'] .bg-primary {
  background-color: #5d8c6f !important;
}
[data-theme='dark'] .bg-info {
  background-color: #7a9878 !important;
  color: black !important;
}
[data-theme='dark'] .text-info {
  color: #a0d6bc !important;
}
[data-theme='dark'] .bg-success {
  background-color: #2c6e49 !important;
  color: white !important;
}
[data-theme='dark'] .bg-danger {
  background-color: #a05252 !important;
  color: white !important;
}
[data-theme='dark'] .bg-warning {
  background-color: #cbd77b !important;
  color: black !important;
}
[data-theme='dark'] .btn-outline-warning {
  border: 1px solid #cbd77b !important;
  color: #cbd77b !important;
}
[data-theme='dark'] .btn-outline-warning:hover,
.btn-outline-warning:focus,
.btn-outline-warning:active {
  color: black !important;
  background-color: #cbd77b;
}
[data-theme='dark'] .bg-white {
  background-color: var(--card-bg) !important;
}
.bg-primary {
  background-color: #4d7c5f !important;
  color: white !important;
}
.btn-outline-secondary {
  color: #4d7c5f !important;
  border-color: #4d7c5f !important;
  background-color: transparent !important;
}
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
  color: #ffffff !important;
  background-color: #4d7c5f !important;
  border-color: #4d7c5f !important;
}
.badge {
  color: white !important;
}
.bg-info {
  background-color: #8ba888 !important;
}
.bg-success {
  background-color: #3d8b40 !important;
}
.bg-danger {
  background-color: #b05353 !important;
  color: white !important;
}
.bg-warning {
  background-color: #ffa760 !important;
  color: black !important;
}
[data-theme='dark'] .form-check-input {
  background-color: var(--bg-color) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .form-check-input:checked {
  background-color: #5d8c6f !important;
  border-color: #5d8c6f !important;
}
[data-theme='dark'] .form-check-label {
  color: var(--text-color) !important;
}
[data-theme='dark'] .form-switch .form-check-input {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23f5f7f4'/%3e%3c/svg%3e") !important;
}
[data-theme='dark'] .form-switch .form-check-input:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e") !important;
}
[data-theme='dark'] .form-range::-webkit-slider-thumb {
  background-color: #5d8c6f !important;
}
[data-theme='dark'] .form-range::-moz-range-thumb {
  background-color: #5d8c6f !important;
}
[data-theme='dark'] .form-range::-webkit-slider-runnable-track {
  background-color: var(--border-color) !important;
}
[data-theme='dark'] .form-range::-moz-range-track {
  background-color: var(--border-color) !important;
}
[data-theme='dark'] .form-control::placeholder {
  color: #8ba888 !important;
  opacity: 0.7 !important;
}
[data-theme='dark'] .form-control:disabled,
[data-theme='dark'] .form-control[readonly],
[data-theme='dark'] .form-select:disabled,
[data-theme='dark'] .form-check-input:disabled {
  background-color: #1e2e28 !important;
  opacity: 0.7 !important;
}
[data-theme='dark'] .form-check-input:disabled ~ .form-check-label,
[data-theme='dark'] .form-check-input[disabled] ~ .form-check-label {
  opacity: 0.7 !important;
}
[data-theme='dark'] .form-control.is-valid,
[data-theme='dark'] .was-validated .form-control:valid {
  border-color: #3d8b40 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%233d8b40' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") !important;
  background-color: var(--bg-color) !important;
}
[data-theme='dark'] .form-control.is-invalid,
[data-theme='dark'] .was-validated .form-control:invalid {
  border-color: #a05252 !important;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23a05252'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23a05252' stroke='none'/%3e%3c/svg%3e") !important;
  background-color: var(--bg-color) !important;
}
[data-theme='dark'] .valid-feedback {
  color: #6bd098 !important;
}
[data-theme='dark'] .invalid-feedback {
  color: #ef8157 !important;
}
[data-theme='dark'] .form-text {
  color: #a0d6bc !important;
}
[data-theme='dark'] .input-group-text {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
  color: var(--text-color) !important;
}
[data-theme='dark'] .asteriskField {
  color: #ef8157 !important;
}
[data-theme='dark'] .help-block {
  color: #a0d6bc !important;
}
[data-theme='dark'] .select2-container--default .select2-selection--single,
[data-theme='dark'] .select2-container--default .select2-selection--multiple {
  background-color: var(--bg-color) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark']
  .select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  color: var(--text-color) !important;
}
[data-theme='dark'] .select2-container--default .select2-results__option {
  background-color: var(--card-bg) !important;
  color: var(--text-color) !important;
}
[data-theme='dark']
  .select2-container--default
  .select2-results__option--highlighted[aria-selected] {
  background-color: #5d8c6f !important;
  color: #ffffff !important;
}
[data-theme='dark']
  .select2-container--default
  .select2-selection--multiple
  .select2-selection__choice {
  background-color: var(--border-color) !important;
  border-color: #5d8c6f !important;
  color: var(--text-color) !important;
}
[data-theme='dark'] .datepicker-dropdown {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .datepicker table tr td,
[data-theme='dark'] .datepicker table tr th {
  color: var(--text-color) !important;
}
[data-theme='dark'] .datepicker table tr td.active,
[data-theme='dark'] .datepicker table tr td.active:hover {
  background-color: #5d8c6f !important;
}
[data-theme='dark'] .custom-file-label {
  background-color: var(--bg-color) !important;
  border-color: var(--border-color) !important;
  color: var(--text-color) !important;
}
[data-theme='dark'] .custom-file-label::after {
  background-color: var(--card-bg) !important;
  color: var(--text-color) !important;
}
[data-theme='dark'] .form-label {
  color: white;
}
[data-theme='dark'] .nav-link {
  color: white;
}
[data-theme='dark'] .list-group-item-action:not(.active):active {
  background-color: inherit;
}
[data-theme='dark'] .list-group-item {
  color: white !important;
}
[data-theme='dark'] .form-control {
  background-color: var(--bg-color) !important;
  color: white;
}
[data-theme='dark'] hr {
  color: #5d8c6f !important;
  opacity: 0.5 !important;
}
[data-theme='dark'] .small {
  color: white !important;
}
[data-theme='dark'] strong {
  color: white !important;
}
[data-theme='dark'] .btn-link {
  color: #a0d6bc !important;
}
[data-theme='dark'] .btn-link:hover {
  background-color: transparent !important;
  color: #a0d6bc !important;
  border-color: #a0d6bc !important;
}
[data-theme='dark'] .btn-link:active {
  background-color: transparent !important;
  color: #a0d6bc !important;
  border-color: #a0d6bc !important;
}
[data-theme='dark'] .step-name {
  color: white !important;
}
[data-theme='dark'] .btn-warning {
  color: black !important;
}
.nav-tabs .nav-link.active {
  color: black !important;
  background-color: white !important;
}
[data-theme='dark'].nav-tabs .nav-link.active {
  color: white !important;
  background-color: var(--card-bg) !important;
}
[data-theme='dark'] .btn-danger {
  background-color: #be7031 !important;
  border-color: #be7031 !important;
  color: #ffffff !important;
}
[data-theme='dark'] .btn-danger:hover,
[data-theme='dark'] .btn-danger:focus,
[data-theme='dark'] .btn-danger:active {
  background-color: #7a3e0d !important;
  border-color: #7a3e0d !important;
  color: #ffffff !important;
}
[data-theme='dark'] .btn-outline-danger {
  color: #ffa760 !important;
  border-color: #ffa760 !important;
  background-color: transparent !important;
}
[data-theme='dark'] .btn-outline-danger:hover,
[data-theme='dark'] .btn-outline-danger:focus,
[data-theme='dark'] .btn-outline-danger:active {
  color: black !important;
  background-color: #ffa760 !important;
  border-color: #ffa760 !important;
}
[data-theme='dark'] ::selection {
  background: #919f31;
  color: black;
}
[data-theme='dark'] ::-moz-selection {
  background: #919f31;
  color: black;
}
[data-theme='dark'] .border {
  border: 1px solid rgb(160 176 151 / 27%) !important;
}
[data-theme='dark'] .accordion-item {
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .api-key-section {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .api-key-section h4 {
  color: var(--text-color) !important;
}
[data-theme='dark'] .api-key-copy-button {
  color: var(--toggle-icon) !important;
  background-color: transparent !important;
}
[data-theme='dark'] .api-key-copy-button:hover {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #a0d6bc !important;
}
[data-theme='dark'] .api-key-copy-button.copied {
  color: #a0d6bc !important;
  background-color: rgba(160, 214, 188, 0.2) !important;
}
[data-theme='dark'] #create-api-key-form {
  background-color: var(--card-bg) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] #create-api-key-form h4 {
  color: var(--text-color) !important;
}
[data-theme='dark'] #description-help {
  color: #a0d6bc !important;
}
[data-theme='dark'] .modal-content {
  background-color: var(--bg-color) !important;
  border-color: var(--border-color) !important;
}
[data-theme='dark'] .modal-header,
[data-theme='dark'] .modal-footer {
  border-color: var(--border-color) !important;
  background-color: #1e2e28 !important;
}
[data-theme='dark'] .modal-title {
  color: var(--text-color) !important;
}
[data-theme='dark'] .modal-footer .btn-outline-secondary {
  color: #a0d6bc !important;
  border-color: #a0d6bc !important;
  background-color: transparent !important;
}
[data-theme='dark'] .modal-footer .btn-outline-secondary:hover,
[data-theme='dark'] .modal-footer .btn-outline-secondary:focus,
[data-theme='dark'] .modal-footer .btn-outline-secondary:active {
  color: var(--bg-color) !important;
  background-color: #a0d6bc !important;
  border-color: #a0d6bc !important;
}
[data-theme='dark'] .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%) !important;
  opacity: 0.8 !important;
}
[data-theme='dark'] .btn-close:hover,
[data-theme='dark'] .btn-close:focus {
  opacity: 1 !important;
}
[data-theme='dark'] :not(pre) > code {
  color: white !important;
  background-color: #33473d !important;
}
[data-theme='dark'] .btn-success {
  background-color: #144416;
  border-color: #4caf50;
}
.card .border.rounded {
  transition: background-color 0.2s ease;
}
/* Shared surfaces and interactions */
body {
  background-color: var(--bg-color);
  color: var(--text-color);
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}
.navbar {
  background-color: var(--navbar-bg);
  transition: background-color 0.3s ease;
}
.navbar-light .navbar-nav .nav-link {
  color: var(--navbar-text);
}
.btn-primary,
.btn-outline-primary {
  --tblr-btn-hover-bg: var(--btn-hover-bg);
  --tblr-btn-hover-border-color: var(--btn-hover-bg);
  --tblr-btn-hover-color: var(--btn-hover-text);
  --tblr-btn-active-bg: var(--btn-active-bg);
  --tblr-btn-active-border-color: var(--btn-active-bg);
  --tblr-btn-active-color: var(--btn-active-text);
  --bs-btn-hover-bg: var(--btn-hover-bg);
  --bs-btn-hover-border-color: var(--btn-hover-bg);
  --bs-btn-hover-color: var(--btn-hover-text);
  --bs-btn-active-bg: var(--btn-active-bg);
  --bs-btn-active-border-color: var(--btn-active-bg);
  --bs-btn-active-color: var(--btn-active-text);
}
.btn-primary {
  --tblr-btn-disabled-bg: var(--primary-color);
  --tblr-btn-disabled-border-color: var(--primary-color);
  --tblr-btn-disabled-color: var(--btn-text);
  --bs-btn-disabled-bg: var(--primary-color);
  --bs-btn-disabled-border-color: var(--primary-color);
  --bs-btn-disabled-color: var(--btn-text);
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  color: var(--btn-text);
}
.btn-outline-primary {
  --tblr-btn-disabled-bg: transparent;
  --tblr-btn-disabled-border-color: var(--btn-outline-color);
  --tblr-btn-disabled-color: var(--btn-outline-color);
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: var(--btn-outline-color);
  --bs-btn-disabled-color: var(--btn-outline-color);
  background-color: transparent;
  border-color: var(--btn-outline-color);
  color: var(--btn-outline-color);
}
:is(.btn-primary, .btn-outline-primary):is(:hover, :focus-visible, .focus):not(:disabled):not(
    .disabled
  ) {
  background-color: var(--btn-hover-bg);
  border-color: var(--btn-hover-bg);
  color: var(--btn-hover-text);
}
:is(.btn-primary, .btn-outline-primary):is(:active, .active, .show):not(:disabled):not(.disabled),
.btn-check:checked + :is(.btn-primary, .btn-outline-primary) {
  background-color: var(--btn-active-bg);
  border-color: var(--btn-active-bg);
  color: var(--btn-active-text);
}
.btn-outline-leafy-green {
  color: var(--toggle-icon);
  border-color: var(--toggle-border);
  background-color: var(--toggle-bg);
}
.btn-outline-leafy-green:hover {
  color: var(--bg-color);
  background-color: var(--toggle-icon);
  border-color: var(--toggle-border);
}
.card {
  background-color: var(--card-bg);
  border-color: var(--card-border);
  transition:
    background-color 0.3s ease,
    border-color 0.3s ease;
}
a {
  color: var(--link-color);
  transition: color 0.3s ease;
}
a:hover,
.site-breadcrumbs a:hover {
  color: var(--link-hover-color);
}
#darkModeToggle {
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  border-radius: 0.25rem;
  transition: all 0.3s ease;
}
@media (max-width: 768px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
}
