:root {
  --dm-page: var(--nvl-page, #070b12);
  --dm-surface: var(--nvl-surface, #0f172a);
  --dm-surface-2: var(--nvl-surface-subtle, #172033);
  --dm-surface-3: #1e293b;
  --dm-elevated: var(--nvl-surface-raised, #111c30);
  --dm-text: var(--nvl-text, #f1f5f9);
  --dm-muted: var(--nvl-text-muted, #94a3b8);
  --dm-soft: var(--nvl-text-soft, #cbd5e1);
  --dm-border: var(--nvl-border, #334155);
  --dm-border-soft: rgba(255, 255, 255, .1);
  --dm-primary: var(--nvl-primary, #3b82f6);
  --dm-primary-strong: var(--nvl-primary-active, #2563eb);
  --dm-success: var(--nvl-blue-400, #60a5fa);
  --dm-warning: var(--nvl-blue-300, #93c5fd);
  --dm-danger: var(--nvl-danger, #f87171);
  --dm-shadow: var(--nvl-shadow-md, 0 16px 36px rgba(0, 0, 0, .32));
}

html {
  background: var(--dm-page);
  color-scheme: dark;
}

body {
  background: var(--dm-page);
  color: var(--dm-text);
}

main,
.container,
.container-fluid {
  color: var(--dm-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
label,
.form-label,
.breadcrumb,
.breadcrumb-item,
.card-title,
.modal-title {
  color: var(--dm-text);
}

a {
  color: var(--dm-primary);
}

a:hover,
a:focus {
  color: #9bc3ff;
}

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

.text-muted,
.small,
small,
.form-text,
.breadcrumb-item.active {
  color: var(--dm-muted) !important;
}

.bg-white,
.bg-light,
.table-light,
.list-group-item {
  background-color: var(--dm-surface) !important;
  color: var(--dm-text) !important;
}

.border,
.border-top,
.border-end,
.border-bottom,
.border-start,
.dropdown-divider,
hr {
  border-color: var(--dm-border) !important;
}

.box-shadow,
.shadow,
.shadow-sm,
.shadow-lg {
  box-shadow: var(--dm-shadow) !important;
}

.navbar,
.navbar.bg-white,
.landing-navbar {
  background: rgba(16, 19, 23, .94) !important;
  border-color: var(--dm-border-soft) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .28) !important;
  backdrop-filter: blur(16px);
}

.navbar-light .navbar-brand,
.navbar-light .navbar-nav .nav-link,
.navbar .dropdown-item,
.navbar .nav-link,
.landing-navbar .nav-link {
  color: var(--dm-text) !important;
}

.navbar-light .navbar-brand:hover,
.navbar-light .navbar-nav .nav-link:hover,
.navbar .dropdown-item:hover,
.navbar .dropdown-item:focus,
.navbar .nav-link:hover,
.navbar .nav-link:focus,
.landing-navbar .nav-link:hover,
.landing-navbar .nav-link:focus {
  color: var(--dm-primary) !important;
}

.navbar-light .navbar-toggler {
  border-color: var(--dm-border);
}

.navbar-light .navbar-toggler-icon {
  filter: invert(1) grayscale(1) brightness(1.7);
}

.dropdown-menu,
.dropdown-menu.show {
  background-color: var(--dm-elevated);
  border-color: var(--dm-border);
  box-shadow: var(--dm-shadow);
}

.dropdown-item {
  color: var(--dm-text);
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.dropdown-item:active {
  background-color: var(--dm-surface-3);
  color: var(--dm-text);
}

.btn-secondary {
  background-color: var(--dm-surface-3);
  border-color: var(--dm-border);
  color: var(--dm-text);
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: #35404c;
  border-color: #465260;
  color: var(--dm-text);
}

.btn-outline-primary {
  color: var(--dm-primary);
  border-color: var(--dm-primary);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: var(--dm-primary);
  border-color: var(--dm-primary);
  color: #0d1117;
}

.card,
.modal-content,
.toast,
.popover,
.list-group {
  background-color: var(--dm-surface);
  border-color: var(--dm-border);
  color: var(--dm-text);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .24);
}

.card-header,
.card-footer,
.modal-header,
.modal-footer,
.popover-header {
  background-color: var(--dm-surface-2);
  border-color: var(--dm-border);
  color: var(--dm-text);
}

.card-header.bg-success,
.card-header.bg-secondary,
.card-header.bg-danger,
.card-header.bg-primary {
  color: #fff;
}

.card-header.bg-warning {
  color: #12161b;
}

html[data-theme="dark"] .dashboard-summary-header--billing {
  background-color: rgba(96, 165, 250, .14) !important;
  color: var(--dm-success) !important;
}

html[data-theme="dark"] .dashboard-summary-header--expenses {
  background-color: rgba(199, 208, 218, .12) !important;
  color: var(--dm-soft) !important;
}

html[data-theme="dark"] .dashboard-summary-header--dividends {
  background-color: rgba(242, 193, 78, .14) !important;
  color: var(--dm-warning) !important;
}

html[data-theme="dark"] .dashboard-summary-icon {
  filter: invert(87%) sepia(8%) saturate(257%) hue-rotate(169deg) brightness(96%) contrast(91%);
}

.table {
  --bs-table-color: var(--dm-text);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--dm-border);
  --bs-table-striped-color: var(--dm-text);
  --bs-table-striped-bg: rgba(255, 255, 255, .035);
  --bs-table-hover-color: var(--dm-text);
  --bs-table-hover-bg: rgba(110, 168, 254, .1);
  color: var(--dm-text);
  border-color: var(--dm-border);
}

.table > :not(caption) > * > * {
  border-color: var(--dm-border);
  color: var(--dm-text);
}

.table thead th,
.table tfoot th,
th {
  color: var(--dm-soft);
}

.form-control,
.form-select,
select,
textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="search"],
input[type="date"],
.input-group-text {
  background-color: var(--dm-surface-2);
  border-color: var(--dm-border);
  color: var(--dm-text);
}

.form-control:focus,
.form-select:focus,
select:focus,
textarea:focus,
input:focus {
  background-color: var(--dm-surface-2);
  border-color: var(--dm-primary);
  box-shadow: 0 0 0 .2rem rgba(110, 168, 254, .18);
  color: var(--dm-text);
}

.form-control::placeholder,
textarea::placeholder,
input::placeholder {
  color: #7f8a96;
}

.form-control:disabled,
.form-control[readonly],
select:disabled,
textarea:disabled,
input:disabled {
  background-color: #242b34;
  color: #87929f;
}

.form-check-input {
  background-color: var(--dm-surface-2);
  border-color: var(--dm-border);
}

.form-check-input:checked {
  background-color: var(--dm-primary);
  border-color: var(--dm-primary);
}

.breadcrumb {
  background: transparent;
}

.breadcrumb-item + .breadcrumb-item::before {
  color: var(--dm-muted);
}

.alert {
  border-color: var(--dm-border);
}

.page-link,
.paginate_button,
.dt-button {
  background-color: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}

.page-link:hover,
.paginate_button:hover,
.dt-button:hover {
  background-color: var(--dm-surface-3) !important;
  color: var(--dm-primary) !important;
}

.page-item.active .page-link,
.paginate_button.current {
  background-color: var(--dm-primary) !important;
  border-color: var(--dm-primary) !important;
  color: #0d1117 !important;
}

.page-item.disabled .page-link,
.paginate_button.disabled {
  background-color: #171b21 !important;
  border-color: var(--dm-border) !important;
  color: #687481 !important;
}

.dataTables_wrapper,
.dataTables_info,
.dataTables_length,
.dataTables_filter,
.dataTables_processing {
  color: var(--dm-muted) !important;
}

.dataTables_wrapper .dataTables_processing {
  background: rgba(16, 19, 23, .92);
  border: 1px solid var(--dm-border);
  box-shadow: var(--dm-shadow);
}

.dataTables_wrapper input,
.dataTables_wrapper select {
  background-color: var(--dm-surface-2);
  border: 1px solid var(--dm-border);
  color: var(--dm-text);
}

.ui-widget-content,
.ui-menu,
.ui-autocomplete {
  background: var(--dm-elevated);
  border-color: var(--dm-border);
  color: var(--dm-text);
  box-shadow: var(--dm-shadow);
}

.ui-menu .ui-menu-item-wrapper {
  color: var(--dm-text);
}

.ui-menu .ui-menu-item-wrapper.ui-state-active,
.ui-menu .ui-menu-item-wrapper:hover {
  background: var(--dm-surface-3);
  border-color: var(--dm-surface-3);
  color: var(--dm-text);
}

.filter-autocomplete {
  border-color: var(--dm-primary) !important;
}

.select2-container--bootstrap4 .select2-selection,
.select2-container--bootstrap4 .select2-dropdown,
.select2-dropdown,
.select2-results {
  background: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text) !important;
}

.select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered,
.select2-container--bootstrap4 .select2-results__option,
.select2-container--bootstrap4 .select2-search--dropdown .select2-search__field {
  color: var(--dm-text) !important;
}

.select2-container--bootstrap4 .select2-results__option[aria-selected="true"],
.select2-container--bootstrap4 .select2-results__option--highlighted[aria-selected] {
  background-color: var(--dm-surface-3) !important;
}

#chat.bg-light,
#chat {
  background-color: var(--dm-surface-2) !important;
  border-color: var(--dm-border) !important;
  color: var(--dm-text);
}

.chat-table table {
  background-color: transparent;
}

.footer {
  background: var(--dm-page);
  color: var(--dm-muted) !important;
}

.footer a,
.landing-footer a {
  color: var(--dm-primary);
}

.front-section--white,
.front-section--muted,
.landing-footer {
  background: var(--dm-page);
}

.front-section__header h2,
.front-callout h2,
.front-service h3,
.front-process__item h3,
.front-product-visual figcaption strong,
.front-footer,
.landing-footer {
  color: var(--dm-text);
}

.front-section__header p:not(.front-eyebrow),
.front-callout p,
.front-service p,
.front-process__item p,
.front-product-visual figcaption,
.front-footer span {
  color: var(--dm-muted);
}

.front-service,
.front-callout,
.front-product-visual {
  background: var(--dm-surface);
  border-color: var(--dm-border);
  box-shadow: var(--dm-shadow);
}

.front-service:hover {
  border-color: rgba(110, 168, 254, .34);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .38);
}

.front-service__icon {
  background: rgba(110, 168, 254, .14);
  color: var(--dm-primary);
}

.front-section--white .row > [class*="col"]:nth-child(2n) .front-service__icon {
  background: rgba(96, 165, 250, .14);
  color: var(--dm-success);
}

.front-process {
  gap: 1.1rem;
}

.front-process__item {
  background:
    linear-gradient(135deg, rgba(35, 44, 55, .98), rgba(18, 23, 30, .98));
  border: 1px solid rgba(110, 168, 254, .22);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .28);
  overflow: hidden;
  position: relative;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.front-process__item::before {
  background: linear-gradient(180deg, var(--dm-primary), var(--dm-success));
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  width: 4px;
}

.front-process__item:nth-child(2) {
  border-color: rgba(96, 165, 250, .22);
}

.front-process__item:nth-child(2)::before {
  background: linear-gradient(180deg, var(--dm-success), #9bc3ff);
}

.front-process__item:nth-child(3) {
  border-color: rgba(242, 193, 78, .24);
}

.front-process__item:nth-child(3)::before {
  background: linear-gradient(180deg, var(--dm-warning), var(--dm-primary));
}

.front-process__item:hover {
  border-color: rgba(110, 168, 254, .44);
  box-shadow: 0 22px 52px rgba(0, 0, 0, .38);
  transform: translateY(-2px);
}

.front-process__item h3 {
  color: #f4f7fb;
}

.front-process__item p {
  color: #bac5d2;
}

.front-process__item span {
  background: rgba(110, 168, 254, .14);
  border: 1px solid rgba(110, 168, 254, .24);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  color: #9bc3ff;
}

.front-process__item:nth-child(2) span {
  background: rgba(96, 165, 250, .13);
  border-color: rgba(96, 165, 250, .26);
  color: #8debb4;
}

.front-process__item:nth-child(3) span {
  background: rgba(242, 193, 78, .13);
  border-color: rgba(242, 193, 78, .28);
  color: #f6d982;
}

.front-product-visual figcaption,
.front-callout {
  background: var(--dm-elevated);
}

.front-hero__shade {
  background: rgba(5, 8, 13, .74);
}

.front-proof span {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .18);
  color: rgba(255, 255, 255, .86);
}

.front-account-action {
  background: rgba(96, 165, 250, .12);
  border-color: rgba(96, 165, 250, .28);
  color: var(--dm-success);
}

.front-account-action:hover,
.front-account-action:focus {
  background: var(--dm-success);
  border-color: var(--dm-success);
  box-shadow: 0 10px 24px rgba(96, 165, 250, .18);
  color: #07130d;
}

.front-account-action:focus-visible {
  box-shadow: 0 0 0 .2rem rgba(96, 165, 250, .24);
}

.btn-front-primary,
.landing-navbar .btn-success {
  background: var(--dm-success);
  border-color: var(--dm-success);
  color: #07130d;
}

.btn-front-primary:hover,
.btn-front-primary:focus,
.landing-navbar .btn-success:hover,
.landing-navbar .btn-success:focus {
  background: var(--dm-primary);
  border-color: var(--dm-primary);
  color: #07130d;
}

.btn-front-secondary {
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .28);
  color: #fff;
}

.btn-front-secondary:hover,
.btn-front-secondary:focus {
  background: #fff;
  border-color: #fff;
  color: #101317;
}
