﻿ul.ulist, ul.ulist > li { list-style: none; padding: 0; margin: 0; }
vr {
  display: inline-block;
  align-self: stretch;
  width: .01em;
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
  margin: .1rem 0;
}
.cursor-pointer { cursor: pointer; }
.min-w-0 { min-width: 0; }
.min-w-1 { min-width: 74px; }
.min-w-2 { min-width: 120px; }
.min-w-3 { min-width: 160px; }

/* Reduce inputs shadow (e.g., email/password/etc) */
.selectplus-toggle:focus,
.form-check-input:focus,
.form-control:focus,
.btn:focus, .btn:active:focus,
.btn-link.nav-link:focus {
  box-shadow: 0 0 3px 1px rgba(var(--bs-primary-rgb), .25);
  border-color: rgba(var(--bs-primary-rgb), .35);
  outline: none;
}
.hx-select:focus-within .hx-visual,
.form-select:focus {
  box-shadow: 0 0 3px 1px rgba(var(--bs-primary-rgb), .25);
  outline: none;
  border-color: rgba(var(--bs-primary-rgb), .515);
}
.form-select.bi-caret-down {
  background-size: 17.5px 17.5px;
  background-position: right .7rem center;
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23888' d='M3.204 5h9.592L8 11.481 3.204 5z'/%3E%3C/svg%3E");
}
.form-control {
  box-shadow: none;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.form-floating > textarea.form-control {
  height: auto;
  resize: vertical;
}

/** #region::Native select – scrollbar styling (scrollable only) */

/* Firefox */
select[multiple],
select[size] {
  scrollbar-width: inherit;
  scrollbar-color: rgba(var(--bs-tertiary-color-rgb), .35) transparent;
}

  /* Chromium / WebKit */
  select[multiple]::-webkit-scrollbar-track,
  select[size]::-webkit-scrollbar-track {
    margin-block: .375rem;
  }

  /*select[multiple]::-webkit-scrollbar-thumb,*/
  select[size]::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background-color: rgba(var(--bs-tertiary-color-rgb), .35);
  }

/** #endregion::Native select – scrollbar styling (scrollable only) */

/* Adaptive button tone for light/dark themes */
[data-bs-theme="light"] .btn-light.border {
  background-color: var(--bs-light);
  color: var(--bs-body-color);
  border-color: var(--bs-border-color);
  transition: background-color .1s ease-in-out, color .15s ease-in-out;
}
[data-bs-theme="dark"] .btn-light.border {
  background-color: var(--bs-dark-bg-subtle);
  color: var(--bs-body-color);
  border-color: var(--bs-border-color);
  transition: background-color .1s ease-in-out, color .15s ease-in-out;
}
[data-bs-theme="light"] .btn-light.border:hover {
  background-color: var(--bs-tertiary-bg); /* fallback */
  --btn-light-bgcolor: color-mix(in srgb, var(--bs-body-color) 8%, var(--bs-light));
  background-color: var(--btn-light-bgcolor);
}
[data-bs-theme="dark"] .btn-light.border:hover {
  background-color: var(--bs-secondary-bg); /* fallback */
  --btn-light-bgcolor: color-mix(in srgb, var(--bs-body-color) 12%, var(--bs-dark-bg-subtle));
  background-color: var(--btn-light-bgcolor);
}

/* Override bootstrap checkbox theme */
.form-check-label { cursor: pointer; }
.form-check-input {
  cursor: pointer;
  transform: translateY(-1px);
  margin-right: 0rem;
  border-color: var(--bs-tertiary-color);
  height: 1rem;
  width: 1rem;
}

.fs-6 { font-size:1rem !important; }
.fs-7 { font-size:.875rem !important; }
.fs-8 { font-size:.75rem !important; }
.fs-9 { font-size:.65rem !important; }
