:root.dark-theme,
body.dark-theme {
  color-scheme: dark;
}

html.dark-theme {
  min-height: 100%;
  background: #12161d;
}

body.dark-theme {
  min-height: 100vh;
  background: #12161d;
  color: #d7dde7;
}

html.dark-theme,
html.dark-theme body,
body.dark-theme .main-container,
body.dark-theme .main-container::before,
body.dark-theme .main-content,
body.dark-theme .main-content-inner,
body.dark-theme .page-content,
body.dark-theme .page-content-area,
body.dark-theme .footer,
body.dark-theme .footer .footer-inner,
body.dark-theme .footer .footer-inner .footer-content {
  background: #12161d !important;
  color: #d7dde7 !important;
}

body.dark-theme .clearfix,
body.dark-theme .space,
body.dark-theme .space-4,
body.dark-theme .space-6,
body.dark-theme .space-8,
body.dark-theme .space-10,
body.dark-theme .space-12,
body.dark-theme .space-16,
body.dark-theme .space-20,
body.dark-theme .space-24 {
  background: transparent !important;
}

body.dark-theme #main-container,
body.dark-theme .main-container {
  min-height: calc(100vh - 45px);
}

body.dark-theme .main-content {
  min-height: calc(100vh - 45px);
}

body.dark-theme .main-content-inner,
body.dark-theme .page-content {
  min-height: 0;
}

body.dark-theme #navbar,
body.dark-theme .navbar,
body.dark-theme .navbar-container,
body.dark-theme .sidebar,
body.dark-theme .sidebar-shortcuts,
body.dark-theme .breadcrumbs,
body.dark-theme .footer,
body.dark-theme .widget-box,
body.dark-theme .widget-header,
body.dark-theme .widget-body,
body.dark-theme .well,
body.dark-theme .panel,
body.dark-theme .modal-content,
body.dark-theme .dropdown-menu,
body.dark-theme .profile-info-row,
body.dark-theme .profile-info-name,
body.dark-theme .profile-info-value,
body.dark-theme .table-responsive,
body.dark-theme .table-header,
body.dark-theme .widget-main,
body.dark-theme .widget-toolbox,
body.dark-theme .form-actions,
body.dark-theme .row,
body.dark-theme .login-container {
  background-color: #171c24;
  color: #d7dde7;
  border-color: #2a3340;
}

body.dark-theme .main-container,
body.dark-theme .main-content,
body.dark-theme .page-content,
body.dark-theme .page-header,
body.dark-theme .ace-nav > li,
body.dark-theme .infobox,
body.dark-theme .tab-content,
body.dark-theme .nav-tabs > li > a,
body.dark-theme .tabbable,
body.dark-theme .tab-pane,
body.dark-theme .no-margin,
body.dark-theme .no-padding,
body.dark-theme .align-left,
body.dark-theme .align-right {
  background-color: #12161d;
  color: #d7dde7;
  border-color: #2a3340;
}

body.dark-theme .widget-header {
  background: linear-gradient(180deg, #202734 0%, #171c24 100%);
  color: #f4f7fb;
}

body.dark-theme .widget-color-blue2 > .widget-header,
body.dark-theme .widget-color-blue > .widget-header,
body.dark-theme .widget-color-green > .widget-header,
body.dark-theme .widget-color-orange > .widget-header {
  background: linear-gradient(180deg, #243142 0%, #1a2230 100%);
  border-color: #35465b;
}

body.dark-theme .widget-box {
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.03);
}

body.dark-theme .widget-main,
body.dark-theme .widget-body,
body.dark-theme .collapsed > .widget-body,
body.dark-theme .transparent > .widget-body,
body.dark-theme .widget-box.transparent > .widget-body,
body.dark-theme .widget-box.light-border[class*="widget-color-"]:not(.fullscreen) > .widget-body {
  background: #171c24;
  border-color: #2a3340;
}

body.dark-theme .widget-toolbox,
body.dark-theme .widget-main.no-padding,
body.dark-theme .widget-main.padding-0,
body.dark-theme .widget-main.no-padding > form > fieldset,
body.dark-theme .widget-main.padding-0 > form > fieldset,
body.dark-theme .widget-main.no-padding > form > fieldset + .form-actions {
  background: #171c24;
  border-color: #2a3340;
}

body.dark-theme.login-layout .login-container,
body.dark-theme.login-layout #login-box,
body.dark-theme.login-layout #forgot-box,
body.dark-theme.login-layout #signup-box,
body.dark-theme.login-layout .widget-box,
body.dark-theme.login-layout .widget-body,
body.dark-theme.login-layout .widget-main {
  background: #171c24 !important;
  color: #d7dde7 !important;
  border-color: #2a3340 !important;
}

body.dark-theme.login-layout .row {
  background: #12161d !important;
}

body.dark-theme.login-layout .login-container {
  background: transparent !important;
}

body.dark-theme.login-layout #login-box,
body.dark-theme.login-layout #forgot-box,
body.dark-theme.login-layout #signup-box {
  border: 1px solid #2f3c4c !important;
  border-radius: 4px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(143, 191, 255, 0.04) !important;
  overflow: hidden;
}

body.dark-theme.login-layout .widget-main {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

body.dark-theme.login-layout .header {
  color: #c8d3e0 !important;
  border-bottom-color: #344154 !important;
}

body.dark-theme.login-layout .toolbar {
  background: #12161d !important;
  border-top-color: #344154 !important;
}

body.dark-theme h1,
body.dark-theme h2,
body.dark-theme h3,
body.dark-theme h4,
body.dark-theme h5,
body.dark-theme h6,
body.dark-theme .widget-title,
body.dark-theme .page-header h1,
body.dark-theme label,
body.dark-theme strong {
  color: #f4f7fb;
}

body.dark-theme a,
body.dark-theme .btn-link,
body.dark-theme .nav-list > li > a,
body.dark-theme .dropdown-menu > li > a {
  color: #8fbfff;
}

body.dark-theme a:hover,
body.dark-theme a:focus,
body.dark-theme .nav-list > li > a:hover,
body.dark-theme .dropdown-menu > li > a:hover {
  color: #c4ddff;
  background-color: #202938;
}

body.dark-theme .nav-list > li,
body.dark-theme .nav-list > li > a,
body.dark-theme .nav-list > li.active > a,
body.dark-theme .nav-list > li.open > a,
body.dark-theme .submenu,
body.dark-theme .submenu > li > a {
  background-color: #171c24;
  color: #d7dde7;
  border-color: #2a3340;
}

body.dark-theme .nav-list > li.active > a,
body.dark-theme .submenu > li.active > a {
  background-color: #24344d !important;
  color: #ffffff !important;
  border-color: #3d5270 !important;
}

body.dark-theme .nav-list > li.active > a:before {
  border-right-color: #5f8fc7 !important;
}

body.dark-theme .sidebar-collapse,
body.dark-theme .sidebar-toggle {
  background-color: #171c24 !important;
  border-color: #2a3340 !important;
}

body.dark-theme .sidebar-collapse:before,
body.dark-theme .sidebar-toggle:before {
  border-color: #3a4656 !important;
}

body.dark-theme .sidebar-collapse > .ace-icon,
body.dark-theme .sidebar-toggle > .ace-icon {
  background-color: #202938 !important;
  color: #c8d3e0 !important;
  border-color: #3a4656 !important;
}

body.dark-theme .ace-nav > li > a,
body.dark-theme .ace-nav > li.grey > a,
body.dark-theme .ace-nav > li.purple > a,
body.dark-theme .ace-nav > li.green > a,
body.dark-theme .ace-nav > li.light-blue > a {
  background-color: #171c24 !important;
  color: #d7dde7 !important;
  border-color: #2a3340 !important;
}

body.dark-theme .ace-nav > li > a:hover,
body.dark-theme .ace-nav > li > a:focus,
body.dark-theme .ace-nav > li.open > a,
body.dark-theme .ace-nav > li.open > a:hover,
body.dark-theme .ace-nav > li.open > a:focus {
  background-color: #202938 !important;
  color: #ffffff !important;
}

body.dark-theme table,
body.dark-theme .table,
body.dark-theme .table-bordered,
body.dark-theme .table-striped > tbody > tr,
body.dark-theme .table-hover > tbody > tr:hover {
  background-color: #171c24 !important;
  color: #d7dde7;
  border-color: #2a3340;
}

body.dark-theme .table > thead > tr > th,
body.dark-theme .table > tbody > tr > th,
body.dark-theme .table > tbody > tr > td,
body.dark-theme .table-bordered > thead > tr > th,
body.dark-theme .table-bordered > tbody > tr > td,
body.dark-theme .table-bordered > tfoot > tr > td,
body.dark-theme .widget-body .table thead:first-child tr,
body.dark-theme [class*="widget-color-"] > .widget-body .table thead:first-child tr {
  background-color: #171c24;
  border-color: #2a3340;
}

body.dark-theme .table > thead > tr > th,
body.dark-theme .table > thead > tr > td,
body.dark-theme .table-header,
body.dark-theme .thead,
body.dark-theme .thead th {
  background: #1d2735;
  color: #f4f7fb;
  border-color: #2f3c4c;
}

body.dark-theme .table-striped > tbody > tr:nth-of-type(odd) > td,
body.dark-theme .table-striped > tbody > tr:nth-of-type(odd) > th {
  background-color: #1b222d;
}

body.dark-theme .table-striped > tbody > tr:nth-of-type(even) > td,
body.dark-theme .table-striped > tbody > tr:nth-of-type(even) > th,
body.dark-theme .table-hover > tbody > tr:hover > td,
body.dark-theme .table-hover > tbody > tr:hover > th {
  background-color: #161d27;
}

body.dark-theme .table > tbody > tr.active > td,
body.dark-theme .table > tbody > tr.active > th,
body.dark-theme .table > tbody > tr > td.active,
body.dark-theme .table > tbody > tr > th.active {
  background-color: #202b3a;
}

body.dark-theme .table .small-caption,
body.dark-theme .table .category,
body.dark-theme td.category,
body.dark-theme th.category,
body.dark-theme td.category label,
body.dark-theme th.category label,
body.dark-theme .table .form-title,
body.dark-theme .table .form-title-caps,
body.dark-theme .form-title,
body.dark-theme .form-title-caps {
  background-color: #1d2735 !important;
  color: #a9b7c9 !important;
  border-color: #2f3c4c !important;
}

body.dark-theme input,
body.dark-theme select,
body.dark-theme textarea,
body.dark-theme .form-control,
body.dark-theme .select2-container .select2-choice,
body.dark-theme .select2-container-multi .select2-choices {
  background-color: #10151d;
  color: #eef3fa;
  border-color: #3a4656;
  box-shadow: none;
}

body.dark-theme input:focus,
body.dark-theme select:focus,
body.dark-theme textarea:focus,
body.dark-theme .form-control:focus {
  background-color: #111923;
  color: #ffffff;
  border-color: #6da8ff;
  box-shadow: 0 0 0 2px rgba(109, 168, 255, 0.18);
}

body.dark-theme .btn,
body.dark-theme .btn-white,
body.dark-theme button,
body.dark-theme input[type="button"],
body.dark-theme input[type="submit"],
body.dark-theme input[type="reset"] {
  background-color: #202938 !important;
  color: #eef3fa !important;
  border-color: #3a4656 !important;
}

body.dark-theme .btn:hover,
body.dark-theme .btn:focus,
body.dark-theme .btn-white:hover,
body.dark-theme .btn-white:focus,
body.dark-theme input[type="button"]:hover,
body.dark-theme input[type="submit"]:hover,
body.dark-theme input[type="reset"]:hover {
  background-color: #2a3648;
  color: #ffffff;
  border-color: #52657d;
}

body.dark-theme .navbar-buttons .btn-group > .btn,
body.dark-theme .navbar-buttons .btn-group > a.btn,
body.dark-theme .navbar-buttons .btn-group > input.btn {
  background-color: #171c24 !important;
  color: #e5edf7 !important;
  border-color: #344154 !important;
  box-shadow: inset 0 0 0 1px rgba(143, 191, 255, 0.08);
}

body.dark-theme .navbar-buttons .btn-group > .btn:hover,
body.dark-theme .navbar-buttons .btn-group > .btn:focus,
body.dark-theme .navbar-buttons .btn-group > a.btn:hover,
body.dark-theme .navbar-buttons .btn-group > a.btn:focus,
body.dark-theme .navbar-buttons .btn-group > input.btn:hover,
body.dark-theme .navbar-buttons .btn-group > input.btn:focus {
  background-color: #202938 !important;
  color: #ffffff !important;
  border-color: #4a5e78 !important;
}

body.dark-theme .alert,
body.dark-theme .badge,
body.dark-theme .label {
  border-color: transparent;
}

body.dark-theme .alert-info {
  background-color: #173042;
  color: #c5e6ff;
}

body.dark-theme .alert-warning {
  background-color: #3a2e14;
  color: #ffe1a6;
}

body.dark-theme .alert-danger,
body.dark-theme .alert-error {
  background-color: #3b1d25;
  color: #ffc9d4;
}

body.dark-theme .bugnote,
body.dark-theme .bugnote-note,
body.dark-theme .bugnote-public,
body.dark-theme .bugnote-private {
  background-color: #171c24;
  color: #d7dde7;
  border-color: #2a3340;
}

body.dark-theme .help-block,
body.dark-theme .help-inline,
body.dark-theme .text-muted,
body.dark-theme .lighter,
body.dark-theme .light-grey,
body.dark-theme .grey,
body.dark-theme .small,
body.dark-theme small,
body.dark-theme .footer-content,
body.dark-theme .footer-content span,
body.dark-theme .footer-content div {
  color: #8f9eb2;
}

body.dark-theme hr,
body.dark-theme .hr,
body.dark-theme .hr-8,
body.dark-theme .hr-10,
body.dark-theme .hr-12,
body.dark-theme .hr-16,
body.dark-theme .hr-18,
body.dark-theme .hr-24,
body.dark-theme .hr-32 {
  border-color: #2a3340;
}

body.dark-theme .pagination > li > a,
body.dark-theme .pagination > li > span,
body.dark-theme .pager > li > a,
body.dark-theme .pager > li > span {
  background-color: #171c24;
  color: #8fbfff;
  border-color: #2a3340;
}

body.dark-theme .pagination > .active > a,
body.dark-theme .pagination > .active > span {
  background-color: #315f91;
  color: #ffffff;
  border-color: #4d7db4;
}

body.dark-theme code,
body.dark-theme pre {
  background-color: #0d1117;
  color: #dbeafe;
  border-color: #2a3340;
}

body .footer {
  display: none !important;
}

body:not(.dark-theme) {
  background: #f4f7fb;
  color: #27364a;
}

body:not(.dark-theme) #navbar,
body:not(.dark-theme) .navbar,
body:not(.dark-theme) .navbar-container {
  background: #ffffff;
  border-color: #d8e2ee;
  box-shadow: 0 1px 0 rgba(35, 55, 80, 0.08);
}

body:not(.dark-theme) .navbar-brand {
  color: #24364d !important;
}

body:not(.dark-theme) .main-container,
body:not(.dark-theme) .main-container::before,
body:not(.dark-theme) .main-content,
body:not(.dark-theme) .page-content,
body:not(.dark-theme) .page-content-area {
  background: #f4f7fb !important;
  color: #27364a;
}

body:not(.dark-theme) .breadcrumbs {
  background: #eaf2fa;
  border-color: #d8e2ee;
  color: #46607d;
}

body:not(.dark-theme) .sidebar,
body:not(.dark-theme) .sidebar-shortcuts {
  background: #eef3f8;
  border-color: #d3deeb;
}

body:not(.dark-theme) .nav-list > li,
body:not(.dark-theme) .nav-list > li > a,
body:not(.dark-theme) .submenu,
body:not(.dark-theme) .submenu > li > a {
  background: #eef3f8 !important;
  color: #38516d;
  border-color: #d3deeb;
}

body:not(.dark-theme) .nav-list > li.active > a,
body:not(.dark-theme) .submenu > li.active > a {
  background: #dcecff !important;
  color: #1f5f99 !important;
  border-color: #bdd5ee !important;
}

body:not(.dark-theme) .nav-list > li.active > a:before {
  border-right-color: #70a6d8 !important;
}

body:not(.dark-theme) .sidebar-collapse,
body:not(.dark-theme) .sidebar-toggle {
  background: #e3ebf4 !important;
  border-color: #cad8e6 !important;
}

body:not(.dark-theme) .sidebar-collapse > .ace-icon,
body:not(.dark-theme) .sidebar-toggle > .ace-icon {
  background: #ffffff !important;
  color: #5d728a !important;
  border-color: #c5d4e4 !important;
}

body:not(.dark-theme) .ace-nav > li > a,
body:not(.dark-theme) .ace-nav > li.grey > a,
body:not(.dark-theme) .ace-nav > li.purple > a,
body:not(.dark-theme) .ace-nav > li.green > a,
body:not(.dark-theme) .ace-nav > li.light-blue > a {
  background: #ffffff !important;
  color: #344d68 !important;
  border-color: #d8e2ee !important;
}

body:not(.dark-theme) .ace-nav > li > a:hover,
body:not(.dark-theme) .ace-nav > li > a:focus,
body:not(.dark-theme) .ace-nav > li.open > a,
body:not(.dark-theme) .ace-nav > li.open > a:hover,
body:not(.dark-theme) .ace-nav > li.open > a:focus {
  background: #eef5fc !important;
  color: #1f5f99 !important;
}

body:not(.dark-theme) .navbar-buttons .btn-group > .btn,
body:not(.dark-theme) .navbar-buttons .btn-group > a.btn,
body:not(.dark-theme) .navbar-buttons .btn-group > input.btn {
  background: #ffffff !important;
  color: #2f5f8f !important;
  border-color: #b8d0e8 !important;
  box-shadow: inset 0 0 0 1px rgba(63, 125, 184, 0.08);
}

body:not(.dark-theme) .widget-box,
body:not(.dark-theme) .widget-body,
body:not(.dark-theme) .widget-main,
body:not(.dark-theme) .table-responsive,
body:not(.dark-theme) .form-actions,
body:not(.dark-theme) .well,
body:not(.dark-theme) .panel,
body:not(.dark-theme) .modal-content,
body:not(.dark-theme) .dropdown-menu {
  background: #ffffff;
  color: #27364a;
  border-color: #d8e2ee;
}

body:not(.dark-theme) .widget-box {
  box-shadow: 0 8px 22px rgba(31, 48, 70, 0.06);
}

body:not(.dark-theme) .widget-header,
body:not(.dark-theme) .widget-color-blue2 > .widget-header,
body:not(.dark-theme) .widget-color-blue > .widget-header,
body:not(.dark-theme) .widget-color-green > .widget-header,
body:not(.dark-theme) .widget-color-orange > .widget-header {
  background: linear-gradient(180deg, #e9f3fc 0%, #dceaf7 100%) !important;
  color: #2c4f70;
  border-color: #bfd6ec;
}

body:not(.dark-theme) .widget-header .widget-title,
body:not(.dark-theme) .widget-header .widget-title a,
body:not(.dark-theme) .widget-header a.white,
body:not(.dark-theme) .widget-header .ace-icon,
body:not(.dark-theme) .widget-header .fa,
body:not(.dark-theme) .widget-title,
body:not(.dark-theme) .page-header h1 {
  color: #274764 !important;
}

body:not(.dark-theme) .widget-toolbar,
body:not(.dark-theme) .widget-toolbar > a,
body:not(.dark-theme) .widget-toolbar > .ace-icon,
body:not(.dark-theme) .widget-toolbar > a > .ace-icon {
  color: #5f7f9f !important;
  border-color: #bfd6ec !important;
}

body:not(.dark-theme) table,
body:not(.dark-theme) .table,
body:not(.dark-theme) .table-bordered {
  background: #ffffff !important;
  color: #27364a;
  border-color: #d8e2ee;
}

body:not(.dark-theme) .table > thead > tr > th,
body:not(.dark-theme) .table > tbody > tr > th,
body:not(.dark-theme) .table > tbody > tr > td,
body:not(.dark-theme) .table-bordered > thead > tr > th,
body:not(.dark-theme) .table-bordered > tbody > tr > td,
body:not(.dark-theme) .table-bordered > tfoot > tr > td {
  background-color: #ffffff;
  border-color: #d8e2ee;
}

body:not(.dark-theme) td.category,
body:not(.dark-theme) th.category,
body:not(.dark-theme) td.category label,
body:not(.dark-theme) th.category label,
body:not(.dark-theme) .table .category,
body:not(.dark-theme) .table .small-caption {
  background: #edf5fc !important;
  color: #2f5f8f !important;
  border-color: #c8ddef !important;
}

body:not(.dark-theme) input,
body:not(.dark-theme) select,
body:not(.dark-theme) textarea,
body:not(.dark-theme) .form-control {
  background: #ffffff;
  color: #26364a;
  border-color: #b9cada;
  box-shadow: none;
}

body:not(.dark-theme) input:focus,
body:not(.dark-theme) select:focus,
body:not(.dark-theme) textarea:focus,
body:not(.dark-theme) .form-control:focus {
  border-color: #5f9fd7;
  box-shadow: 0 0 0 2px rgba(95, 159, 215, 0.16);
}

.theme-toggle,
#btn-scroll-up {
  position: fixed;
  bottom: 18px;
  z-index: 1060;
  display: inline-flex !important;
  visibility: visible !important;
  align-items: center;
  justify-content: center;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px;
  padding: 0 !important;
  border: 1px solid rgba(82, 112, 146, 0.22) !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #2d4560 !important;
  box-shadow: 0 12px 28px rgba(31, 48, 70, 0.18) !important;
  font-size: 18px !important;
  line-height: 1;
  opacity: 1 !important;
  pointer-events: auto !important;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, color 160ms ease;
}

.theme-toggle {
  right: 70px;
}

#btn-scroll-up {
  right: 18px;
}

.theme-toggle:hover,
.theme-toggle:focus,
#btn-scroll-up:hover,
#btn-scroll-up:focus {
  transform: translateY(-2px);
  background: #f3f7fb !important;
  color: #19334f !important;
  border-color: rgba(55, 100, 150, 0.34) !important;
  box-shadow: 0 16px 34px rgba(31, 48, 70, 0.22) !important;
  outline: none;
}

#btn-scroll-up > .ace-icon {
  margin: 0 !important;
  font-size: 16px;
  line-height: 1;
}

.theme-toggle .theme-toggle-moon {
  display: none;
}

.theme-toggle .theme-toggle-sun {
  display: inline;
}

body.dark-theme .theme-toggle .theme-toggle-moon {
  display: inline;
}

body.dark-theme .theme-toggle .theme-toggle-sun {
  display: none;
}

body.dark-theme .theme-toggle,
body.dark-theme #btn-scroll-up {
  position: fixed;
  bottom: 18px;
  z-index: 1060;
  display: inline-flex !important;
  visibility: visible !important;
  align-items: center;
  justify-content: center;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px;
  padding: 0 !important;
  border: 1px solid rgba(143, 191, 255, 0.18) !important;
  border-radius: 50% !important;
  background: #202938 !important;
  color: #eef3fa !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease, color 160ms ease;
}

body.dark-theme .theme-toggle {
  right: 70px;
}

body.dark-theme #btn-scroll-up {
  right: 18px;
}

body.dark-theme .theme-toggle:hover,
body.dark-theme .theme-toggle:focus,
body.dark-theme #btn-scroll-up:hover,
body.dark-theme #btn-scroll-up:focus {
  transform: translateY(-2px);
  background: #2a3648 !important;
  color: #ffffff !important;
  border-color: rgba(143, 191, 255, 0.34) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.32) !important;
  outline: none;
}

body.dark-theme #btn-scroll-up > .ace-icon {
  margin: 0 !important;
  font-size: 16px;
  line-height: 1;
}

body {
  --theme-page: #f4f7fb;
  --theme-panel: #ffffff;
  --theme-panel-soft: #f8fbff;
  --theme-panel-strong: #e9f3fc;
  --theme-border: #d5e1ee;
  --theme-border-strong: #b8d0e8;
  --theme-text: #24364d;
  --theme-muted: #668098;
  --theme-accent: #3178b8;
  --theme-accent-soft: #dcecff;
  --theme-button: #ffffff;
  --theme-button-hover: #eef5fc;
  --theme-shadow: 0 16px 42px rgba(31, 48, 70, 0.10);
  --theme-shadow-soft: 0 8px 22px rgba(31, 48, 70, 0.07);
  --theme-focus: 0 0 0 3px rgba(49, 120, 184, 0.18);
}

body.dark-theme {
  --theme-page: #12161d;
  --theme-panel: #171c24;
  --theme-panel-soft: #1c2430;
  --theme-panel-strong: #202b3a;
  --theme-border: #2a3340;
  --theme-border-strong: #3d5270;
  --theme-text: #d7dde7;
  --theme-muted: #93a3b8;
  --theme-accent: #8fbfff;
  --theme-accent-soft: #24344d;
  --theme-button: #202938;
  --theme-button-hover: #2a3648;
  --theme-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
  --theme-shadow-soft: 0 10px 26px rgba(0, 0, 0, 0.22);
  --theme-focus: 0 0 0 3px rgba(143, 191, 255, 0.20);
}

body .widget-box,
body .panel,
body .well,
body .modal-content,
body .tab-content,
body .login-layout #login-box,
body .login-layout #forgot-box,
body .login-layout #signup-box {
  border: 1px solid var(--theme-border) !important;
  border-radius: 8px !important;
  background: var(--theme-panel) !important;
  color: var(--theme-text) !important;
  box-shadow: var(--theme-shadow-soft) !important;
  overflow: hidden;
}

body .widget-header,
body [class*="widget-color-"] > .widget-header {
  min-height: 40px;
  padding-right: 10px;
  border-color: var(--theme-border) !important;
  background: linear-gradient(180deg, var(--theme-panel-strong) 0%, var(--theme-panel-soft) 100%) !important;
  color: var(--theme-text) !important;
}

body .widget-title,
body .widget-header .widget-title,
body .widget-header .widget-title a,
body .widget-header a.white,
body .widget-header .ace-icon,
body .widget-header .fa {
  color: var(--theme-text) !important;
}

body .widget-toolbar,
body .widget-toolbar > a,
body .widget-toolbar > .ace-icon,
body .widget-toolbar > a > .ace-icon {
  color: var(--theme-muted) !important;
  border-color: var(--theme-border) !important;
}

body .widget-main,
body .widget-body,
body .table-responsive,
body .form-actions,
body .widget-toolbox {
  background: var(--theme-panel) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
}

body table,
body .table,
body .table-bordered {
  background: var(--theme-panel) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
}

body .table > thead > tr > th,
body .table > thead > tr > td,
body .table > tbody > tr > th,
body .table > tbody > tr > td,
body .table-bordered > thead > tr > th,
body .table-bordered > tbody > tr > td,
body .table-bordered > tfoot > tr > td {
  background-color: var(--theme-panel) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text) !important;
}

body td.category,
body th.category,
body td.category label,
body th.category label,
body .table .category,
body .table .small-caption,
body .table-header,
body .thead,
body .thead th {
  background: var(--theme-panel-soft) !important;
  color: var(--theme-accent) !important;
  border-color: var(--theme-border) !important;
}

body .btn,
body .btn-white,
body button,
body input[type="button"],
body input[type="submit"],
body input[type="reset"] {
  min-height: 30px;
  border: 1px solid var(--theme-border-strong) !important;
  border-radius: 6px !important;
  background: var(--theme-button) !important;
  color: var(--theme-text) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08), 0 8px 18px rgba(31, 48, 70, 0.08) !important;
  transition: transform 140ms ease, box-shadow 140ms ease, background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

body .btn:hover,
body .btn:focus,
body .btn-white:hover,
body .btn-white:focus,
body button:hover,
body button:focus,
body input[type="button"]:hover,
body input[type="button"]:focus,
body input[type="submit"]:hover,
body input[type="submit"]:focus,
body input[type="reset"]:hover,
body input[type="reset"]:focus {
  transform: translateY(-1px);
  background: var(--theme-button-hover) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-accent) !important;
  box-shadow: 0 12px 24px rgba(31, 48, 70, 0.14) !important;
  outline: none;
}

body input,
body select,
body textarea,
body .form-control,
body .select2-container .select2-choice,
body .select2-container-multi .select2-choices {
  min-height: 32px;
  border: 1px solid var(--theme-border-strong) !important;
  border-radius: 6px !important;
  background: var(--theme-panel) !important;
  color: var(--theme-text) !important;
  box-shadow: inset 0 1px 0 rgba(31, 48, 70, 0.04) !important;
}

body input:focus,
body select:focus,
body textarea:focus,
body .form-control:focus {
  border-color: var(--theme-accent) !important;
  box-shadow: var(--theme-focus) !important;
  outline: none;
}

body .navbar-buttons .btn-group > .btn,
body .navbar-buttons .btn-group > a.btn,
body .navbar-buttons .btn-group > input.btn {
  background: var(--theme-button) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border-strong) !important;
}

body .navbar-buttons .ace-nav > li,
body .navbar-buttons .ace-nav > li.hidden-sm.hidden-xs,
body .navbar-buttons .ace-nav > li.grey {
  background: var(--theme-panel) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
}

body .navbar-buttons .ace-nav > li > a,
body .navbar-buttons .ace-nav > li.grey > a,
body .navbar-buttons .ace-nav > li.hidden-sm.hidden-xs > a {
  background: var(--theme-panel) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
}

body .navbar-buttons .ace-nav .ace-icon,
body .navbar-buttons .ace-nav .white,
body .navbar-buttons .ace-nav .fa-user,
body .navbar-buttons .ace-nav .fa-angle-down {
  color: var(--theme-muted) !important;
  border-color: var(--theme-muted) !important;
}

body .navbar-buttons .ace-nav > li > a:hover .ace-icon,
body .navbar-buttons .ace-nav > li > a:focus .ace-icon,
body .navbar-buttons .ace-nav > li.open > a .ace-icon {
  color: var(--theme-accent) !important;
}

body .nav-list > li > a,
body .submenu > li > a {
  transition: background-color 140ms ease, color 140ms ease, border-color 140ms ease;
}

body .nav-list > li.active > a,
body .submenu > li.active > a {
  background: var(--theme-accent-soft) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border-strong) !important;
}

body .badge,
body .label {
  border-radius: 999px;
  background: var(--theme-muted) !important;
  color: var(--theme-panel) !important;
}

body .label.arrowed:before,
body .label.arrowed-in:before,
body .label.arrowed-right:after,
body .label.arrowed-in-right:after {
  display: none !important;
  border-color: transparent !important;
}

body .page-content > .row {
  background: transparent !important;
  border-color: transparent !important;
}

body .dropdown-menu {
  border: 1px solid var(--theme-border) !important;
  border-radius: 8px !important;
  background: var(--theme-panel) !important;
  box-shadow: var(--theme-shadow) !important;
  overflow: hidden;
}

body .login-layout .widget-main {
  padding: 28px 36px;
}

body.login-layout .login-container {
  background: transparent !important;
}

body.login-layout #login-box,
body.login-layout #forgot-box,
body.login-layout #signup-box {
  box-shadow: var(--theme-shadow) !important;
}

body.login-layout .toolbar {
  background: var(--theme-panel-soft) !important;
  border-top: 1px solid var(--theme-border) !important;
  color: var(--theme-text) !important;
}

body.login-layout .toolbar a {
  color: var(--theme-accent) !important;
}

body .theme-toggle,
body #btn-scroll-up {
  box-shadow: var(--theme-shadow-soft) !important;
}
