Как выглядит темная тема:

Тема создается в /themes и основные настройки идут за счет переопределения Bootstrap переменных, и кастомные моменты дорабатываются через CSS к теме.
Создаем тему dark и прописываем такие SASS переменные в файле:
// Override Bootstrap default variables here
// Do not edit any of the files in /vendor/bootstrap/scss/!
$white: #000 !default;
$gray-100: #222 !default;
$gray-200: #333 !default;
$gray-300: #444 !default;
$gray-400: #555 !default;
$gray-500: #666 !default;
$gray-600: #777 !default;
$gray-700: #999 !default;
$gray-800: #aaa !default;
$gray-900: #ccc !default;
$black: #fff !default;
$light: $gray-500;
$dark: $gray-900;
//$input-btn-border-width: 3px;
$table-color: $gray-900;
$table-bg: $gray-100;
$text-muted: $gray-900;
$font-size-base: 1rem;
$input-btn-font-size: 1rem;
$blue: #4e73df !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #e74a3b !default;
$orange: #fd7e14 !default;
$yellow: #f6c23e !default;
$green: #1cc88a !default;
$teal: #20c9a6 !default;
$cyan: #36b9cc !default;
// Custom Colors
$brand-google: #f7933b;
$brand-facebook: #f7933b;
// Set Contrast Threshold
$yiq-contrasted-threshold: 195 !default;
// Typography
$body-color: $gray-900 !default;
$font-family-sans-serif: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", 'Noto Color Emoji' !default;
$font-weight-light: 300 !default;
// $font-weight-base: 400;
$headings-font-weight: 400 !default;
// Shadows
$box-shadow-sm: 0 0.125rem 0.25rem 0 rgba($gray-900, .2) !default;
$box-shadow: 0 0.15rem 1.75rem 0 rgba($gray-900, .15) !default;
// $box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;
// Borders Radius
$border-radius: 0.35rem !default;
$border-color: darken($gray-200, 2%);
// Spacing Variables
// Change below variable if the height of the navbar changes
$topbar-base-height: 4.375rem;
// Change below variable to change the width of the sidenav
$sidebar-base-width: 14rem;
// Change below variable to change the width of the sidenav when collapsed
$sidebar-collapsed-width: 6.5rem;
// Card
$card-cap-bg: $gray-100;
$card-border-color: $border-color;
// Adjust column spacing for symmetry
$spacer: 1rem;
$grid-gutter-width: $spacer * 1.5;
// Transitions
$transition-collapse: height .15s ease !default;
// Dropdowns
$dropdown-font-size: 0.85rem;
$dropdown-border-color: $border-color;
Примечание. Если вы хотите менять какие-то переменные Sass самостоятельно, то вот отличный справочник всех переменных для Bootstrap 4.5 - https://bootstrapvars.com/
В CSS записываем такие изменения (+ сюда же записываем потом и другие кастом-правки стилей для случаев, где идет наложение цветов):
.as-panel{ background: #222 !important; border: solid 1px #555;}
html body div.as-table table.crd2Table td{color : #fff !important;}
body .crd2Frozen {background: #333;}
.badge-dark{color: #000 !important;}
html body .as-table table.crd2Table thead {color:#fff !important;}
html body .crd2Table th.crd2SortDown, html body .crd2Table th.crd2SortUp {background-color: #333 !important;}
.as-userPic{background: #ccc;}
body .as-userPicLabel{color: #ccc !important;}
body #accordionSidebar .nav-item .nav-link, html body #accordionSidebar .nav-item .nav-link i {color:#fff !important;}
body #accordionSidebar{background: #000 !important;}
#accordionSidebar .nav-item .nav-link:hover{background: #333; }
body .crd2FooterRow, .crd2HeadRow {background-color: #555;}
body .select2-selection {background: #000 !important; }
body .select2-selection__choice{color: #000 !important;}
body .select2-dropdown{background: #222 !important;}
.as-table .crd2TitleCount {color: #111 !important; }
.close{color: #777 !important;}
body .popover-x > .arrow:after{border-right-color: #000 !important;}
/* chosen-dark */
.chosen-container .chosen-drop {
border-color: #333;
background: #212121;
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
}
.as-entity-statusName {color: #000 !important; border-color: #777;}
body .as-cmt-item{ border: 1px solid #555; }
body .as-cmt-addText{ color: #fff; background-color:#000;}
.emoji-cont{background-color:#000 !important;}
.badge{color: #fff !important;}
.deal.card{color: #fff !important; background: #333 !important; box-shadow: 3px 3px 0 0 #444 !important; border: solid 1px #555 !important;}
.deal.card .highlight{ background: #555 !important; color: #fff !important;}
.deal.card .highlight .badge{ color: #000 !important; }
/* @end */
/* @group Single Chosen */
.chosen-container-single .chosen-single {
border-color: #333;
background: #212121;
background-image: linear-gradient(#353535 1%, #212121 15%);
box-shadow: 0 0 2px #5d5d5d inset, 0 1px 0 rgba(0, 0, 0, 0.05);
color: #e3e3e3;
}
.chosen-container-single .chosen-default {
color: #999;
}
.chosen-container-single .chosen-search input[type="text"] {
border-color: #333;
color: #e3e3e3;
}
/* @end */
/* @group Results */
.chosen-container .chosen-results {
color: #e3e3e3;
}
.chosen-container .chosen-results li.disabled-result {
color: #505050;
}
.chosen-container .chosen-results li.highlighted {
background-color: #3875d7;
background-image: linear-gradient(#3875d7 20%, #2a62bc 90%);
color: #fff;
}
.chosen-container .chosen-results li.no-results {
color: #e3e3e3;
background: #1f1d1d;
}
/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
border-color: #333;
background: #212121;
background-image: linear-gradient(#353535 1%, #212121 15%);
}
.chosen-container-multi .chosen-choices li.search-field input[type="text"] {
color: #e3e3e3;
}
.chosen-container-multi .chosen-choices li.search-choice {
border-color: #000;
background-color: #212121;
background-image: linear-gradient(#353535 1%, #212121 15%);
box-shadow: 0 0 2px #5d5d5d inset, 0 1px 0 rgba(0, 0, 0, 0.05);
color: #e3e3e3;
}
.chosen-container-multi .chosen-choices li.search-choice-disabled {
border: 1px solid #ccc;
background-color: #e4e4e4;
background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%);
color: #666;
}
.chosen-container-multi .chosen-choices li.search-choice-focus {
background: #d4d4d4;
}
.chosen-container-multi .chosen-drop .result-selected {
color: #505050;
}
/* @end */
/* @group Active */
.chosen-container-active .chosen-single {
border: 1px solid #5897fb;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.chosen-container-active.chosen-with-drop .chosen-single {
border-color: #333;
background-image: linear-gradient(#353535 1%, #212121 15%);
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.3) inset;
}
.chosen-container-active .chosen-choices {
border: 1px solid #5897fb;
box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.chosen-container-active .chosen-choices li.search-field input[type="text"] {
color: #e3e3e3!important;
}
/* @end */
/* @group Disabled Support */
.chosen-disabled {
opacity: 0.5 !important;
}
.chosen-rtl .chosen-search input[type="text"] {
color: #e3e3e3;
background: url("chosen-sprite.png") no-repeat -30px -20px;
}
/*chosen dark end*/
Не закрывая текущую вкладку, после этого в отдельной (ВАЖНО) вкладке открываем /themes, компилируем тему Sass и ставим тему активной.
Что важно сделать, чтобы темная тема работала: