.tera-dropdown,
.tera-dropdown .Select,
.tera-dropdown .Select-control,
.tera-dropdown .Select-placeholder,
.tera-dropdown .Select-input,
.tera-dropdown .Select-input > input,
.tera-dropdown .Select-value,
.tera-dropdown .Select-value-label,
.tera-dropdown .Select-value span,
.tera-dropdown .Select-arrow-zone,
.tera-dropdown .Select-clear-zone,
.tera-dropdown .Select-menu-outer,
.tera-dropdown .Select-menu,
.tera-dropdown .VirtualizedSelectOption,
.tera-dropdown .VirtualizedSelectFocusedOption,
.tera-dropdown .is-open > .Select-control,
.tera-dropdown .is-focused:not(.is-open) > .Select-control {
  background: #192132 !important;
  background-color: #192132 !important;
  color: #e6edf7 !important;
}

.tera-dropdown .Select-control {
  border: 1px solid #2a3448 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  min-height: 42px !important;
}

.tera-dropdown .Select-placeholder,
.tera-dropdown .Select--single > .Select-control .Select-value,
.tera-dropdown .Select-value-label,
.tera-dropdown .Select-value-label:hover,
.tera-dropdown .Select--single > .Select-control .Select-value .Select-value-label {
  color: #e6edf7 !important;
}

.tera-dropdown .Select.is-focused > .Select-control,
.tera-dropdown .Select.has-value.is-focused > .Select-control,
.tera-dropdown .is-focused:not(.is-open) > .Select-control,
.tera-dropdown .is-open > .Select-control {
  border-color: #4ea1ff !important;
  box-shadow: 0 0 0 1px #4ea1ff !important;
}

.tera-dropdown .Select-menu-outer {
  border: 1px solid #2a3448 !important;
  border-radius: 12px !important;
  margin-top: 6px !important;
}

.tera-dropdown .VirtualizedSelectOption {
  border-bottom: 1px solid rgba(42, 52, 72, 0.55) !important;
}

.tera-dropdown .VirtualizedSelectFocusedOption {
  background: #22304a !important;
  background-color: #22304a !important;
}

.tera-dropdown .Select-arrow {
  border-top-color: #99a4b8 !important;
}

.tera-dropdown .is-open .Select-arrow {
  border-bottom-color: #99a4b8 !important;
}

.Select-menu-outer,
.Select-menu,
.VirtualizedSelectOption,
.VirtualizedSelectFocusedOption,
.Select-option,
.Select-noresults,
.Select-loading,
.Select-input > input,
.Select-placeholder,
.Select-value-label,
.Select-value,
.Select-control {
  background-color: #192132 !important;
  color: #e6edf7 !important;
}

.Select-menu-outer *,
.Select-menu *,
.VirtualizedSelectOption *,
.VirtualizedSelectFocusedOption *,
.Select-option * {
  background-color: transparent !important;
  color: #e6edf7 !important;
}

.Select-menu-outer {
  border: 1px solid #2a3448 !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.32) !important;
}

.VirtualizedSelectOption,
.Select-option {
  border-bottom: 1px solid rgba(42, 52, 72, 0.55) !important;
}

.VirtualizedSelectFocusedOption,
.Select-option.is-focused,
.Select-option.is-selected,
.Select-option:hover {
  background-color: #22304a !important;
  color: #e6edf7 !important;
}

.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner input,
.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner textarea {
  background-color: #192132 !important;
  color: #e6edf7 !important;
  border: 1px solid #2a3448 !important;
  caret-color: #e6edf7 !important;
}

/* ── Dark theme: every DataTable cell state ────────────────────────── */
/* Catch-all for focused, selected, active, editing — any td state */
.dash-table-container td.focused,
.dash-table-container td.cell--selected,
.dash-table-container td.cell--active,
.dash-table-container td.input-active,
.dash-table-container td[class*="focused"],
.dash-table-container td[class*="selected"],
.dash-table-container td[class*="active"] {
  background-color: #1c2940 !important;
  color: #e6edf7 !important;
  box-shadow: inset 0 0 0 2px #4ea1ff !important;
}

/* The input element that appears when editing a cell */
.dash-table-container td.focused input,
.dash-table-container td.input-active input,
.dash-table-container td[class*="focused"] input,
.dash-table-container td[class*="active"] input {
  background-color: #192132 !important;
  color: #e6edf7 !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  caret-color: #e6edf7 !important;
}

/* Clipboard / marker div overlays Dash renders on focused cells */
.dash-table-container .dash-spreadsheet-inner .dash-cell-value,
.dash-table-container .cell-value-shadow {
  color: #e6edf7 !important;
}

/* Row checkbox selection highlight */
.dash-table-container tr.row--selected td,
.dash-table-container tr[class*="selected"] td {
  background-color: rgba(78, 161, 255, 0.10) !important;
  color: #e6edf7 !important;
}

.dash-table-container .dash-filter,
.dash-table-container td.dash-filter {
  background-color: #192132 !important;
}

.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner input::placeholder,
.dash-table-container .dash-spreadsheet-container .dash-spreadsheet-inner textarea::placeholder {
  color: #99a4b8 !important;
}

.dash-table-container .previous-next-container button,
.dash-table-container .first-page,
.dash-table-container .previous-page,
.dash-table-container .next-page,
.dash-table-container .last-page {
  background: #192132 !important;
  color: #e6edf7 !important;
  border: 1px solid #2a3448 !important;
  border-radius: 10px !important;
}

.dash-table-container .previous-next-container button:hover,
.dash-table-container .first-page:hover,
.dash-table-container .previous-page:hover,
.dash-table-container .next-page:hover,
.dash-table-container .last-page:hover {
  background: #22304a !important;
  border-color: #4ea1ff !important;
}

.dash-table-container .page-number .current-page,
.dash-table-container .current-page-container input.current-page {
  background: #192132 !important;
  color: #e6edf7 !important;
  border: 1px solid #2a3448 !important;
  border-radius: 10px !important;
}

.tera-ag-grid.ag-theme-quartz-dark {
  --ag-background-color: #121826;
  --ag-foreground-color: #e6edf7;
  --ag-header-background-color: #192132;
  --ag-header-foreground-color: #e6edf7;
  --ag-border-color: #2a3448;
  --ag-row-border-color: rgba(42, 52, 72, 0.55);
  --ag-secondary-border-color: #2a3448;
  --ag-wrapper-border-radius: 14px;
  --ag-input-focus-border-color: #4ea1ff;
  --ag-range-selection-border-color: rgba(78, 161, 255, 0.35);
  --ag-selected-row-background-color: rgba(78, 161, 255, 0.12);
  --ag-odd-row-background-color: #121826;
  --ag-control-panel-background-color: #121826;
  --ag-subheader-background-color: #192132;
  --ag-tooltip-background-color: #192132;
  --ag-font-size: 14px;
  --ag-font-family: "Segoe UI", Arial, sans-serif;
}

.tera-ag-grid .ag-root-wrapper {
  border: 1px solid #2a3448;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

.tera-ag-grid .ag-header-cell,
.tera-ag-grid .ag-cell {
  border-right-color: rgba(42, 52, 72, 0.55) !important;
}

.tera-ag-grid .ag-row:hover .ag-cell {
  background-color: rgba(78, 161, 255, 0.06) !important;
}

.tera-ag-grid .ag-floating-filter-input,
.tera-ag-grid .ag-text-field-input,
.tera-ag-grid input[class*="ag-"] {
  background-color: #0f1726 !important;
  color: #e6edf7 !important;
  border: 1px solid #2a3448 !important;
  border-radius: 8px !important;
}

.tera-ag-grid .ag-paging-panel {
  border-top: 1px solid #2a3448 !important;
  color: #e6edf7 !important;
}

.tera-ag-grid .ag-paging-button,
.tera-ag-grid .ag-button,
.tera-ag-grid button {
  color: #e6edf7 !important;
}

/* ── Compact heatmap grid: tight cell/header padding ── */
.tera-heatmap-grid .ag-header-cell {
  padding-left: 4px !important;
  padding-right: 2px !important;
}
.tera-heatmap-grid .ag-cell {
  padding-left: 4px !important;
  padding-right: 4px !important;
  font-size: 12px !important;
}
.tera-heatmap-grid .ag-header-cell-text {
  font-size: 11px !important;
}
