/* Точечное осветление Bootswatch Darkly (подключается поверх bootstrap_darkly.min.css) */
:root {
  --bs-body-bg: #30353b;
  --bs-body-color: #e8eaed;
  --bs-emphasis-color: #f4f5f6;
  --bs-secondary-color: #b8bcc2;
  --bs-tertiary-color: #959aa3;
  --bs-secondary-bg: #32373f;
  --bs-tertiary-bg: #383e47;
  --bs-secondary: #4d535c;
  --bs-secondary-rgb: 77, 83, 92;
  --bs-dark: #353a42;
  --bs-dark-rgb: 53, 58, 66;
  --bs-gray-800: #353a42;
  --bs-gray-900: #30353b;
  --bs-border-color: #525a66;
  --bs-border-color-translucent: rgba(255, 255, 255, 0.16);
  --bs-form-control-bg: var(--bs-tertiary-bg);
  --bs-form-control-color: var(--bs-body-color);
  --bs-form-control-border-color: var(--bs-border-color);
  --bs-form-select-bg: var(--bs-tertiary-bg);
  --bs-form-select-color: var(--bs-body-color);
  --bs-form-select-border-color: var(--bs-border-color);
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23e8eaed' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

html,
body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

.card,
.modal-content,
.dropdown-menu,
.list-group-item {
  --bs-card-bg: var(--bs-secondary-bg);
  --bs-dropdown-bg: var(--bs-secondary-bg);
  --bs-modal-bg: var(--bs-secondary-bg);
  background-color: var(--bs-secondary-bg);
  border-color: var(--bs-border-color);
}

.table {
  --bs-table-bg: transparent;
  --bs-table-striped-bg: rgba(255, 255, 255, 0.04);
  --bs-table-hover-bg: rgba(255, 255, 255, 0.06);
  --bs-table-border-color: var(--bs-border-color);
}

.form-control,
.form-select,
select.form-control,
textarea.form-control,
input.form-control,
input[type="date"],
input[type="datetime-local"],
input[type="time"],
input[type="month"],
input[type="week"] {
  color-scheme: dark;
  background-color: var(--bs-tertiary-bg) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}

.form-select {
  background-image: var(--bs-form-select-bg-img) !important;
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
}

.form-select option,
select.form-control option,
select option {
  background-color: var(--bs-secondary-bg);
  color: var(--bs-body-color);
}

.form-control:focus,
.form-select:focus,
select.form-control:focus {
  background-color: var(--bs-tertiary-bg) !important;
  border-color: #5c6672 !important;
  color: var(--bs-body-color) !important;
  box-shadow: 0 0 0 0.25rem rgba(55, 90, 127, 0.25);
}

.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}

.input-group-text {
  background-color: var(--bs-secondary-bg);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

/* Select2 (Flask-Admin и другие enhanced select) */
.select2-container .select2-choice,
.select2-container .select2-choices,
.select2-search input,
.select2-drop,
.select2-dropdown,
.select2-container-multi .select2-choices,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  background-color: var(--bs-tertiary-bg) !important;
  background-image: none !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}

.select2-container .select2-choice > .select2-chosen,
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__rendered,
.select2-container-multi .select2-choices .select2-search-field input {
  color: var(--bs-body-color) !important;
}

.select2-results,
.select2-results .select2-result-label,
.select2-container--default .select2-results > .select2-results__options {
  background-color: var(--bs-secondary-bg) !important;
  color: var(--bs-body-color) !important;
}

.select2-results .select2-highlighted,
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--bs-primary) !important;
  color: #fff !important;
}

.select2-results .select2-no-results,
.select2-results .select2-searching,
.select2-results .select2-selection-limit,
.select2-container--default .select2-results__option--selected {
  background-color: var(--bs-tertiary-bg) !important;
  color: var(--bs-body-color) !important;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  background-color: var(--bs-tertiary-bg) !important;
  border-color: var(--bs-border-color) !important;
  color: var(--bs-body-color) !important;
}

.navbar-dark.bg-dark {
  background-color: var(--bs-dark) !important;
}

.page-link {
  background-color: var(--bs-secondary-bg);
  border-color: var(--bs-border-color);
  color: var(--bs-body-color);
}

.page-item.active .page-link {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}
