/* Generated Bootstrap 5 Customizations */
/* Generated on: 2026-06-20 08:12:46 by Dan Hoover */

:root {
  /* Userspice */
  --bs-us-menu-custom-bg: #0a2530;
  --bs-us-menu-custom-text: #cfe6ef;
  --bs-us-menu-custom-hover-bg: #143744;
  --bs-us-menu-custom-hover-text: #ffffff;
  --bs-us-menu-custom-active-bg: #0a7ca8;
  --bs-us-menu-custom-active-text: #ffffff;
  --bs-us-menu-custom-divider: #143744;
  --bs-us-menu-custom-submenu-border: #143744;

  /* Colors_primary */
  --bs-primary: #0a7ca8;
  --bs-primary-hover: #086485;
  --bs-primary-text-emphasis: #05435c;
  --bs-primary-bg-subtle: #d6eefb;
  --bs-primary-border-subtle: #9ad8f4;

  /* Colors_secondary */
  --bs-secondary: #586f78;
  --bs-secondary-hover: #46595f;
  --bs-secondary-text-emphasis: #2b383d;
  --bs-secondary-bg-subtle: #e4e9eb;
  --bs-secondary-border-subtle: #c2cdd1;

  /* Colors_success */
  --bs-success: #157f57;
  --bs-success-hover: #116648;
  --bs-success-text-emphasis: #0a4530;
  --bs-success-bg-subtle: #d4ece1;
  --bs-success-border-subtle: #98d3b6;

  /* Colors_info */
  --bs-info: #0277b6;
  --bs-info-hover: #02628f;
  --bs-info-text-emphasis: #024a6e;
  --bs-info-bg-subtle: #d3ecf8;
  --bs-info-border-subtle: #98d3ef;

  /* Colors_warning */
  --bs-warning: #b45309;
  --bs-warning-hover: #934307;
  --bs-warning-text-emphasis: #5c2b05;
  --bs-warning-bg-subtle: #f6e6d4;
  --bs-warning-border-subtle: #e3bd92;

  /* Colors_danger */
  --bs-danger: #c62443;
  --bs-danger-hover: #a31636;
  --bs-danger-text-emphasis: #6b0a22;
  --bs-danger-bg-subtle: #f8d7de;
  --bs-danger-border-subtle: #ec9caf;

  /* Colors_light_dark */
  --bs-light: #eef5f8;
  --bs-light-hover: #dde9ee;
  --bs-light-text-emphasis: #3b484d;
  --bs-light-bg-subtle: #f5fbfe;
  --bs-light-border-subtle: #dde9ee;
  --bs-dark: #0a2530;
  --bs-dark-hover: #143744;
  --bs-dark-text-emphasis: #061319;
  --bs-dark-bg-subtle: #b6c7ce;
  --bs-dark-border-subtle: #5b727b;

  /* Colors_general */
  --bs-body-color: #0e2733;
  --bs-body-bg: #f5fbfe;
  --bs-border-color: #d3e6ee;
  --bs-form-control-bg: #ffffff;
  --bs-secondary-color: #52666e;
  --bs-tertiary-color: #677e87;
  --bs-emphasis-color: #06202a;
  --bs-secondary-bg: #e7eff2;
  --bs-tertiary-bg: #f0f7fa;

  /* Typography */
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-font-size-base: 1rem;
  --bs-font-weight-normal: 400;
  --bs-font-weight-bold: 700;
  --bs-line-height-base: 1.5;
  --bs-headings-font-family: var(--bs-font-sans-serif);
  --bs-headings-font-weight: 500;
  --bs-headings-line-height: 1.2;
  --bs-headings-color: var(--bs-dark);
  --bs-h1-font-size: calc(1.375rem + 1.5vw);
  --bs-h2-font-size: calc(1.325rem + 0.9vw);
  --bs-h3-font-size: calc(1.3rem + 0.6vw);
  --bs-h4-font-size: calc(1.275rem + 0.3vw);
  --bs-h5-font-size: 1.25rem;
  --bs-h6-font-size: 1rem;

  /* Components */
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-2xl: 2rem;
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);

  /* Cards */
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-box-shadow: none;
  --bs-card-cap-bg: rgba(0, 0, 0, 0.03);

  /* Forms */
  --bs-input-bg: var(--bs-body-bg);
  --bs-input-color: var(--bs-body-color);
  --bs-input-border-color: var(--bs-border-color);
  --bs-input-focus-border-color: var(--bs-primary);
  --bs-input-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
  --bs-input-focus-bg: var(--bs-form-control-bg);
  --bs-input-focus-color: var(--bs-body-color);

  /* Navbars */
  --bs-navbar-light-color: rgba(0, 0, 0, 0.55);
  --bs-navbar-light-hover-color: rgba(0, 0, 0, 0.7);
  --bs-navbar-dark-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-dark-hover-color: rgba(255, 255, 255, 0.75);

  --bs-primary-rgb: 10, 124, 168;
  --bs-secondary-rgb: 88, 111, 120;
  --bs-success-rgb: 21, 127, 87;
  --bs-info-rgb: 2, 119, 182;
  --bs-warning-rgb: 180, 83, 9;
  --bs-danger-rgb: 198, 36, 67;
  --bs-light-rgb: 238, 245, 248;
  --bs-dark-rgb: 10, 37, 48;
}

ul.us_menu.custom, ul.us_menu.custom .us_sub-menu li, ul.us_menu.custom ul.us_sub-menu {
  background-color: var(--bs-us-menu-custom-bg, #3a5e8c);
}

ul.us_menu.custom a, ul.us_menu.custom .us_menu_mobile_control {
  color: var(--bs-us-menu-custom-text, rgba(255, 255, 255, 0.85));
}

ul.us_menu.custom li:hover {
  background-color: var(--bs-us-menu-custom-hover-bg, #4a6e9c);
}

ul.us_menu.custom li:hover > a {
  background-color: var(--bs-us-menu-custom-hover-bg, #4a6e9c);
  color: var(--bs-us-menu-custom-hover-text, #ffffff);
}

ul.us_menu.custom li.active-style > a {
  background-color: var(--bs-us-menu-custom-active-bg, #264e7c);
  color: var(--bs-us-menu-custom-active-text, #ffffff);
}

ul.us_menu.custom .dropdown-divider {
  border-color: var(--bs-us-menu-custom-divider, rgba(255, 255, 255, 0.2));
}

ul.us_menu.custom .us_sub-menu {
  border-color: var(--bs-us-menu-custom-submenu-border, #2d5580);
}

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

.text-primary {
  color: var(--bs-primary) !important;
}

.border-primary {
  border-color: var(--bs-primary) !important;
}

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

.text-secondary {
  color: var(--bs-secondary) !important;
}

.border-secondary {
  border-color: var(--bs-secondary) !important;
}

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

.text-success {
  color: var(--bs-success) !important;
}

.border-success {
  border-color: var(--bs-success) !important;
}

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

.text-info {
  color: var(--bs-info) !important;
}

.border-info {
  border-color: var(--bs-info) !important;
}

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

.text-warning {
  color: var(--bs-warning) !important;
}

.border-warning {
  border-color: var(--bs-warning) !important;
}

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

.text-danger {
  color: var(--bs-danger) !important;
}

.border-danger {
  border-color: var(--bs-danger) !important;
}

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

.text-light {
  color: var(--bs-light) !important;
}

.border-light {
  border-color: var(--bs-light) !important;
}

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

.text-dark {
  color: var(--bs-dark) !important;
}

.border-dark {
  border-color: var(--bs-dark) !important;
}

body {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  font-family: var(--bs-font-sans-serif);
  font-size: var(--bs-font-size-base, 1rem);
  font-weight: var(--bs-font-weight-normal, 400);
  line-height: var(--bs-line-height-base, 1.5);
}

.form-control, .form-select, input.form-control, select.form-select, textarea.form-control {
  background-color: var(--bs-form-control-bg, var(--bs-body-bg)) !important;
}

.form-check-input:not(:checked) {
  background-color: var(--bs-input-bg, var(--bs-body-bg)) !important;
}

code, pre, kbd, .font-monospace {
  font-family: var(--bs-font-monospace);
}

strong, b, .fw-bold {
  font-weight: var(--bs-font-weight-bold, 700);
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--bs-headings-font-family, var(--bs-font-sans-serif));
  font-weight: var(--bs-headings-font-weight, 500);
  line-height: var(--bs-headings-line-height, 1.2);
  color: var(--bs-headings-color, var(--bs-body-color));
}

h1, .h1 {
  font-size: var(--bs-h1-font-size, calc(1.375rem + 1.5vw));
}

h2, .h2 {
  font-size: var(--bs-h2-font-size, calc(1.325rem + 0.9vw));
}

h3, .h3 {
  font-size: var(--bs-h3-font-size, calc(1.3rem + 0.6vw));
}

h4, .h4 {
  font-size: var(--bs-h4-font-size, calc(1.275rem + 0.3vw));
}

h5, .h5 {
  font-size: var(--bs-h5-font-size, 1.25rem);
}

h6, .h6 {
  font-size: var(--bs-h6-font-size, 1rem);
}

.card {
  border-radius: var(--bs-card-border-radius);
  border-color: var(--bs-card-border-color);
  box-shadow: var(--bs-card-box-shadow);
}

.card-header {
  background-color: var(--bs-card-cap-bg);
}

.form-control, .form-select {
  background-color: var(--bs-input-bg, var(--bs-body-bg)) !important;
}

.form-control {
  color: var(--bs-input-color, var(--bs-body-color));
}

.form-control, .form-select, .form-check-input {
  border-color: var(--bs-input-border-color, var(--bs-border-color));
}

.form-control:focus, .form-select:focus, .form-check-input:focus {
  border-color: var(--bs-input-focus-border-color);
  box-shadow: var(--bs-input-focus-box-shadow);
}

.form-control:focus, .form-select:focus, .form-check-input:focus:not(:checked) {
  background-color: var(--bs-input-focus-bg, var(--bs-form-control-bg)) !important;
}

.form-check-input:checked:focus {
  background-color: var(--bs-primary) !important;
}

.form-control:focus, .form-select:focus {
  color: var(--bs-input-focus-color, var(--bs-body-color)) !important;
}

.navbar-light .navbar-nav .nav-link {
  color: var(--bs-navbar-light-color);
}

.navbar-light .navbar-nav .nav-link:hover {
  color: var(--bs-navbar-light-hover-color);
}

.navbar-dark .navbar-nav .nav-link {
  color: var(--bs-navbar-dark-color);
}

.navbar-dark .navbar-nav .nav-link:hover {
  color: var(--bs-navbar-dark-hover-color);
}

.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-hover-border-color: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-active-border-color: var(--bs-primary-hover, var(--bs-primary));
}

.btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-hover-border-color: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-active-border-color: var(--bs-secondary-hover, var(--bs-secondary));
}

.btn-success {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-success);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-success-hover, var(--bs-success));
  --bs-btn-hover-border-color: var(--bs-success-hover, var(--bs-success));
  --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-success-hover, var(--bs-success));
  --bs-btn-active-border-color: var(--bs-success-hover, var(--bs-success));
}

.btn-info {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-info);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-info-hover, var(--bs-info));
  --bs-btn-hover-border-color: var(--bs-info-hover, var(--bs-info));
  --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-info-hover, var(--bs-info));
  --bs-btn-active-border-color: var(--bs-info-hover, var(--bs-info));
}

.btn-warning {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-warning);
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-hover-border-color: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-active-border-color: var(--bs-warning-hover, var(--bs-warning));
}

.btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-hover-border-color: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-active-border-color: var(--bs-danger-hover, var(--bs-danger));
}

.btn-light {
  --bs-btn-color: var(--bs-dark);
  --bs-btn-bg: var(--bs-light);
  --bs-btn-border-color: var(--bs-light);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-light-hover, #d3d4d5);
  --bs-btn-hover-border-color: var(--bs-light-hover, var(--bs-light));
  --bs-btn-focus-shadow-rgb: var(--bs-light-rgb);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: var(--bs-light-hover, var(--bs-light));
  --bs-btn-active-border-color: var(--bs-light-hover, var(--bs-light));
}

.btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-dark);
  --bs-btn-border-color: var(--bs-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-hover-border-color: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-focus-shadow-rgb: var(--bs-dark-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-active-border-color: var(--bs-dark-hover, var(--bs-dark));
}

.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-hover-border-color: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-active-border-color: var(--bs-primary-hover, var(--bs-primary));
}

.btn-outline-secondary {
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-hover-border-color: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-active-border-color: var(--bs-secondary-hover, var(--bs-secondary));
}

.btn-outline-success {
  --bs-btn-color: var(--bs-success);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-success-hover, var(--bs-success));
  --bs-btn-hover-border-color: var(--bs-success-hover, var(--bs-success));
  --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-success-hover, var(--bs-success));
  --bs-btn-active-border-color: var(--bs-success-hover, var(--bs-success));
}

.btn-outline-info {
  --bs-btn-color: var(--bs-info);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-info-hover, var(--bs-info));
  --bs-btn-hover-border-color: var(--bs-info-hover, var(--bs-info));
  --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-info-hover, var(--bs-info));
  --bs-btn-active-border-color: var(--bs-info-hover, var(--bs-info));
}

.btn-outline-warning {
  --bs-btn-color: var(--bs-warning);
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-hover-border-color: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-active-border-color: var(--bs-warning-hover, var(--bs-warning));
}

.btn-outline-danger {
  --bs-btn-color: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-hover-border-color: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-active-border-color: var(--bs-danger-hover, var(--bs-danger));
}

.btn-outline-light {
  --bs-btn-color: var(--bs-light);
  --bs-btn-border-color: var(--bs-light);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-light-hover, var(--bs-light));
  --bs-btn-hover-border-color: var(--bs-light-hover, var(--bs-light));
  --bs-btn-focus-shadow-rgb: var(--bs-light-rgb);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: var(--bs-light-hover, var(--bs-light));
  --bs-btn-active-border-color: var(--bs-light-hover, var(--bs-light));
}

.btn-outline-dark {
  --bs-btn-color: var(--bs-dark);
  --bs-btn-border-color: var(--bs-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-hover-border-color: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-focus-shadow-rgb: var(--bs-dark-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-active-border-color: var(--bs-dark-hover, var(--bs-dark));
}

.alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis, var(--bs-primary));
  --bs-alert-bg: var(--bs-primary-bg-subtle, rgba(var(--bs-primary-rgb), 0.1));
  --bs-alert-border-color: var(--bs-primary-border-subtle, rgba(var(--bs-primary-rgb), 0.2));
  --bs-alert-link-color: var(--bs-primary-text-emphasis, var(--bs-primary));
}

.alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis, var(--bs-secondary));
  --bs-alert-bg: var(--bs-secondary-bg-subtle, rgba(var(--bs-secondary-rgb), 0.1));
  --bs-alert-border-color: var(--bs-secondary-border-subtle, rgba(var(--bs-secondary-rgb), 0.2));
  --bs-alert-link-color: var(--bs-secondary-text-emphasis, var(--bs-secondary));
}

.alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis, var(--bs-success));
  --bs-alert-bg: var(--bs-success-bg-subtle, rgba(var(--bs-success-rgb), 0.1));
  --bs-alert-border-color: var(--bs-success-border-subtle, rgba(var(--bs-success-rgb), 0.2));
  --bs-alert-link-color: var(--bs-success-text-emphasis, var(--bs-success));
}

.alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis, var(--bs-info));
  --bs-alert-bg: var(--bs-info-bg-subtle, rgba(var(--bs-info-rgb), 0.1));
  --bs-alert-border-color: var(--bs-info-border-subtle, rgba(var(--bs-info-rgb), 0.2));
  --bs-alert-link-color: var(--bs-info-text-emphasis, var(--bs-info));
}

.alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis, var(--bs-warning));
  --bs-alert-bg: var(--bs-warning-bg-subtle, rgba(var(--bs-warning-rgb), 0.1));
  --bs-alert-border-color: var(--bs-warning-border-subtle, rgba(var(--bs-warning-rgb), 0.2));
  --bs-alert-link-color: var(--bs-warning-text-emphasis, var(--bs-warning));
}

.alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis, var(--bs-danger));
  --bs-alert-bg: var(--bs-danger-bg-subtle, rgba(var(--bs-danger-rgb), 0.1));
  --bs-alert-border-color: var(--bs-danger-border-subtle, rgba(var(--bs-danger-rgb), 0.2));
  --bs-alert-link-color: var(--bs-danger-text-emphasis, var(--bs-danger));
}

.alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis, var(--bs-light));
  --bs-alert-bg: var(--bs-light-bg-subtle, rgba(var(--bs-light-rgb), 0.1));
  --bs-alert-border-color: var(--bs-light-border-subtle, rgba(var(--bs-light-rgb), 0.2));
  --bs-alert-link-color: var(--bs-light-text-emphasis, var(--bs-light));
}

.alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis, var(--bs-dark));
  --bs-alert-bg: var(--bs-dark-bg-subtle, rgba(var(--bs-dark-rgb), 0.1));
  --bs-alert-border-color: var(--bs-dark-border-subtle, rgba(var(--bs-dark-rgb), 0.2));
  --bs-alert-link-color: var(--bs-dark-text-emphasis, var(--bs-dark));
}

.badge.bg-primary {
  background-color: var(--bs-primary) !important;
  color: #fff !important;
}

.badge.bg-secondary {
  background-color: var(--bs-secondary) !important;
  color: #fff !important;
}

.badge.bg-success {
  background-color: var(--bs-success) !important;
  color: #fff !important;
}

.badge.bg-info {
  background-color: var(--bs-info) !important;
  color: #fff !important;
}

.badge.bg-warning {
  background-color: var(--bs-warning) !important;
  color: #fff !important;
}

.badge.bg-danger {
  background-color: var(--bs-danger) !important;
  color: #fff !important;
}

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

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

.list-group-item-primary {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.list-group-item-secondary {
  color: var(--bs-secondary);
  background-color: rgba(var(--bs-secondary-rgb), 0.1);
}

.list-group-item-success {
  color: var(--bs-success);
  background-color: rgba(var(--bs-success-rgb), 0.1);
}

.list-group-item-info {
  color: var(--bs-info);
  background-color: rgba(var(--bs-info-rgb), 0.1);
}

.list-group-item-warning {
  color: var(--bs-warning);
  background-color: rgba(var(--bs-warning-rgb), 0.1);
}

.list-group-item-danger {
  color: var(--bs-danger);
  background-color: rgba(var(--bs-danger-rgb), 0.1);
}

.list-group-item-light {
  color: var(--bs-light);
  background-color: rgba(var(--bs-light-rgb), 0.1);
}

.list-group-item-dark {
  color: var(--bs-dark);
  background-color: rgba(var(--bs-dark-rgb), 0.1);
}

.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.2);
}

.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {
  color: var(--bs-secondary);
  background-color: rgba(var(--bs-secondary-rgb), 0.2);
}

.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {
  color: var(--bs-success);
  background-color: rgba(var(--bs-success-rgb), 0.2);
}

.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {
  color: var(--bs-info);
  background-color: rgba(var(--bs-info-rgb), 0.2);
}

.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {
  color: var(--bs-warning);
  background-color: rgba(var(--bs-warning-rgb), 0.2);
}

.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {
  color: var(--bs-danger);
  background-color: rgba(var(--bs-danger-rgb), 0.2);
}

.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {
  color: var(--bs-light);
  background-color: rgba(var(--bs-light-rgb), 0.2);
}

.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {
  color: var(--bs-dark);
  background-color: rgba(var(--bs-dark-rgb), 0.2);
}

.bg-primary-subtle {
  background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
}

.bg-secondary-subtle {
  background-color: rgba(var(--bs-secondary-rgb), 0.1) !important;
}

.bg-success-subtle {
  background-color: rgba(var(--bs-success-rgb), 0.1) !important;
}

.bg-info-subtle {
  background-color: rgba(var(--bs-info-rgb), 0.1) !important;
}

.bg-warning-subtle {
  background-color: rgba(var(--bs-warning-rgb), 0.1) !important;
}

.bg-danger-subtle {
  background-color: rgba(var(--bs-danger-rgb), 0.1) !important;
}

.bg-light-subtle {
  background-color: rgba(var(--bs-light-rgb), 0.1) !important;
}

.bg-dark-subtle {
  background-color: rgba(var(--bs-dark-rgb), 0.1) !important;
}

.bg-primary.card, .card.border-primary .card-header {
  background-color: var(--bs-primary) !important;
  color: #fff;
}

.bg-secondary.card, .card.border-secondary .card-header {
  background-color: var(--bs-secondary) !important;
  color: #fff;
}

.bg-success.card, .card.border-success .card-header {
  background-color: var(--bs-success) !important;
  color: #fff;
}

.bg-info.card, .card.border-info .card-header {
  background-color: var(--bs-info) !important;
  color: #fff;
}

.bg-warning.card, .card.border-warning .card-header {
  background-color: var(--bs-warning) !important;
  color: #fff;
}

.bg-danger.card, .card.border-danger .card-header {
  background-color: var(--bs-danger) !important;
  color: #fff;
}

.bg-light.card, .card.border-light .card-header {
  background-color: var(--bs-light) !important;
  color: var(--bs-dark);
}

.bg-dark.card, .card.border-dark .card-header {
  background-color: var(--bs-dark) !important;
  color: #fff;
}

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

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

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

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

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

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

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

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


/* Custom CSS */
/* === BEEPER LIGHT === VirtualBeeper brand, deep azure + bright cyan accents */
.card {
  border: 1px solid #d3e6ee;
  box-shadow: 0 1px 2px rgba(10, 37, 48, 0.05), 0 1px 3px rgba(10, 37, 48, 0.06);
  background-color: #ffffff;
}
.card-header {
  background-color: #eef5f8;
  border-bottom: 1px solid #d3e6ee;
  font-weight: 600;
}
.btn-primary { font-weight: 500; }
.form-control:focus, .form-select:focus {
  border-color: #0a7ca8 !important;
  box-shadow: 0 0 0 3px rgba(64, 200, 248, 0.30) !important;
}
.table {
  --bs-table-border-color: #d3e6ee;
  --bs-table-striped-bg: #eef5f8;
}
.navbar { box-shadow: 0 1px 3px rgba(10, 37, 48, 0.07); }
a:not(.btn):not(.nav-link) { color: #0a7ca8; }
a:not(.btn):not(.nav-link):hover { color: #086485; }

/* Tab strips use Bootstrap's stock link blue by default, which is too light on
   the soft page background — colour inactive tabs with the brand instead. */
.nav-tabs .nav-link:not(.active), .nav-pills .nav-link:not(.active) { color: var(--bs-primary); }
.nav-tabs .nav-link:not(.active):hover { color: var(--bs-primary-hover); }


/* ===== Dark mode (preset: beeper_dark) ===== */

[data-bs-theme="dark"] {
  /* Userspice */
  --bs-us-menu-custom-bg: #061b24;
  --bs-us-menu-custom-text: #cfe6ef;
  --bs-us-menu-custom-hover-bg: #143744;
  --bs-us-menu-custom-hover-text: #ffffff;
  --bs-us-menu-custom-active-bg: #0a7ca8;
  --bs-us-menu-custom-active-text: #ffffff;
  --bs-us-menu-custom-divider: #143744;
  --bs-us-menu-custom-submenu-border: #143744;

  /* Colors_primary */
  --bs-primary: #0a7ca8;
  --bs-primary-hover: #086485;
  --bs-primary-text-emphasis: #7ddcfb;
  --bs-primary-bg-subtle: #052a38;
  --bs-primary-border-subtle: #086485;

  /* Colors_secondary */
  --bs-secondary: #5c747e;
  --bs-secondary-hover: #4a6168;
  --bs-secondary-text-emphasis: #b3c6cd;
  --bs-secondary-bg-subtle: #182c34;
  --bs-secondary-border-subtle: #46595f;

  /* Colors_success */
  --bs-success: #1f9f6e;
  --bs-success-hover: #18855c;
  --bs-success-text-emphasis: #5eead4;
  --bs-success-bg-subtle: #042f24;
  --bs-success-border-subtle: #11784f;

  /* Colors_info */
  --bs-info: #2aa3e0;
  --bs-info-hover: #1f8cc4;
  --bs-info-text-emphasis: #7cc4ec;
  --bs-info-bg-subtle: #04293b;
  --bs-info-border-subtle: #026da3;

  /* Colors_warning */
  --bs-warning: #d6790f;
  --bs-warning-hover: #b4640b;
  --bs-warning-text-emphasis: #f5c073;
  --bs-warning-bg-subtle: #2e1804;
  --bs-warning-border-subtle: #934307;

  /* Colors_danger */
  --bs-danger: #d62a4d;
  --bs-danger-hover: #c62443;
  --bs-danger-text-emphasis: #f0809b;
  --bs-danger-bg-subtle: #350611;
  --bs-danger-border-subtle: #9c0f31;

  /* Colors_light_dark */
  --bs-light: #eef5f8;
  --bs-light-hover: #dde9ee;
  --bs-light-text-emphasis: #eef5f8;
  --bs-light-bg-subtle: #1d3a45;
  --bs-light-border-subtle: #2d5360;
  --bs-dark: #0a2530;
  --bs-dark-hover: #143744;
  --bs-dark-text-emphasis: #cfe6ef;
  --bs-dark-bg-subtle: #081f29;
  --bs-dark-border-subtle: #1d3a45;

  /* Colors_general */
  --bs-body-color: #cfe8f2;
  --bs-body-bg: #07222e;
  --bs-border-color: #1c3c47;
  --bs-form-control-bg: #0c2c3a;
  --bs-secondary-color: #8aa6af;
  --bs-tertiary-color: #5d7b84;
  --bs-emphasis-color: #eaf6fb;
  --bs-secondary-bg: #0c2c3a;
  --bs-tertiary-bg: #0a2731;

  /* Typography */
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --bs-font-size-base: 1rem;
  --bs-font-weight-normal: 400;
  --bs-font-weight-bold: 700;
  --bs-line-height-base: 1.5;
  --bs-headings-font-family: var(--bs-font-sans-serif);
  --bs-headings-font-weight: 500;
  --bs-headings-line-height: 1.2;
  --bs-headings-color: #eaf6fb;
  --bs-h1-font-size: calc(1.375rem + 1.5vw);
  --bs-h2-font-size: calc(1.325rem + 0.9vw);
  --bs-h3-font-size: calc(1.3rem + 0.6vw);
  --bs-h4-font-size: calc(1.275rem + 0.3vw);
  --bs-h5-font-size: 1.25rem;
  --bs-h6-font-size: 1rem;

  /* Components */
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-2xl: 2rem;
  --bs-border-radius-pill: 50rem;
  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);

  /* Cards */
  --bs-card-border-radius: var(--bs-border-radius);
  --bs-card-border-color: var(--bs-border-color);
  --bs-card-box-shadow: none;
  --bs-card-cap-bg: rgba(0, 0, 0, 0.03);

  /* Forms */
  --bs-input-bg: var(--bs-body-bg);
  --bs-input-color: var(--bs-body-color);
  --bs-input-border-color: var(--bs-border-color);
  --bs-input-focus-border-color: var(--bs-primary);
  --bs-input-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb), 0.25);
  --bs-input-focus-bg: var(--bs-form-control-bg);
  --bs-input-focus-color: var(--bs-body-color);

  /* Navbars */
  --bs-navbar-light-color: rgba(0, 0, 0, 0.55);
  --bs-navbar-light-hover-color: rgba(0, 0, 0, 0.7);
  --bs-navbar-dark-color: rgba(255, 255, 255, 0.55);
  --bs-navbar-dark-hover-color: rgba(255, 255, 255, 0.75);

  --bs-primary-rgb: 10, 124, 168;
  --bs-secondary-rgb: 92, 116, 126;
  --bs-success-rgb: 31, 159, 110;
  --bs-info-rgb: 42, 163, 224;
  --bs-warning-rgb: 214, 121, 15;
  --bs-danger-rgb: 214, 42, 77;
  --bs-light-rgb: 238, 245, 248;
  --bs-dark-rgb: 10, 37, 48;
}

[data-bs-theme="dark"] ul.us_menu.custom, [data-bs-theme="dark"] ul.us_menu.custom .us_sub-menu li, [data-bs-theme="dark"] ul.us_menu.custom ul.us_sub-menu {
  background-color: var(--bs-us-menu-custom-bg, #3a5e8c);
}

[data-bs-theme="dark"] ul.us_menu.custom a, [data-bs-theme="dark"] ul.us_menu.custom .us_menu_mobile_control {
  color: var(--bs-us-menu-custom-text, rgba(255, 255, 255, 0.85));
}

[data-bs-theme="dark"] ul.us_menu.custom li:hover {
  background-color: var(--bs-us-menu-custom-hover-bg, #4a6e9c);
}

[data-bs-theme="dark"] ul.us_menu.custom li:hover > a {
  background-color: var(--bs-us-menu-custom-hover-bg, #4a6e9c);
  color: var(--bs-us-menu-custom-hover-text, #ffffff);
}

[data-bs-theme="dark"] ul.us_menu.custom li.active-style > a {
  background-color: var(--bs-us-menu-custom-active-bg, #264e7c);
  color: var(--bs-us-menu-custom-active-text, #ffffff);
}

[data-bs-theme="dark"] ul.us_menu.custom .dropdown-divider {
  border-color: var(--bs-us-menu-custom-divider, rgba(255, 255, 255, 0.2));
}

[data-bs-theme="dark"] ul.us_menu.custom .us_sub-menu {
  border-color: var(--bs-us-menu-custom-submenu-border, #2d5580);
}

[data-bs-theme="dark"] .bg-primary {
  background-color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] .text-primary {
  color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] .border-primary {
  border-color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] .bg-secondary {
  background-color: var(--bs-secondary) !important;
}

[data-bs-theme="dark"] .text-secondary {
  color: var(--bs-secondary) !important;
}

[data-bs-theme="dark"] .border-secondary {
  border-color: var(--bs-secondary) !important;
}

[data-bs-theme="dark"] .bg-success {
  background-color: var(--bs-success) !important;
}

[data-bs-theme="dark"] .text-success {
  color: var(--bs-success) !important;
}

[data-bs-theme="dark"] .border-success {
  border-color: var(--bs-success) !important;
}

[data-bs-theme="dark"] .bg-info {
  background-color: var(--bs-info) !important;
}

[data-bs-theme="dark"] .text-info {
  color: var(--bs-info) !important;
}

[data-bs-theme="dark"] .border-info {
  border-color: var(--bs-info) !important;
}

[data-bs-theme="dark"] .bg-warning {
  background-color: var(--bs-warning) !important;
}

[data-bs-theme="dark"] .text-warning {
  color: var(--bs-warning) !important;
}

[data-bs-theme="dark"] .border-warning {
  border-color: var(--bs-warning) !important;
}

[data-bs-theme="dark"] .bg-danger {
  background-color: var(--bs-danger) !important;
}

[data-bs-theme="dark"] .text-danger {
  color: var(--bs-danger) !important;
}

[data-bs-theme="dark"] .border-danger {
  border-color: var(--bs-danger) !important;
}

[data-bs-theme="dark"] .bg-light {
  background-color: var(--bs-light) !important;
}

[data-bs-theme="dark"] .text-light {
  color: var(--bs-light) !important;
}

[data-bs-theme="dark"] .border-light {
  border-color: var(--bs-light) !important;
}

[data-bs-theme="dark"] .bg-dark {
  background-color: var(--bs-dark) !important;
}

[data-bs-theme="dark"] .text-dark {
  color: var(--bs-dark) !important;
}

[data-bs-theme="dark"] .border-dark {
  border-color: var(--bs-dark) !important;
}

[data-bs-theme="dark"] body {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  font-family: var(--bs-font-sans-serif);
  font-size: var(--bs-font-size-base, 1rem);
  font-weight: var(--bs-font-weight-normal, 400);
  line-height: var(--bs-line-height-base, 1.5);
}

[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select, [data-bs-theme="dark"] input.form-control, [data-bs-theme="dark"] select.form-select, [data-bs-theme="dark"] textarea.form-control {
  background-color: var(--bs-form-control-bg, var(--bs-body-bg)) !important;
}

[data-bs-theme="dark"] .form-check-input:not(:checked) {
  background-color: var(--bs-input-bg, var(--bs-body-bg)) !important;
}

[data-bs-theme="dark"] code, [data-bs-theme="dark"] pre, [data-bs-theme="dark"] kbd, [data-bs-theme="dark"] .font-monospace {
  font-family: var(--bs-font-monospace);
}

[data-bs-theme="dark"] strong, [data-bs-theme="dark"] b, [data-bs-theme="dark"] .fw-bold {
  font-weight: var(--bs-font-weight-bold, 700);
}

[data-bs-theme="dark"] h1, [data-bs-theme="dark"] h2, [data-bs-theme="dark"] h3, [data-bs-theme="dark"] h4, [data-bs-theme="dark"] h5, [data-bs-theme="dark"] h6, [data-bs-theme="dark"] .h1, [data-bs-theme="dark"] .h2, [data-bs-theme="dark"] .h3, [data-bs-theme="dark"] .h4, [data-bs-theme="dark"] .h5, [data-bs-theme="dark"] .h6 {
  font-family: var(--bs-headings-font-family, var(--bs-font-sans-serif));
  font-weight: var(--bs-headings-font-weight, 500);
  line-height: var(--bs-headings-line-height, 1.2);
  color: var(--bs-headings-color, var(--bs-body-color));
}

[data-bs-theme="dark"] h1, [data-bs-theme="dark"] .h1 {
  font-size: var(--bs-h1-font-size, calc(1.375rem + 1.5vw));
}

[data-bs-theme="dark"] h2, [data-bs-theme="dark"] .h2 {
  font-size: var(--bs-h2-font-size, calc(1.325rem + 0.9vw));
}

[data-bs-theme="dark"] h3, [data-bs-theme="dark"] .h3 {
  font-size: var(--bs-h3-font-size, calc(1.3rem + 0.6vw));
}

[data-bs-theme="dark"] h4, [data-bs-theme="dark"] .h4 {
  font-size: var(--bs-h4-font-size, calc(1.275rem + 0.3vw));
}

[data-bs-theme="dark"] h5, [data-bs-theme="dark"] .h5 {
  font-size: var(--bs-h5-font-size, 1.25rem);
}

[data-bs-theme="dark"] h6, [data-bs-theme="dark"] .h6 {
  font-size: var(--bs-h6-font-size, 1rem);
}

[data-bs-theme="dark"] .card {
  border-radius: var(--bs-card-border-radius);
  border-color: var(--bs-card-border-color);
  box-shadow: var(--bs-card-box-shadow);
}

[data-bs-theme="dark"] .card-header {
  background-color: var(--bs-card-cap-bg);
}

[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select {
  background-color: var(--bs-input-bg, var(--bs-body-bg)) !important;
}

[data-bs-theme="dark"] .form-control {
  color: var(--bs-input-color, var(--bs-body-color));
}

[data-bs-theme="dark"] .form-control, [data-bs-theme="dark"] .form-select, [data-bs-theme="dark"] .form-check-input {
  border-color: var(--bs-input-border-color, var(--bs-border-color));
}

[data-bs-theme="dark"] .form-control:focus, [data-bs-theme="dark"] .form-select:focus, [data-bs-theme="dark"] .form-check-input:focus {
  border-color: var(--bs-input-focus-border-color);
  box-shadow: var(--bs-input-focus-box-shadow);
}

[data-bs-theme="dark"] .form-control:focus, [data-bs-theme="dark"] .form-select:focus, [data-bs-theme="dark"] .form-check-input:focus:not(:checked) {
  background-color: var(--bs-input-focus-bg, var(--bs-form-control-bg)) !important;
}

[data-bs-theme="dark"] .form-check-input:checked:focus {
  background-color: var(--bs-primary) !important;
}

[data-bs-theme="dark"] .form-control:focus, [data-bs-theme="dark"] .form-select:focus {
  color: var(--bs-input-focus-color, var(--bs-body-color)) !important;
}

[data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link {
  color: var(--bs-navbar-light-color);
}

[data-bs-theme="dark"] .navbar-light .navbar-nav .nav-link:hover {
  color: var(--bs-navbar-light-hover-color);
}

[data-bs-theme="dark"] .navbar-dark .navbar-nav .nav-link {
  color: var(--bs-navbar-dark-color);
}

[data-bs-theme="dark"] .navbar-dark .navbar-nav .nav-link:hover {
  color: var(--bs-navbar-dark-hover-color);
}

[data-bs-theme="dark"] .btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-hover-border-color: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-active-border-color: var(--bs-primary-hover, var(--bs-primary));
}

[data-bs-theme="dark"] .btn-secondary {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-hover-border-color: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-active-border-color: var(--bs-secondary-hover, var(--bs-secondary));
}

[data-bs-theme="dark"] .btn-success {
  --bs-btn-color: var(--bs-dark);
  --bs-btn-bg: var(--bs-success);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-success-hover, var(--bs-success));
  --bs-btn-hover-border-color: var(--bs-success-hover, var(--bs-success));
  --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: var(--bs-success-hover, var(--bs-success));
  --bs-btn-active-border-color: var(--bs-success-hover, var(--bs-success));
}

[data-bs-theme="dark"] .btn-info {
  --bs-btn-color: var(--bs-dark);
  --bs-btn-bg: var(--bs-info);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-info-hover, var(--bs-info));
  --bs-btn-hover-border-color: var(--bs-info-hover, var(--bs-info));
  --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: var(--bs-info-hover, var(--bs-info));
  --bs-btn-active-border-color: var(--bs-info-hover, var(--bs-info));
}

[data-bs-theme="dark"] .btn-warning {
  --bs-btn-color: var(--bs-dark);
  --bs-btn-bg: var(--bs-warning);
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-hover-border-color: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-active-border-color: var(--bs-warning-hover, var(--bs-warning));
}

[data-bs-theme="dark"] .btn-danger {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-hover-border-color: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-active-border-color: var(--bs-danger-hover, var(--bs-danger));
}

[data-bs-theme="dark"] .btn-light {
  --bs-btn-color: var(--bs-dark);
  --bs-btn-bg: var(--bs-light);
  --bs-btn-border-color: var(--bs-light);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-light-hover, #d3d4d5);
  --bs-btn-hover-border-color: var(--bs-light-hover, var(--bs-light));
  --bs-btn-focus-shadow-rgb: var(--bs-light-rgb);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: var(--bs-light-hover, var(--bs-light));
  --bs-btn-active-border-color: var(--bs-light-hover, var(--bs-light));
}

[data-bs-theme="dark"] .btn-dark {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--bs-dark);
  --bs-btn-border-color: var(--bs-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-hover-border-color: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-focus-shadow-rgb: var(--bs-dark-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-active-border-color: var(--bs-dark-hover, var(--bs-dark));
}

[data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-hover-border-color: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-primary-hover, var(--bs-primary));
  --bs-btn-active-border-color: var(--bs-primary-hover, var(--bs-primary));
}

[data-bs-theme="dark"] .btn-outline-secondary {
  --bs-btn-color: var(--bs-secondary);
  --bs-btn-border-color: var(--bs-secondary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-hover-border-color: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-focus-shadow-rgb: var(--bs-secondary-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-secondary-hover, var(--bs-secondary));
  --bs-btn-active-border-color: var(--bs-secondary-hover, var(--bs-secondary));
}

[data-bs-theme="dark"] .btn-outline-success {
  --bs-btn-color: var(--bs-success);
  --bs-btn-border-color: var(--bs-success);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-success-hover, var(--bs-success));
  --bs-btn-hover-border-color: var(--bs-success-hover, var(--bs-success));
  --bs-btn-focus-shadow-rgb: var(--bs-success-rgb);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: var(--bs-success-hover, var(--bs-success));
  --bs-btn-active-border-color: var(--bs-success-hover, var(--bs-success));
}

[data-bs-theme="dark"] .btn-outline-info {
  --bs-btn-color: var(--bs-info);
  --bs-btn-border-color: var(--bs-info);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-info-hover, var(--bs-info));
  --bs-btn-hover-border-color: var(--bs-info-hover, var(--bs-info));
  --bs-btn-focus-shadow-rgb: var(--bs-info-rgb);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: var(--bs-info-hover, var(--bs-info));
  --bs-btn-active-border-color: var(--bs-info-hover, var(--bs-info));
}

[data-bs-theme="dark"] .btn-outline-warning {
  --bs-btn-color: var(--bs-warning);
  --bs-btn-border-color: var(--bs-warning);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-hover-border-color: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-focus-shadow-rgb: var(--bs-warning-rgb);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: var(--bs-warning-hover, var(--bs-warning));
  --bs-btn-active-border-color: var(--bs-warning-hover, var(--bs-warning));
}

[data-bs-theme="dark"] .btn-outline-danger {
  --bs-btn-color: var(--bs-danger);
  --bs-btn-border-color: var(--bs-danger);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-hover-border-color: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-focus-shadow-rgb: var(--bs-danger-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-danger-hover, var(--bs-danger));
  --bs-btn-active-border-color: var(--bs-danger-hover, var(--bs-danger));
}

[data-bs-theme="dark"] .btn-outline-light {
  --bs-btn-color: var(--bs-light);
  --bs-btn-border-color: var(--bs-light);
  --bs-btn-hover-color: var(--bs-dark);
  --bs-btn-hover-bg: var(--bs-light-hover, var(--bs-light));
  --bs-btn-hover-border-color: var(--bs-light-hover, var(--bs-light));
  --bs-btn-focus-shadow-rgb: var(--bs-light-rgb);
  --bs-btn-active-color: var(--bs-dark);
  --bs-btn-active-bg: var(--bs-light-hover, var(--bs-light));
  --bs-btn-active-border-color: var(--bs-light-hover, var(--bs-light));
}

[data-bs-theme="dark"] .btn-outline-dark {
  --bs-btn-color: var(--bs-dark);
  --bs-btn-border-color: var(--bs-dark);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-hover-border-color: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-focus-shadow-rgb: var(--bs-dark-rgb);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--bs-dark-hover, var(--bs-dark));
  --bs-btn-active-border-color: var(--bs-dark-hover, var(--bs-dark));
}

[data-bs-theme="dark"] .alert-primary {
  --bs-alert-color: var(--bs-primary-text-emphasis, var(--bs-primary));
  --bs-alert-bg: var(--bs-primary-bg-subtle, rgba(var(--bs-primary-rgb), 0.1));
  --bs-alert-border-color: var(--bs-primary-border-subtle, rgba(var(--bs-primary-rgb), 0.2));
  --bs-alert-link-color: var(--bs-primary-text-emphasis, var(--bs-primary));
}

[data-bs-theme="dark"] .alert-secondary {
  --bs-alert-color: var(--bs-secondary-text-emphasis, var(--bs-secondary));
  --bs-alert-bg: var(--bs-secondary-bg-subtle, rgba(var(--bs-secondary-rgb), 0.1));
  --bs-alert-border-color: var(--bs-secondary-border-subtle, rgba(var(--bs-secondary-rgb), 0.2));
  --bs-alert-link-color: var(--bs-secondary-text-emphasis, var(--bs-secondary));
}

[data-bs-theme="dark"] .alert-success {
  --bs-alert-color: var(--bs-success-text-emphasis, var(--bs-success));
  --bs-alert-bg: var(--bs-success-bg-subtle, rgba(var(--bs-success-rgb), 0.1));
  --bs-alert-border-color: var(--bs-success-border-subtle, rgba(var(--bs-success-rgb), 0.2));
  --bs-alert-link-color: var(--bs-success-text-emphasis, var(--bs-success));
}

[data-bs-theme="dark"] .alert-info {
  --bs-alert-color: var(--bs-info-text-emphasis, var(--bs-info));
  --bs-alert-bg: var(--bs-info-bg-subtle, rgba(var(--bs-info-rgb), 0.1));
  --bs-alert-border-color: var(--bs-info-border-subtle, rgba(var(--bs-info-rgb), 0.2));
  --bs-alert-link-color: var(--bs-info-text-emphasis, var(--bs-info));
}

[data-bs-theme="dark"] .alert-warning {
  --bs-alert-color: var(--bs-warning-text-emphasis, var(--bs-warning));
  --bs-alert-bg: var(--bs-warning-bg-subtle, rgba(var(--bs-warning-rgb), 0.1));
  --bs-alert-border-color: var(--bs-warning-border-subtle, rgba(var(--bs-warning-rgb), 0.2));
  --bs-alert-link-color: var(--bs-warning-text-emphasis, var(--bs-warning));
}

[data-bs-theme="dark"] .alert-danger {
  --bs-alert-color: var(--bs-danger-text-emphasis, var(--bs-danger));
  --bs-alert-bg: var(--bs-danger-bg-subtle, rgba(var(--bs-danger-rgb), 0.1));
  --bs-alert-border-color: var(--bs-danger-border-subtle, rgba(var(--bs-danger-rgb), 0.2));
  --bs-alert-link-color: var(--bs-danger-text-emphasis, var(--bs-danger));
}

[data-bs-theme="dark"] .alert-light {
  --bs-alert-color: var(--bs-light-text-emphasis, var(--bs-light));
  --bs-alert-bg: var(--bs-light-bg-subtle, rgba(var(--bs-light-rgb), 0.1));
  --bs-alert-border-color: var(--bs-light-border-subtle, rgba(var(--bs-light-rgb), 0.2));
  --bs-alert-link-color: var(--bs-light-text-emphasis, var(--bs-light));
}

[data-bs-theme="dark"] .alert-dark {
  --bs-alert-color: var(--bs-dark-text-emphasis, var(--bs-dark));
  --bs-alert-bg: var(--bs-dark-bg-subtle, rgba(var(--bs-dark-rgb), 0.1));
  --bs-alert-border-color: var(--bs-dark-border-subtle, rgba(var(--bs-dark-rgb), 0.2));
  --bs-alert-link-color: var(--bs-dark-text-emphasis, var(--bs-dark));
}

[data-bs-theme="dark"] .badge.bg-primary {
  background-color: var(--bs-primary) !important;
  color: #fff !important;
}

[data-bs-theme="dark"] .badge.bg-secondary {
  background-color: var(--bs-secondary) !important;
  color: #fff !important;
}

[data-bs-theme="dark"] .badge.bg-success {
  background-color: var(--bs-success) !important;
  color: var(--bs-dark) !important;
}

[data-bs-theme="dark"] .badge.bg-info {
  background-color: var(--bs-info) !important;
  color: var(--bs-dark) !important;
}

[data-bs-theme="dark"] .badge.bg-warning {
  background-color: var(--bs-warning) !important;
  color: var(--bs-dark) !important;
}

[data-bs-theme="dark"] .badge.bg-danger {
  background-color: var(--bs-danger) !important;
  color: #fff !important;
}

[data-bs-theme="dark"] .badge.bg-light {
  background-color: var(--bs-light) !important;
  color: var(--bs-dark) !important;
}

[data-bs-theme="dark"] .badge.bg-dark {
  background-color: var(--bs-dark) !important;
  color: #fff !important;
}

[data-bs-theme="dark"] .list-group-item-primary {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.1);
}

[data-bs-theme="dark"] .list-group-item-secondary {
  color: var(--bs-secondary);
  background-color: rgba(var(--bs-secondary-rgb), 0.1);
}

[data-bs-theme="dark"] .list-group-item-success {
  color: var(--bs-success);
  background-color: rgba(var(--bs-success-rgb), 0.1);
}

[data-bs-theme="dark"] .list-group-item-info {
  color: var(--bs-info);
  background-color: rgba(var(--bs-info-rgb), 0.1);
}

[data-bs-theme="dark"] .list-group-item-warning {
  color: var(--bs-warning);
  background-color: rgba(var(--bs-warning-rgb), 0.1);
}

[data-bs-theme="dark"] .list-group-item-danger {
  color: var(--bs-danger);
  background-color: rgba(var(--bs-danger-rgb), 0.1);
}

[data-bs-theme="dark"] .list-group-item-light {
  color: var(--bs-light);
  background-color: rgba(var(--bs-light-rgb), 0.1);
}

[data-bs-theme="dark"] .list-group-item-dark {
  color: var(--bs-dark);
  background-color: rgba(var(--bs-dark-rgb), 0.1);
}

[data-bs-theme="dark"] .list-group-item-primary.list-group-item-action:hover, [data-bs-theme="dark"] .list-group-item-primary.list-group-item-action:focus {
  color: var(--bs-primary);
  background-color: rgba(var(--bs-primary-rgb), 0.2);
}

[data-bs-theme="dark"] .list-group-item-secondary.list-group-item-action:hover, [data-bs-theme="dark"] .list-group-item-secondary.list-group-item-action:focus {
  color: var(--bs-secondary);
  background-color: rgba(var(--bs-secondary-rgb), 0.2);
}

[data-bs-theme="dark"] .list-group-item-success.list-group-item-action:hover, [data-bs-theme="dark"] .list-group-item-success.list-group-item-action:focus {
  color: var(--bs-success);
  background-color: rgba(var(--bs-success-rgb), 0.2);
}

[data-bs-theme="dark"] .list-group-item-info.list-group-item-action:hover, [data-bs-theme="dark"] .list-group-item-info.list-group-item-action:focus {
  color: var(--bs-info);
  background-color: rgba(var(--bs-info-rgb), 0.2);
}

[data-bs-theme="dark"] .list-group-item-warning.list-group-item-action:hover, [data-bs-theme="dark"] .list-group-item-warning.list-group-item-action:focus {
  color: var(--bs-warning);
  background-color: rgba(var(--bs-warning-rgb), 0.2);
}

[data-bs-theme="dark"] .list-group-item-danger.list-group-item-action:hover, [data-bs-theme="dark"] .list-group-item-danger.list-group-item-action:focus {
  color: var(--bs-danger);
  background-color: rgba(var(--bs-danger-rgb), 0.2);
}

[data-bs-theme="dark"] .list-group-item-light.list-group-item-action:hover, [data-bs-theme="dark"] .list-group-item-light.list-group-item-action:focus {
  color: var(--bs-light);
  background-color: rgba(var(--bs-light-rgb), 0.2);
}

[data-bs-theme="dark"] .list-group-item-dark.list-group-item-action:hover, [data-bs-theme="dark"] .list-group-item-dark.list-group-item-action:focus {
  color: var(--bs-dark);
  background-color: rgba(var(--bs-dark-rgb), 0.2);
}

[data-bs-theme="dark"] .bg-primary-subtle {
  background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
}

[data-bs-theme="dark"] .bg-secondary-subtle {
  background-color: rgba(var(--bs-secondary-rgb), 0.1) !important;
}

[data-bs-theme="dark"] .bg-success-subtle {
  background-color: rgba(var(--bs-success-rgb), 0.1) !important;
}

[data-bs-theme="dark"] .bg-info-subtle {
  background-color: rgba(var(--bs-info-rgb), 0.1) !important;
}

[data-bs-theme="dark"] .bg-warning-subtle {
  background-color: rgba(var(--bs-warning-rgb), 0.1) !important;
}

[data-bs-theme="dark"] .bg-danger-subtle {
  background-color: rgba(var(--bs-danger-rgb), 0.1) !important;
}

[data-bs-theme="dark"] .bg-light-subtle {
  background-color: rgba(var(--bs-light-rgb), 0.1) !important;
}

[data-bs-theme="dark"] .bg-dark-subtle {
  background-color: rgba(var(--bs-dark-rgb), 0.1) !important;
}

[data-bs-theme="dark"] .bg-primary.card, [data-bs-theme="dark"] .card.border-primary .card-header {
  background-color: var(--bs-primary) !important;
  color: #fff;
}

[data-bs-theme="dark"] .bg-secondary.card, [data-bs-theme="dark"] .card.border-secondary .card-header {
  background-color: var(--bs-secondary) !important;
  color: #fff;
}

[data-bs-theme="dark"] .bg-success.card, [data-bs-theme="dark"] .card.border-success .card-header {
  background-color: var(--bs-success) !important;
  color: var(--bs-dark);
}

[data-bs-theme="dark"] .bg-info.card, [data-bs-theme="dark"] .card.border-info .card-header {
  background-color: var(--bs-info) !important;
  color: var(--bs-dark);
}

[data-bs-theme="dark"] .bg-warning.card, [data-bs-theme="dark"] .card.border-warning .card-header {
  background-color: var(--bs-warning) !important;
  color: var(--bs-dark);
}

[data-bs-theme="dark"] .bg-danger.card, [data-bs-theme="dark"] .card.border-danger .card-header {
  background-color: var(--bs-danger) !important;
  color: #fff;
}

[data-bs-theme="dark"] .bg-light.card, [data-bs-theme="dark"] .card.border-light .card-header {
  background-color: var(--bs-light) !important;
  color: var(--bs-dark);
}

[data-bs-theme="dark"] .bg-dark.card, [data-bs-theme="dark"] .card.border-dark .card-header {
  background-color: var(--bs-dark) !important;
  color: #fff;
}

[data-bs-theme="dark"] .navbar.bg-primary {
  background-color: var(--bs-primary) !important;
  color: #fff;
}

[data-bs-theme="dark"] .navbar.bg-secondary {
  background-color: var(--bs-secondary) !important;
  color: #fff;
}

[data-bs-theme="dark"] .navbar.bg-success {
  background-color: var(--bs-success) !important;
  color: var(--bs-dark);
}

[data-bs-theme="dark"] .navbar.bg-info {
  background-color: var(--bs-info) !important;
  color: var(--bs-dark);
}

[data-bs-theme="dark"] .navbar.bg-warning {
  background-color: var(--bs-warning) !important;
  color: var(--bs-dark);
}

[data-bs-theme="dark"] .navbar.bg-danger {
  background-color: var(--bs-danger) !important;
  color: #fff;
}

[data-bs-theme="dark"] .navbar.bg-light {
  background-color: var(--bs-light) !important;
  color: var(--bs-dark);
}

[data-bs-theme="dark"] .navbar.bg-dark {
  background-color: var(--bs-dark) !important;
  color: #fff;
}


/* Custom CSS (dark mode) */
[data-bs-theme="dark"] {
/* === BEEPER DARK === VirtualBeeper brand, bright cyan on deep cyan-navy */
:root { color-scheme: dark; }
.form-select option, .form-control option { background-color: #0c2c3a; color: #cfe8f2; }

.card { background-color: #0c2c3a; border: 1px solid #1c3c47; color: #cfe8f2; box-shadow: 0 1px 2px rgba(0,0,0,0.35), 0 1px 3px rgba(0,0,0,0.45); }
.card-header, .card-footer { background-color: #0a2731; border-color: #1c3c47; color: #eaf6fb; font-weight: 600; }

.btn-primary { font-weight: 500; }

.form-control, .form-select, textarea.form-control {
  background-color: #0c2c3a !important;
  border-color: #1c3c47 !important;
  color: #cfe8f2 !important;
}
.form-control:focus, .form-select:focus {
  border-color: #40c8f8 !important;
  box-shadow: 0 0 0 3px rgba(64, 200, 248, 0.35) !important;
}
.form-control::placeholder { color: #8aa6af; }

.dropdown-menu { background-color: #0c2c3a; border-color: #1c3c47; color: #cfe8f2; }
.dropdown-item { color: #cfe8f2; }
.dropdown-item:hover, .dropdown-item:focus { background-color: #1c3c47; color: #eaf6fb; }
.dropdown-divider { border-color: #1c3c47; }

.modal-content { background-color: #0c2c3a; border: 1px solid #1c3c47; color: #cfe8f2; }
.modal-header, .modal-footer { border-color: #1c3c47; }

.list-group { background-color: transparent; }
.list-group-item { background-color: #0c2c3a; border-color: #1c3c47; color: #cfe8f2; }
.list-group-item.active { background-color: #0a7ca8; border-color: #0a7ca8; color: #ffffff; }

.popover { background-color: #0c2c3a; border-color: #1c3c47; }
.popover-header { background-color: #0a2731; border-bottom-color: #1c3c47; color: #eaf6fb; }
.popover-body { color: #cfe8f2; }

.toast { background-color: #0c2c3a; border-color: #1c3c47; color: #cfe8f2; }
.toast-header { background-color: #0a2731; border-bottom-color: #1c3c47; color: #eaf6fb; }

.table {
  --bs-table-color: #cfe8f2;
  --bs-table-bg: transparent;
  --bs-table-border-color: #1c3c47;
  --bs-table-striped-bg: #0a2731;
  --bs-table-hover-bg: #1c3c47;
}

.navbar { box-shadow: 0 1px 3px rgba(0,0,0,0.45); }
a:not(.btn):not(.nav-link) { color: #5fd2fa; }
a:not(.btn):not(.nav-link):hover { color: #7ddcfb; }

/* Outline buttons: brighten the resting text + border so they stay legible on
   the dark page/card. Hover & active still fill with the solid colour and the
   contrast-picked label from the generated component rules. */
.btn-outline-primary   { --bs-btn-color: #7ddcfb; --bs-btn-border-color: #2f9fc9; }
.btn-outline-secondary { --bs-btn-color: #b3c6cd; --bs-btn-border-color: #7e959d; }
.btn-outline-success   { --bs-btn-color: #5eead4; --bs-btn-border-color: #1f9f6e; }
.btn-outline-info      { --bs-btn-color: #7cc4ec; --bs-btn-border-color: #2aa3e0; }
.btn-outline-warning   { --bs-btn-color: #f5c073; --bs-btn-border-color: #d6790f; }
.btn-outline-danger    { --bs-btn-color: #f0809b; --bs-btn-border-color: #df4763; }

/* Inactive tab strips: bright brand cyan instead of stock link blue. */
.nav-tabs .nav-link:not(.active), .nav-pills .nav-link:not(.active) { color: #5fd2fa; }
.nav-tabs .nav-link:not(.active):hover { color: #7ddcfb; }
}

/* Dark-mode safety overrides — utility classes that don't auto-flip. */
[data-bs-theme="dark"] .bg-light { background-color: var(--bs-secondary-bg) !important; color: var(--bs-body-color); }
[data-bs-theme="dark"] .bg-white { background-color: var(--bs-body-bg) !important; color: var(--bs-body-color); }
[data-bs-theme="dark"] .text-dark { color: var(--bs-body-color) !important; }
[data-bs-theme="dark"] .text-light { color: var(--bs-emphasis-color) !important; }
[data-bs-theme="dark"] .text-muted { color: var(--bs-secondary-color) !important; }
[data-bs-theme="dark"] .text-black { color: var(--bs-body-color) !important; }
[data-bs-theme="dark"] .text-white-50 { color: rgba(255, 255, 255, 0.5) !important; }
