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;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

body.dark-mode {
  background-color: #121416;
  color: #e6e9ee;
}

body.dark-mode a {
  color: #9bc7ff;
}

body.dark-mode a:hover {
  color: #c4dcff;
}

body.dark-mode .navbar {
  background-color: #1b1f24 !important;
  border-bottom-color: #2a2f36 !important;
}

body.dark-mode .navbar .navbar-brand,
body.dark-mode .navbar .nav-link {
  color: #e6e9ee !important;
}

body.dark-mode .navbar-toggler {
  border-color: #2a2f36;
}

body.dark-mode .navbar-toggler-icon {
  filter: invert(1);
}

body.dark-mode .dropdown-menu {
  background-color: #1b1f24;
  border-color: #2a2f36;
}

body.dark-mode .dropdown-item {
  color: #e6e9ee;
}

body.dark-mode .dropdown-item:hover,
body.dark-mode .dropdown-item:focus {
  background-color: #2a2f36;
  color: #ffffff;
}

body.dark-mode .dropdown-divider {
  border-top-color: #2a2f36;
}

body.dark-mode .table {
  color: #e6e9ee;
}

body.dark-mode .table > :not(caption) > * > * {
  background-color: #15181d;
  color: #e6e9ee;
}

body.dark-mode .table-striped > tbody > tr:nth-of-type(odd) > * {
  color: #e6e9ee;
  background-color: #171a1f;
}

body.dark-mode .table-hover > tbody > tr:hover > * {
  color: #e6e9ee;
  background-color: #1d2229;
}

body.dark-mode .table-bordered,
body.dark-mode .table-bordered th,
body.dark-mode .table-bordered td {
  border-color: #2a2f36;
}

body.dark-mode .form-control,
body.dark-mode .form-select,
body.dark-mode .form-check-input,
body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus {
  background-color: #1b1f24;
  color: #e6e9ee;
  border-color: #2a2f36;
}

body.dark-mode .form-check-input:checked {
  background-color: #2b5ea8;
  border-color: #2b5ea8;
}

body.dark-mode .form-check-label {
  color: #e6e9ee;
}

body.dark-mode .form-control::placeholder {
  color: #9aa3ad;
}

body.dark-mode .btn-primary {
  background-color: #2b5ea8;
  border-color: #2b5ea8;
}

body.dark-mode .btn-primary:hover {
  background-color: #3470c6;
  border-color: #3470c6;
}

body.dark-mode .btn-outline-secondary {
  color: #e6e9ee;
  border-color: #5b6370;
}

body.dark-mode .btn-outline-secondary:hover {
  background-color: #2a2f36;
  border-color: #2a2f36;
  color: #ffffff;
}

body.dark-mode .btn-outline-primary {
  color: #9bc7ff;
  border-color: #3a5f90;
}

body.dark-mode .btn-outline-primary:hover {
  background-color: #2a4e7a;
  border-color: #2a4e7a;
  color: #ffffff;
}

body.dark-mode .btn-success {
  background-color: #1f6b3b;
  border-color: #1f6b3b;
}

body.dark-mode .btn-success:hover {
  background-color: #2a8a4c;
  border-color: #2a8a4c;
}

body.dark-mode .alert-success {
  background-color: #16361f;
  border-color: #1f4a2a;
  color: #d3f1dc;
}

body.dark-mode .alert-danger {
  background-color: #3b1a1a;
  border-color: #4a2424;
  color: #f4d1d1;
}

body.dark-mode .alert-warning {
  background-color: #3a2a12;
  border-color: #4a3518;
  color: #f3dec0;
}

body.dark-mode .alert-info {
  background-color: #122b3a;
  border-color: #1a3a4a;
  color: #c9e6f3;
}

body.dark-mode .border-top,
body.dark-mode .border-bottom,
body.dark-mode .border {
  border-color: #2a2f36 !important;
}

body.dark-mode .text-muted {
  color: #9aa3ad !important;
}

body.dark-mode .card {
  background-color: #1b1f24;
  border-color: #2a2f36;
  color: #e6e9ee;
}

body.dark-mode .list-group-item {
  background-color: #1b1f24;
  border-color: #2a2f36;
  color: #e6e9ee;
}

body.dark-mode .list-group-item-action:hover,
body.dark-mode .list-group-item-action:focus {
  background-color: #232832;
  color: #ffffff;
}

body.dark-mode .pagination .page-link {
  background-color: #1b1f24;
  border-color: #2a2f36;
  color: #9bc7ff;
}

body.dark-mode .pagination .page-link:hover {
  background-color: #232832;
  border-color: #2a2f36;
  color: #ffffff;
}

body.dark-mode .page-item.active .page-link {
  background-color: #2b5ea8;
  border-color: #2b5ea8;
  color: #ffffff;
}

body.dark-mode .breadcrumb,
body.dark-mode .breadcrumb-item + .breadcrumb-item::before {
  color: #9aa3ad;
}

body.dark-mode .modal-content {
  background-color: #1b1f24;
  border-color: #2a2f36;
  color: #e6e9ee;
}

body.dark-mode .modal-header,
body.dark-mode .modal-footer {
  border-color: #2a2f36;
}

body.dark-mode .footer {
  background-color: #121416;
}

.sx-help-tooltip {
  display: inline-block;
  margin-left: 0.25rem;
  position: relative;
  vertical-align: middle;
}

.sx-help-tooltip__trigger {
  background: none;
  border: 0;
  color: #0d6efd;
  cursor: pointer;
  font: inherit;
  line-height: 1;
  margin: 0;
  padding: 0;
  text-decoration: underline;
  text-decoration-style: dotted;
}

.sx-help-tooltip__trigger:hover {
  color: #0a58ca;
}

.sx-help-tooltip__trigger:focus-visible {
  outline: 2px solid #0d6efd;
  outline-offset: 2px;
}

.sx-help-tooltip__popup {
  background-color: #ffffff;
  border: 1px solid #ced4da;
  border-radius: 0.5rem;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  color: #212529;
  left: 0;
  max-width: min(22rem, 80vw);
  min-width: 14rem;
  padding: 0.65rem 0.75rem;
  position: absolute;
  top: calc(100% + 0.4rem);
  z-index: 1080;
}

.sx-help-tooltip__title {
  display: block;
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.sx-help-tooltip__body {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 0.55rem;
  white-space: pre-line;
}

.sx-help-tooltip__close {
  background-color: #ffffff;
  border: 1px solid #6c757d;
  border-radius: 0.3rem;
  color: #212529;
  cursor: pointer;
  font-size: 0.85rem;
  line-height: 1.2;
  padding: 0.2rem 0.55rem;
}

.sx-help-tooltip__close:hover {
  background-color: #f8f9fa;
}

body.dark-mode .sx-help-tooltip__trigger {
  color: #9bc7ff;
}

body.dark-mode .sx-help-tooltip__trigger:hover {
  color: #c4dcff;
}

body.dark-mode .sx-help-tooltip__trigger:focus-visible {
  outline-color: #9bc7ff;
}

body.dark-mode .sx-help-tooltip__popup {
  background-color: #1b1f24;
  border-color: #2a2f36;
  box-shadow: 0 0.6rem 1rem rgba(0, 0, 0, 0.45);
  color: #e6e9ee;
}

body.dark-mode .sx-help-tooltip__close {
  background-color: #1b1f24;
  border-color: #5b6370;
  color: #e6e9ee;
}

body.dark-mode .sx-help-tooltip__close:hover {
  background-color: #2a2f36;
}
