html.theme-dark,
body.theme-dark,
html.theme-dark body,
html.theme-dark #react-entry-point,
html.theme-dark #_dash-app-content,
html.theme-dark .dash-container {
  background-color: var(--color-bg-main);
  color: var(--color-text);
}

body.theme-dark .arraylab-navbar {
  background-color: var(--color-bg-main);
  border-color: var(--color-border);
}

body.theme-dark .arraylab-navbar .navbar-brand,
body.theme-dark .arraylab-navbar .navbar-text,
body.theme-dark .arraylab-navbar .nav-link,
body.theme-dark .arraylab-navbar .btn,
body.theme-dark .arraylab-navbar .dropdown-toggle {
  color: var(--color-text);
}

body.theme-dark .brand-delius {
  color: var(--color-text) !important;
}

body.theme-dark .brand-io,
body.theme-dark .brand-product {
  color: var(--color-primary) !important;
}

body.theme-dark .main-wrap {
  min-height: 100vh;
  background-color: var(--color-bg-main);
}

body.theme-dark .main-wrap,
body.theme-dark .modal-content,
body.theme-dark .dbc,
body.theme-dark .tab-content,
body.theme-dark .tab-pane,
body.theme-dark .card {
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark .modal-content {
  background-color: var(--color-surface);
}

body.theme-dark .section-tab-btn {
  background: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark #section-tabs,
body.theme-dark .section-tabs,
body.theme-dark .section-tabs-wrap,
body.theme-dark #section-tabs.section-header {
  background-color: var(--color-bg-main);
  border-color: var(--color-border);
  color: var(--color-text);
}

body.theme-dark .section-tab-btn.active {
  background: var(--color-bg-light);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark .modal-header,
body.theme-dark .modal-footer,
body.theme-dark .nav-tabs,
body.theme-dark .hr,
body.theme-dark hr {
  background-color: transparent;
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark .nav-tabs .nav-link,
body.theme-dark .nav-link,
body.theme-dark .tab-content .nav-link {
  color: var(--color-text);
  background-color: transparent;
  border-color: var(--color-border);
}

body.theme-dark .nav-tabs .nav-link.active,
body.theme-dark .nav-link.active {
  background-color: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark .dropdown-menu {
  background-color: var(--color-bg-main);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark .project-pill-toggle,
body.theme-dark .project-pill-dropdown .dropdown-toggle,
body.theme-dark .project-pill-dropdown .btn {
  background-color: var(--color-bg-main);
  color: var(--color-text) !important;
  border-color: var(--color-border);
}

body.theme-dark .project-pill-dropdown .dropdown-toggle:hover,
body.theme-dark .project-pill-dropdown .dropdown-toggle:focus,
body.theme-dark .project-pill-dropdown.show .project-pill-toggle {
  background-color: var(--color-surface);
  color: var(--color-text) !important;
}

body.theme-dark .dropdown-item,
body.theme-dark .dropdown-item-text {
  color: var(--color-text);
}

body.theme-dark .dropdown-item:hover,
body.theme-dark .dropdown-item:focus,
body.theme-dark .dropdown-item.active,
body.theme-dark .dropdown-item:active {
  background-color: var(--color-surface);
  color: var(--color-text);
}

body.theme-dark .form-check-label,
body.theme-dark .btn,
body.theme-dark .card-title,
body.theme-dark .card-text {
  color: var(--color-text);
}

body.theme-dark .form-control {
  background-color: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark .form-control::placeholder {
  color: var(--color-muted);
  opacity: 1;
}

body.theme-dark .form-control:focus {
  background-color: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.2rem rgba(30, 144, 255, 0.25);
}

body.theme-dark .form-control:disabled,
body.theme-dark .form-control[readonly] {
  background-color: var(--color-surface);
  color: var(--color-muted);
}

body.theme-dark .form-select {
  background-color: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
  color-scheme: dark;
}

body.theme-dark .form-select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.2rem rgba(30, 144, 255, 0.25);
}

body.theme-dark .input-group-text {
  background-color: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark .form-check-input {
  background-color: var(--color-surface);
  border-color: var(--color-border);
}

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

body.theme-dark .form-check-input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.2rem rgba(30, 144, 255, 0.25);
}

body.theme-dark .text-muted {
  color: var(--color-muted) !important;
}

body.theme-dark .ag-theme-balham-dark {
  --ag-background-color: var(--color-surface);
  --ag-foreground-color: var(--color-text);
  --ag-border-color: var(--color-border);
  --ag-header-background-color: var(--color-surface);
  --ag-odd-row-background-color: var(--color-bg-light);
}

body.theme-dark .ag-theme-balham-dark .ag-root-wrapper,
body.theme-dark .ag-theme-balham-dark .ag-header,
body.theme-dark .ag-theme-balham-dark .ag-row,
body.theme-dark .ag-theme-balham-dark .ag-cell {
  border-color: var(--color-border);
}

body.theme-dark table,
body.theme-dark .table,
body.theme-dark .table thead th,
body.theme-dark .table tbody td,
body.theme-dark .table-striped,
body.theme-dark .table-hover {
  background-color: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark .table-striped tbody tr:nth-of-type(odd) {
  background-color: var(--color-bg-light);
}

body.theme-dark .table-hover tbody tr:hover {
  background-color: var(--color-surface);
  color: var(--color-text);
}

body.theme-dark #internal-management-shell .provisioning-selected-row > td {
  background-color: rgba(96, 165, 250, 0.12) !important;
  color: var(--color-text) !important;
  box-shadow:
    inset 0 1px 0 rgba(96, 165, 250, 0.18),
    inset 0 -1px 0 rgba(96, 165, 250, 0.18);
}

body.theme-dark #internal-management-shell .provisioning-selected-row > td:first-child {
  border-left-color: var(--color-primary);
}

body.theme-dark #internal-management-shell .provisioning-selected-company-row > td:first-child .btn-link,
body.theme-dark #internal-management-shell .provisioning-selected-project-row > td:first-child .btn-link,
body.theme-dark #internal-management-shell .provisioning-project-name-btn.is-selected-project {
  color: var(--color-primary);
}

body.theme-dark #internal-management-shell .table-hover > tbody > tr.provisioning-selected-row:hover > * {
  background-color: rgba(96, 165, 250, 0.16) !important;
  color: var(--color-text) !important;
}

body.theme-dark #internal-management-shell .table-hover > tbody > tr:not(.provisioning-selected-row):hover > * {
  background-color: var(--color-surface) !important;
  color: var(--color-text) !important;
}

body.theme-dark .Select-control,
body.theme-dark .Select-menu-outer,
body.theme-dark .Select-option,
body.theme-dark .Select-arrow-zone {
  background-color: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark .Select-value-label,
body.theme-dark .Select-value,
body.theme-dark .Select-placeholder,
body.theme-dark .Select-input > input {
  color: var(--color-text) !important;
}

body.theme-dark .Select.is-focused > .Select-control,
body.theme-dark .Select.is-open > .Select-control {
  background-color: var(--color-surface);
  color: var(--color-text);
  border-color: var(--color-border);
}

body.theme-dark .Select-control {
  background-color: var(--color-surface) !important;
  border-color: var(--color-border) !important;
}

body.theme-dark .Select-menu-outer {
  background-color: var(--color-bg-main);
  border-color: var(--color-border);
}

body.theme-dark .Select-option.is-focused {
  background-color: var(--color-surface);
  color: var(--color-text);
}

body.theme-dark .Select-option.is-selected {
  background-color: var(--color-border);
  color: var(--color-text);
}


body.theme-dark .settings-tabs,
body.theme-dark .settings-tabs__bar {
  background: var(--color-surface);
  border-color: var(--color-border);
}

body.theme-dark .settings-tab {
  background: transparent;
  color: var(--color-text);
}

body.theme-dark .settings-tab--selected {
  background: var(--color-bg-light) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}

body.theme-dark .settings-tabs__bar .settings-tab:hover,
body.theme-dark .settings-tabs__bar .settings-tab:focus,
body.theme-dark .settings-tabs__bar .settings-tab--selected:hover,
body.theme-dark .settings-tabs__bar .settings-tab--selected:focus {
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
  border-color: var(--color-border) !important;
}


body.theme-dark .dash-graph,
body.theme-dark .js-plotly-plot,
body.theme-dark .plot-container,
body.theme-dark .svg-container {
  background-color: var(--color-surface);
  color: var(--color-text);
}

body.theme-dark .pv-dropdown-sticky label,
body.theme-dark .pv-dropdown-sticky .fw-bold,
body.theme-dark .asbuilt-dropdown-sticky label,
body.theme-dark .asbuilt-dropdown-sticky .fw-bold {
  color: var(--color-text) !important;
}

body.theme-dark .ag-theme-balham-dark .editable-status-cell {
  background-color: rgba(255, 193, 7, 0.18) !important;
  color: var(--color-text) !important;
}

body.theme-dark #calculation-overview-grid .calc-overview-detail-row-pending .ag-cell {
  background-color: rgba(255, 193, 7, 0.18) !important;
  color: var(--color-text) !important;
}

body.theme-dark .asbuilt-block-summary-row .ag-cell {
  background-color: var(--color-bg-light);
  color: var(--color-text);
}

body.theme-dark .ag-theme-balham-dark .block-bold-cell {
  color: var(--color-text) !important;
}

body.theme-dark .dyn-title {
  color: var(--color-text) !important;
}


body.theme-dark #section-tabs.section-header {
  background-color: var(--color-bg-main);
  border-color: var(--color-border);
  color: var(--color-text);
}

body.theme-dark #section-tab-buttons {
  background-color: transparent;
}

body.theme-dark #settings-modal .developer-branding .developer-logo .logo {
  color: var(--color-text) !important;
}

body.theme-dark #settings-modal .developer-logo .logo .io {
  color: var(--developer-logo-blue);
  opacity: 1;
}

body.theme-dark #project-loading-overlay {
  background-color: rgba(0, 0, 0, 0.5) !important;
}

body.theme-dark #ui-busy-overlay,
body.theme-dark #dataset-upload-progress-overlay {
  background-color: rgba(0, 0, 0, 0.65) !important;
}

body.theme-dark #project-loading-overlay > div,
body.theme-dark #ui-busy-overlay > div,
body.theme-dark #dataset-upload-progress-overlay > div {
  background-color: var(--color-surface) !important;
  color: var(--color-text) !important;
  border: 1px solid var(--color-border) !important;
}

body.theme-dark #pv-tracker-graph .js-plotly-plot .scatterlayer .textpoint text {
  paint-order: stroke fill;
  stroke: rgba(0,0,0,0.90);
  stroke-width: 1px;
  stroke-linejoin: round;
}
