/* Generated by openmediavault-themekit. Do not edit directly. */

:root {
}





:root {
  /* --- PAGE COLORS --- */
  --color-pageBackground: #191919;
  --color-pageBackgroundModalActive: #202020;
  --color-pageBackgroundTopLeft: #191919;
  --color-pageBackgroundBottomRight: #191919;
  --color-pageBackgroundLineTop: #2c2c2c;
  --color-pageBackgroundLineMid: #2c2c2c;
  --color-pageBackgroundLineBottom: #454B4E;
  --color-pageText: #f0efed;
  --color-pageTextLight: rgba(255,255,255,0.9);
  --color-pageTextSubdued: #9B9B9B;
  --color-pageTextDark: #FFFFFF;
  --color-pageTextPositive: #4DAB9A;
  --color-pageTextLink: #2783DE;
  --color-pageTextLinkLight: #2783DE;

  /* --- CARDS & MODALS --- */
  --color-cardBackground: #202020;
  --color-cardBorder: #2c2c2c;
  --color-cardShadow: rgba(0, 0, 0, 0.5);
  --color-modalBackground: #202020;
  --color-modalBorder: #2c2c2c;
  --color-overlayBackground: rgba(0, 0, 0, 0.3);

  /* --- THE BUDGET TABLE --- */
  --color-tableBackground: #202020;
  --color-tableRowBackgroundHover: #2c2c2c;
  --color-tableText: #f0efed;
  --color-tableTextLight: #9B9B9B;
  --color-tableTextSubdued: #9B9B9B;
  --color-tableTextSelected: #FFFFFF;
  --color-tableTextHover: #f0efed;
  --color-tableTextInactive: #9B9B9B;
  --color-tableHeaderText: #f0efed;
  --color-tableHeaderBackground: #202020;
  --color-tableBorder: #2c2c2c;
  --color-tableBorderSelected: #2783DE;
  --color-tableBorderHover: #3D90E1;
  --color-tableBorderSeparator: #272727;
  --color-tableRowBackgroundHighlight: #1f2834;
  --color-tableRowBackgroundHighlightText: #f0efed;
  --color-tableRowHeaderBackground: #202020;
  --color-tableRowHeaderText: #f0efed;

  /* --- NUMBERS & BUDGETING --- */
  --color-numberPositive: #4DAB9A;
  --color-numberNegative: #FF7369;
  --color-numberNeutral: #9B9B9B;
  --color-budgetNumberNegative: #FF7369;
  --color-budgetNumberZero: #f0efed;
  --color-budgetNumberNeutral: #9B9B9B;
  --color-budgetNumberPositive: #f0efed;
  --color-templateNumberFunded: #4DAB9A;
  --color-templateNumberUnderFunded: #FFDC49;
  --color-toBudgetPositive: #4DAB9A;
  --color-toBudgetZero: #9B9B9B;
  --color-toBudgetNegative: #FF7369;
  --color-budgetTableBudgetedBackground: #252525;
  --color-budgetTableSpentBackground: #252525;
  --color-budgetTableAvailableBackground: #252525;
  --color-budgetNumberBackground: #252525;

  /* --- SIDEBAR --- */
  --color-sidebarBackground: #202020;
  --color-sidebarItemBackgroundPending: #202020;
  --color-sidebarItemBackgroundPositive: #202020;
  --color-sidebarItemBackgroundFailed: #202020;
  --color-sidebarItemAccentSelected: #f0efed;
  --color-sidebarItemBackgroundHover: #2C2C2C;
  --color-sidebarItemText: #bcbab6;
  --color-sidebarItemTextSelected: #f0efed;
  --color-sidebarBudgetName: #f0efed;
  --color-sidebarItemTextNegative: #FF7369;

  /* --- MENUS --- */
  --color-menuBackground: #202020;
  --color-menuItemBackground: #252525;
  --color-menuItemBackgroundHover: #313131;
  --color-menuItemText: #f0efed;
  --color-menuItemTextHover: #f0efed;
  --color-menuItemTextSelected: #2783DE;
  --color-menuItemTextHeader: #9B9B9B;
  --color-menuBorder: #373736;
  --color-menuBorderHover: #2783DE;
  --color-menuKeybindingText: #2783DE;
  --color-menuAutoCompleteBackground: #202020;
  --color-menuAutoCompleteBackgroundHover: #2c2c2c;
  --color-menuAutoCompleteText: #f0efed;
  --color-menuAutoCompleteTextHeader: #f0efed;
  --color-menuAutoCompleteItemText: #bcbab6;

  /* --- MOBILE --- */
  --color-mobileHeaderBackground: #2c2c2c;
  --color-mobileHeaderText: #f0efed;
  --color-mobileHeaderTextSubdued: #9B9B9B;
  --color-mobileHeaderTextHover: #2c2c2c;
  --color-mobilePageBackground: #191919;
  --color-mobileNavBackground: #2c2c2c;
  --color-mobileNavItem: #9B9B9B;
  --color-mobileNavItemSelected: #f0efed;
  --color-mobileAccountShadow: rgba(0, 0, 0, 0.5);
  --color-mobileAccountText: #2783DE;
  --color-mobileTransactionSelected: #2c2c2c;
  --color-mobileViewTheme: #191919;
  --color-mobileConfigServerViewTheme: #191919;

  /* --- BUTTONS --- */
  --color-buttonMenuText: #9B9B9B;
  --color-buttonMenuTextHover: #f0efed;
  --color-buttonMenuBackground: transparent;
  --color-buttonMenuBackgroundHover: #383838;
  --color-buttonMenuBorder: #9B9B9B;
  --color-buttonMenuSelectedText: #f0efed;
  --color-buttonMenuSelectedTextHover: #f0efed;
  --color-buttonMenuSelectedBackground: #2783DE;
  --color-buttonMenuSelectedBackgroundHover: #3D90E1;
  --color-buttonMenuSelectedBorder: #2783DE;

  --color-buttonPrimaryText: #FFFFFF;
  --color-buttonPrimaryTextHover: #FFFFFF;
  --color-buttonPrimaryBackground: #2783DE;
  --color-buttonPrimaryBackgroundHover: #3D90E1;
  --color-buttonPrimaryBorder: #2783DE;
  --color-buttonPrimaryShadow: rgba(0, 0, 0, 0.6);
  --color-buttonPrimaryDisabledText: #9B9B9B;
  --color-buttonPrimaryDisabledBackground: #252525;
  --color-buttonPrimaryDisabledBorder: #252525;

  --color-buttonNormalText: #f0efed;
  --color-buttonNormalTextHover: #f0efed;
  --color-buttonNormalBackground: #2c2c2c;
  --color-buttonNormalBackgroundHover: #2c2c2c;
  --color-buttonNormalBorder: #2c2c2c;
  --color-buttonNormalShadow: rgba(0, 0, 0, 0.4);
  --color-buttonNormalSelectedText: #f0efed;
  --color-buttonNormalSelectedBackground: #2783DE;
  --color-buttonNormalDisabledText: #9B9B9B;
  --color-buttonNormalDisabledBackground: #333333;
  --color-buttonNormalDisabledBorder: #2c2c2c;

  --color-buttonBareText: #aca9a3;
  --color-buttonBareTextHover: #aca9a3;
  --color-buttonBareBackground: transparent;
  --color-buttonBareBackgroundHover: #383838;
  --color-buttonBareBackgroundActive: #2c2c2c;
  --color-buttonBareDisabledText: #9B9B9B;
  --color-buttonBareDisabledBackground: transparent;

  /* --- CALENDAR --- */
  --color-calendarText: #f0efed;
  --color-calendarBackground: #191919;
  --color-calendarItemText: #f0efed;
  --color-calendarItemBackground: #202020;
  --color-calendarSelectedBackground: #2783DE;
  --color-calendarCellBackground: #191919;

  /* --- NOTICES, WARNINGS & ERRORS --- */
  --color-noticeBackground: #202020;
  --color-noticeBackgroundLight: #202020;
  --color-noticeBackgroundDark: #2c2c2c;
  --color-noticeText: #f0efed;
  --color-noticeTextLight: #4DAB9A;
  --color-noticeTextDark: #f0efed;
  --color-noticeTextMenu: #4DAB9A;
  --color-noticeBorder: #2783DE;

  --color-warningBackground: #59563B;
  --color-warningText: #f0efed;
  --color-warningTextLight: #FFDC49;
  --color-warningTextDark: #f0efed;
  --color-warningBorder: #FFDC49;

  --color-errorBackground: #594141;
  --color-errorText: #FF7369;
  --color-errorTextDark: #f0efed;
  --color-errorTextDarker: #f0efed;
  --color-errorTextMenu: #FF7369;
  --color-errorBorder: #FF7369;

  --color-upcomingBackground: #454B4E;
  --color-upcomingText: #f0efed;
  --color-upcomingBorder: #2c2c2c;

  /* --- FORMS & INPUTS --- */
  --color-formLabelText: #9B9B9B;
  --color-formLabelBackground: #191919;
  --color-formInputBackground: #252525;
  --color-formInputBackgroundSelected: #383838;
  --color-formInputBackgroundSelection: #2783DE;
  --color-formInputBorder: #2c2c2c;
  --color-formInputTextReadOnlySelection: #202020;
  --color-formInputBorderSelected: #2783DE;
  --color-formInputText: #f0efed;
  --color-formInputTextSelected: #191919;
  --color-formInputTextPlaceholder: #9B9B9B;
  --color-formInputTextPlaceholderSelected: #f0efed;
  --color-formInputTextSelection: #f0efed;
  --color-formInputShadowSelected: transparent;
  --color-formInputTextHighlight: #2783DE;

  /* --- CHECKBOXES --- */
  --color-checkboxText: #f0efed;
  --color-checkboxBackgroundSelected: #2783DE;
  --color-checkboxBorderSelected: #2783DE;
  --color-checkboxShadowSelected: transparent;
  --color-checkboxToggleBackground: #2c2c2c;
  --color-checkboxToggleBackgroundSelected: #2783DE;
  --color-checkboxToggleDisabled: #454B4E;

  /* --- PILLS --- */
  --color-pillBackground: #252525;
  --color-pillBackgroundLight: #202020;
  --color-pillText: #f0efed;
  --color-pillTextHighlighted: #FFFFFF;
  --color-pillBorder: #383838;
  --color-pillBorderDark: #383838;
  --color-pillBackgroundSelected: #2783DE;
  --color-pillTextSelected: #f0efed;
  --color-pillBorderSelected: #2783DE;
  --color-pillTextSubdued: #9B9B9B;

  /* --- REPORTS --- */
  --color-reportsRed: #FF7369;
  --color-reportsBlue: #2783DE;
  --color-reportsGreen: #4DAB9A;
  --color-reportsGray: #252525;
  --color-reportsLabel: #f0efed;
  --color-reportsInnerLabel: #202020;
  --color-reportsNumberPositive: #4DAB9A;
  --color-reportsNumberNegative: #FF7369;
  --color-reportsNumberNeutral: #9B9B9B;
  --color-reportsChartFill: #2783DE;

  /* --- TAGS & NOTES --- */
  --color-noteTagBackground: #202020;
  --color-noteTagBackgroundHover: #3D90E1;
  --color-noteTagDefault: #202020;
  --color-noteTagText: #f0efed;

  /* --- BUDGET MONTH OVERRIDES --- */
  --color-budgetOtherMonth: #202020;
  --color-budgetCurrentMonth: #252525;
  --color-budgetHeaderOtherMonth: #2C2C2C;
  --color-budgetHeaderCurrentMonth: #383838;

  /* --- ACTION BAR & TOOLTIPS --- */
  --color-floatingActionBarBackground: #2783DE;
  --color-floatingActionBarBorder: #2783DE;
  --color-floatingActionBarText: #f0efed;
  --color-tooltipText: #f0efed;
  --color-tooltipBackground: #252525;
  --color-tooltipBorder: #2c2c2c;

  /* --- RULES ENGINE & DEFAULTS --- */
  --color-keywordText: #2783DE;
  --color-variableText: #2783DE;
  --color-stringText: #f0efed;
  --color-pageTextPositiveSubdued: #4DAB9A;
  --color-accountTextNegative: #FF7369;
}

/* --- OMV AUTOMATED MAPPING --- */
:root, .omv-dark-theme {
  --theme-primary: var(--color-buttonPrimaryBackground, var(--color-sidebarBackground, #5dacdf));
}

body, .omv-dark-theme, .mat-app-background, .mat-typography {
  background-color: var(--color-pageBackground) !important;
  --mat-background-color-body: var(--color-pageBackground) !important;
  color: var(--color-pageText) !important;
}

.mat-drawer-container, .omv-dark-theme .mat-drawer-container {
  background-color: var(--color-pageBackground) !important;
  color: var(--color-pageText) !important;
}

.mat-drawer, .omv-dark-theme .mat-drawer {
  background-color: var(--color-sidebarBackground) !important;
  color: var(--color-sidebarItemText, var(--color-pageText, #000)) !important;
}

/* Navbar / Sidebar text colors */
.mat-drawer .mat-list-item,
.omv-dark-theme .mat-drawer .mat-list-item,
.mat-drawer .mat-list-item .mdc-list-item__primary-text,
.omv-dark-theme .mat-drawer .mat-list-item .mdc-list-item__primary-text,
.mat-drawer a, .omv-dark-theme .mat-drawer a {
    color: var(--color-sidebarItemText, var(--color-pageText, #000)) !important;
}

.mat-card, .omv-dark-theme .mat-card {
  background-color: var(--color-cardBackground, var(--color-pageBackground)) !important;
  color: var(--color-pageText) !important;
}

/* Datatable Text */
.ngx-datatable, .omv-dark-theme .ngx-datatable,
.ngx-datatable .datatable-body-cell, .omv-dark-theme .ngx-datatable .datatable-body-cell,
.ngx-datatable .datatable-header-cell, .omv-dark-theme .ngx-datatable .datatable-header-cell {
  color: var(--color-tableText, var(--color-pageText)) !important;
}

/* Hide Dark Mode toggle for custom themes because the theme provides its own colors */
button.mat-menu-item:has(mat-icon[svgicon="mdi:weather-night"]) {
  display: none !important;
}


:root {
  /* Base Material Color Overrides */
  --mat-primary-color-text: var(--theme-primary);
  --mdc-theme-primary: var(--theme-primary);
  --mat-sys-primary: var(--theme-primary);
  --mdc-filled-button-container-color: var(--theme-primary);
  --mdc-outlined-button-label-text-color: var(--theme-primary);
  --mdc-text-button-label-text-color: var(--theme-primary);
  
  /* Checkboxes & Radios */
  --mdc-checkbox-selected-focus-icon-color: var(--theme-primary);
  --mdc-checkbox-selected-hover-icon-color: var(--theme-primary);
  --mdc-checkbox-selected-icon-color: var(--theme-primary);
  --mdc-checkbox-selected-pressed-icon-color: var(--theme-primary);
  --mdc-radio-selected-focus-icon-color: var(--theme-primary);
  --mdc-radio-selected-hover-icon-color: var(--theme-primary);
  --mdc-radio-selected-icon-color: var(--theme-primary);
  --mdc-radio-selected-pressed-icon-color: var(--theme-primary);

  /* Sliders & Toggles */
  --mdc-slider-handle-color: var(--theme-primary);
  --mdc-slider-focus-handle-color: var(--theme-primary);
  --mdc-slider-hover-handle-color: var(--theme-primary);
  --mdc-slider-active-track-color: var(--theme-primary);
  --mdc-switch-selected-handle-color: var(--theme-primary);
  --mdc-switch-selected-track-color: var(--theme-primary);

  /* Forms & Inputs */
  --mdc-outlined-text-field-focus-outline-color: var(--theme-primary);
  --mdc-outlined-text-field-focus-label-text-color: var(--theme-primary);
  --mat-select-focused-arrow-color: var(--theme-primary);
  
  /* Tabs */
  --mat-tab-header-active-label-text-color: var(--theme-primary);
  --mat-tab-header-active-ripple-color: var(--theme-primary);
  --mat-tab-header-active-focus-label-text-color: var(--theme-primary);
  --mat-tab-header-active-hover-label-text-color: var(--theme-primary);
}

/* --------------------------------------------------------
   AGGRESSIVE OMV 8 OVERRIDES
   OMV hardcodes `#5dacdf` (blue) in its compiled CSS instead of 
   using MDC variables everywhere. We must aggressively override 
   these specific classes to ensure the theme applies correctly. 
   -------------------------------------------------------- */


.ng-scrollbar {
  scrollbar-color:var(--theme-primary) transparent !important;
  --scrollbar-thumb-color: var(--theme-primary) !important;
}

.mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
  color:var(--theme-primary) !important;
}

.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate {
  background:var(--theme-primary) !important;
}

.mat-badge-content {
  background-color: var(--theme-primary) !important;
}
.mat-badge-accent .mat-badge-content {
  background-color: var(--color-warningText, #ff9800) !important;
  color: rgba(0,0,0,0.87) !important;
}
.mat-badge-warn .mat-badge-content {
  background-color: var(--color-errorText, #f44336) !important;
  color: #fff !important;
}

.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary {
  color:var(--theme-primary) !important;
}

.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay {
  background-color:var(--theme-primary) !important;
}

/* Override hardcoded OMV grey/white backgrounds for standard buttons */
.mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab,
.omv-dark-theme .mat-flat-button, .omv-dark-theme .mat-raised-button, .omv-dark-theme .mat-fab, .omv-dark-theme .mat-mini-fab {
  color: var(--color-buttonNormalText, var(--color-pageText, #000000de)) !important;
  background-color: var(--color-buttonNormalBackground, var(--color-cardBackground, #fff)) !important;
}

.mat-flat-button.mat-primary,.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary, .omv-background-color-pair-primary {
  background-color:var(--theme-primary) !important;
  color: var(--color-buttonPrimaryText, #ffffff) !important;
}

.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background,
.mat-checkbox-checked.mat-primary .mat-checkbox-background,
.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,
.mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: var(--color-checkboxBackgroundSelected, var(--theme-primary)) !important;
}

.mat-checkbox-checkmark-path, .omv-dark-theme .mat-checkbox-checkmark-path {
  stroke: var(--color-buttonPrimaryText, #ffffff) !important;
}

.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: var(--color-checkboxBackgroundSelected, var(--theme-primary)) !important;
}

.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color:var(--theme-primary) !important;
}

.mat-calendar-body-selected {
  background-color:var(--theme-primary) !important;
}

.mat-calendar-body-disabled>.mat-calendar-body-selected {
  background-color:color-mix(in srgb, var(--theme-primary) 40%, transparent) !important;
}

.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color:color-mix(in srgb, var(--theme-primary) 30%, transparent) !important;
}

.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color:color-mix(in srgb, var(--theme-primary) 30%, transparent) !important;
}

.mat-datepicker-toggle-active {
  color:var(--theme-primary) !important;
}

.mat-form-field.mat-focused .mat-form-field-label {
  color:var(--theme-primary) !important;
}

.mat-form-field.mat-focused .mat-form-field-ripple {
  background-color:var(--theme-primary) !important;
}

.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after {
  color:var(--theme-primary) !important;
}

.mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color:var(--theme-primary) !important;
}

.mat-icon.mat-primary {
  color:var(--theme-primary) !important;
}

.mat-input-element {
  caret-color:var(--theme-primary) !important;
}

.mat-progress-bar-fill:after {
  background-color:var(--theme-primary) !important;
}

.mat-progress-spinner circle,.mat-spinner circle {
  stroke:var(--theme-primary) !important;
}

.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {
  border-color:var(--theme-primary) !important;
}

.mat-radio-button.mat-primary .mat-radio-inner-circle,.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {
  background-color:var(--theme-primary) !important;
}

.mat-form-field.mat-focused.mat-primary .mat-select-arrow {
  color:var(--theme-primary) !important;
}

.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: var(--theme-primary) !important;
}

.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: var(--color-checkboxToggleBackgroundSelected, color-mix(in srgb, var(--theme-primary) 54%, transparent)) !important;
}

.mat-slide-toggle.mat-checked .mat-ripple-element {
  background-color: var(--theme-primary) !important;
}

.mat-slider.mat-primary .mat-slider-track-fill,.mat-slider.mat-primary .mat-slider-thumb,.mat-slider.mat-primary .mat-slider-thumb-label {
  background-color:var(--theme-primary) !important;
}

.mat-slider.mat-primary .mat-slider-focus-ring {
  background-color:color-mix(in srgb, var(--theme-primary) 20%, transparent) !important;
}

.mat-step-header .mat-step-icon-selected,.mat-step-header .mat-step-icon-state-done,.mat-step-header .mat-step-icon-state-edit {
  background-color:var(--theme-primary) !important;
}

.mat-tab-label, .mat-tab-link {
  color: var(--color-pageText, inherit) !important;
}

.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar {
  background-color:var(--theme-primary) !important;
}

.mat-tab-group.mat-background-primary>.mat-tab-header,.mat-tab-group.mat-background-primary>.mat-tab-link-container,.mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container,.mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination {
  background-color:var(--theme-primary) !important;
}

.mat-toolbar.mat-primary {
  background:var(--theme-primary) !important;
}

.mat-flat-button.omv-background-color-pair-primary {
  background-color:var(--theme-primary) !important;
}

.mat-chip.omv-background-color-pair-primary {
  background-color:var(--theme-primary) !important;
}

:root {
  --mat-primary-color-text: var(--theme-primary) !important;
  --mat-background-color-body: var(--theme-primary) !important;
}

.mat-menu-panel {
  background: var(--color-menuItemBackground, var(--color-cardBackground, var(--color-pageBackground, white))) !important;
  color: var(--color-menuItemText, var(--color-pageText, inherit)) !important;
  scrollbar-color:var(--theme-primary) transparent !important;
  --scrollbar-thumb-color: var(--theme-primary) !important;
}



.mat-select-panel {
  background: var(--color-menuItemBackground, var(--color-cardBackground, var(--color-pageBackground, white))) !important;
  color: var(--color-menuItemText, var(--color-pageText, inherit)) !important;
  scrollbar-color:var(--theme-primary) transparent !important;
  --scrollbar-thumb-color: var(--theme-primary) !important;
}

.mat-dialog-container {
  background: var(--color-cardBackground, var(--color-pageBackground, white)) !important;
  color: var(--color-pageText, inherit) !important;
  scrollbar-color:var(--theme-primary) transparent !important;
  --scrollbar-thumb-color: var(--theme-primary) !important;
}

.mat-tooltip {
  background: color-mix(in srgb, var(--color-menuItemBackground, var(--color-cardBackground, #5d6d7d)) 90%, transparent) !important;
  color: var(--color-menuItemText, var(--color-pageText, #fff)) !important;
}

.mat-toolbar {
  color:var(--theme-primary) !important;
}

.omv-dark-theme {
  --mat-primary-color-text: var(--theme-primary) !important;
}

.omv-dark-theme .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
  color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-primary .mat-pseudo-checkbox-checked,.omv-dark-theme .mat-primary .mat-pseudo-checkbox-indeterminate {
  background:var(--theme-primary) !important;
}

.omv-dark-theme .mat-badge-content {
  background-color: var(--theme-primary) !important;
}
.omv-dark-theme .mat-badge-accent .mat-badge-content {
  background-color: var(--color-warningText, #ffb74d) !important;
  color: rgba(0,0,0,0.87) !important;
}
.omv-dark-theme .mat-badge-warn .mat-badge-content {
  background-color: var(--color-errorText, #e57373) !important;
  color: #fff !important;
}

.omv-dark-theme .mat-button.mat-primary,.omv-dark-theme .mat-icon-button.mat-primary,.omv-dark-theme .mat-stroked-button.mat-primary {
  color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-button.mat-primary .mat-button-focus-overlay,.omv-dark-theme .mat-icon-button.mat-primary .mat-button-focus-overlay,.omv-dark-theme .mat-stroked-button.mat-primary .mat-button-focus-overlay {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-flat-button.mat-primary,.omv-dark-theme .mat-raised-button.mat-primary,.omv-dark-theme .mat-fab.mat-primary,.omv-dark-theme .mat-mini-fab.mat-primary {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background,
.omv-dark-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background,
.omv-dark-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,
.omv-dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: var(--color-checkboxBackgroundSelected, var(--theme-primary)) !important;
}

.omv-dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.omv-dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.omv-dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.omv-dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: var(--color-checkboxBackgroundSelected, var(--theme-primary)) !important;
}

.omv-dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-calendar-body-selected {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-calendar-body-disabled>.mat-calendar-body-selected {
  background-color:color-mix(in srgb, var(--theme-primary) 40%, transparent) !important;
}

.omv-dark-theme .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),.omv-dark-theme .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color:color-mix(in srgb, var(--theme-primary) 30%, transparent) !important;
}

.omv-dark-theme .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color:color-mix(in srgb, var(--theme-primary) 30%, transparent) !important;
}

.omv-dark-theme .mat-datepicker-toggle-active {
  color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-form-field.mat-focused .mat-form-field-label {
  color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-form-field.mat-focused .mat-form-field-ripple {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after {
  color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-icon.mat-primary {
  color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-input-element {
  caret-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-progress-bar-fill:after {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-progress-spinner circle,.omv-dark-theme .mat-spinner circle {
  stroke:var(--theme-primary) !important;
}

.omv-dark-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {
  border-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-radio-button.mat-primary .mat-radio-inner-circle,.omv-dark-theme .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple),.omv-dark-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple,.omv-dark-theme .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-form-field.mat-focused.mat-primary .mat-select-arrow {
  color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: var(--theme-primary) !important;
}

.omv-dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: var(--color-checkboxToggleBackgroundSelected, color-mix(in srgb, var(--theme-primary) 54%, transparent)) !important;
}

.omv-dark-theme .mat-slide-toggle.mat-checked .mat-ripple-element {
  background-color: var(--theme-primary) !important;
}

.omv-dark-theme .mat-slider.mat-primary .mat-slider-track-fill,.omv-dark-theme .mat-slider.mat-primary .mat-slider-thumb,.omv-dark-theme .mat-slider.mat-primary .mat-slider-thumb-label {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-slider.mat-primary .mat-slider-focus-ring {
  background-color:color-mix(in srgb, var(--theme-primary) 20%, transparent) !important;
}

.omv-dark-theme .mat-step-header .mat-step-icon-selected,.omv-dark-theme .mat-step-header .mat-step-icon-state-done,.omv-dark-theme .mat-step-header .mat-step-icon-state-edit {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-tab-label, .omv-dark-theme .mat-tab-link,
.mat-tab-label.omv-dark-theme, .mat-tab-link.omv-dark-theme {
  color: var(--color-pageText, #fff) !important;
}

.omv-dark-theme .mat-tab-group.mat-primary .mat-ink-bar,.omv-dark-theme .mat-tab-nav-bar.mat-primary .mat-ink-bar {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-tab-group.mat-background-primary>.mat-tab-header,.omv-dark-theme .mat-tab-group.mat-background-primary>.mat-tab-link-container,.omv-dark-theme .mat-tab-group.mat-background-primary>.mat-tab-header-pagination,.omv-dark-theme .mat-tab-nav-bar.mat-background-primary>.mat-tab-header,.omv-dark-theme .mat-tab-nav-bar.mat-background-primary>.mat-tab-link-container,.omv-dark-theme .mat-tab-nav-bar.mat-background-primary>.mat-tab-header-pagination {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-toolbar.mat-primary {
  background:var(--theme-primary) !important;
}

.omv-dark-theme .mat-flat-button.omv-background-color-pair-primary {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-chip.omv-background-color-pair-primary {
  background-color:var(--theme-primary) !important;
}

.omv-dark-theme .mat-menu-panel,
.mat-menu-panel.omv-dark-theme {
  background: var(--color-menuItemBackground, var(--color-cardBackground, #303e48)) !important;
  color: var(--color-menuItemText, var(--color-pageText, #fff)) !important;
  scrollbar-color:var(--theme-primary) transparent !important;
  --scrollbar-thumb-color: var(--theme-primary) !important;
}

.omv-dark-theme .mat-select-panel,
.mat-select-panel.omv-dark-theme {
  background: var(--color-menuItemBackground, var(--color-cardBackground, #303e48)) !important;
  color: var(--color-menuItemText, var(--color-pageText, #fff)) !important;
  scrollbar-color:var(--theme-primary) transparent !important;
  --scrollbar-thumb-color: var(--theme-primary) !important;
}

.omv-dark-theme .mat-dialog-container,
.mat-dialog-container.omv-dark-theme {
  background: var(--color-cardBackground, #303e48) !important;
  color: var(--color-pageText, #fff) !important;
  scrollbar-color:var(--theme-primary) transparent !important;
  --scrollbar-thumb-color: var(--theme-primary) !important;
}

.omv-dark-theme .mat-tooltip,
.mat-tooltip.omv-dark-theme {
  background: color-mix(in srgb, var(--color-menuItemBackground, var(--color-cardBackground, #29363f)) 90%, transparent) !important;
  color: var(--color-menuItemText, var(--color-pageText, #fff)) !important;
}


.omv-color-primary {
  color:var(--theme-primary) !important;
}

.omv-background-color-pair-primary,.omv-dark-theme .omv-background-color-pair-primary {
  background-color:var(--theme-primary) !important;
}



.omv-markdown blockquote {
  border-left:4px solid var(--theme-primary) !important;
}

textarea {
  scrollbar-color:var(--theme-primary) transparent !important;
  --scrollbar-thumb-color: var(--theme-primary) !important;
}

img.loading {
  border-left:1.1em solid var(--theme-primary) !important;
}

.omv-scrollable-xy,.omv-scrollable-y {
    scrollbar-color: var(--theme-primary) transparent;
    --scrollbar-border-radius: 0 !important;
    --scrollbar-thumb-color: var(--theme-primary) !important;
    --scrollbar-thumb-hover-color: var(--scrollbar-thumb-color) !important
}

nav a:hover:not(.active) {
    border-bottom: 3px solid var(--theme-primary) !important;
}

/* Datatable Accent */
omv-datatable .action-toolbar .mat-toolbar .mat-button:not(.mat-button-disabled),
.omv-dark-theme .mat-toolbar .mat-icon-button:not(.mat-button-disabled) {
  color: var(--theme-primary) !important;
}

omv-datatable .ngx-datatable:not(.cell-selection) .datatable-body-row:not(.active):hover,
omv-datatable .ngx-datatable:not(.cell-selection) .datatable-body-row:not(.active):hover .datatable-row-group,
.omv-dark-theme omv-datatable .ngx-datatable:not(.cell-selection) .datatable-body-row:not(.active):hover,
.omv-dark-theme omv-datatable .ngx-datatable:not(.cell-selection) .datatable-body-row:not(.active):hover .datatable-row-group
{
  background-color: var(--color-tableBorderHover, var(--color-tableRowBackgroundHover, var(--theme-primary))) !important;
  color: var(--color-tableTextHover, inherit) !important;
}

omv-datatable .ngx-datatable .datatable-body-row.datatable-row-odd:not(.active):hover,
omv-datatable .ngx-datatable .datatable-body-row.datatable-row-odd:not(.active):hover .datatable-row-group,
.omv-dark-theme omv-datatable .ngx-datatable .datatable-body-row.datatable-row-odd:not(.active):hover,
.omv-dark-theme omv-datatable .ngx-datatable .datatable-body-row.datatable-row-odd:not(.active):hover .datatable-row-group {
  background-color: var(--color-tableBorderHover, var(--color-tableRowBackgroundHover, var(--theme-primary))) !important;
  color: var(--color-tableTextHover, inherit) !important;
}

omv-datatable .ngx-datatable .datatable-body-row.datatable-row-even:not(.active):hover,
omv-datatable .ngx-datatable .datatable-body-row.datatable-row-even:not(.active):hover .datatable-row-group,
.omv-dark-theme omv-datatable .ngx-datatable .datatable-body-row.datatable-row-even:not(.active):hover,
.omv-dark-theme omv-datatable .ngx-datatable .datatable-body-row.datatable-row-even:not(.active):hover .datatable-row-group {
  background-color: var(--color-tableBorderHover, var(--color-tableRowBackgroundHover, var(--theme-primary))) !important;
  color: var(--color-tableTextHover, inherit) !important;
}

/* Logo Inversion for lighter themes */
.omv-navigation-bar .header .logo {
  filter: var(--logo-filter, none) !important;
}

/* Base Menu Item styles */
.mat-menu-item {
  background: var(--color-menuItemBackground, transparent) !important;
  color: var(--color-menuItemText, inherit) !important;
}

.omv-dark-theme .mat-menu-item,
.mat-menu-item.omv-dark-theme {
  background: transparent !important;
  color: var(--color-menuItemText, #fff) !important;
}

/* Base Option Item styles */
.mat-option {
  background: transparent !important;
  color: var(--color-menuItemText, inherit) !important;
}

.omv-dark-theme .mat-option,
.mat-option.omv-dark-theme {
  background: transparent !important;
  color: var(--color-menuItemText, #fff) !important;
}

/* Fix menu item icon colors */
.mat-menu-item .mat-icon-no-color,
.mat-menu-submenu-icon,
.omv-dark-theme .mat-menu-item .mat-icon-no-color,
.omv-dark-theme .mat-menu-submenu-icon {
  color: inherit !important;
}

/* Menu Accent */
.mat-menu-item:hover {
  border-left: .25rem solid var(--theme-primary) !important;
}

.mat-menu-item.active {
  border-left: .25rem solid var(--theme-primary) !important;
}

.omv-dark-theme .mat-menu-item:hover {
  border-left: .25rem solid var(--theme-primary) !important;
}

.omv-dark-theme .mat-menu-item.active {
  border-left: .25rem solid var(--theme-primary) !important;
}

/* List Accent */
.mat-list-item.active {
  border-left: 3px solid var(--theme-primary) !important;
}

.mat-list-item:hover:not(.active) {
  border-left: 3px solid var(--theme-primary) !important;
}

/* Sidebar Active/Hover Item Background */
.mat-drawer .mat-list-item:hover,
.mat-drawer .mat-list-item.active,
.omv-dark-theme .mat-drawer .mat-list-item:hover,
.omv-dark-theme .mat-drawer .mat-list-item.active {
  background-color: var(--color-sidebarItemBackgroundHover, var(--color-menuItemBackgroundHover, var(--color-tableRowBackgroundHover, rgba(0, 0, 0, 0.04)))) !important;
}

/* Info card accent */
.mat-card.alert-info {
    color: #fff !important;
    background-color: var(--theme-primary) !important;
}

.alert-info {
    background-color: var(--theme-primary) !important;
    color: white !important;
}

/* Force cursor color */
.mat-select-trigger .mat-select-value,
.mat-select-trigger input.mat-select-placeholder {
    color: var(--theme-primary) !important;
}

/* Force icon color inside selection */
.mat-select-trigger .mat-select-arrow {
    color: var(--theme-primary) !important;
}

/* Fix disabled text color */
.mat-select.mat-disabled .mat-select-value {
    color: rgba(0,0,0,0.26) !important;
}

/* Force focus border color */
.mat-select.mat-form-field-has-label.mat-focused .mat-form-field-outline-thick {
    color: var(--theme-primary) !important;
}

/* Adjust opacity */
.mat-select.mat-form-field-has-label.mat-focused .mat-form-field-outline-thick .mat-form-field-outline-start,
.mat-select.mat-form-field-has-label.mat-focused .mat-form-field-outline-thick .mat-form-field-outline-end {
    border-color: var(--theme-primary) !important;
}


/* Fix form field labels and icons contrast when light/dark mismatch */
.mat-form-field-appearance-legacy .mat-form-field-label, 
.mat-form-field-appearance-legacy .mat-hint,
.mat-form-field-label, 
.mat-hint {
    color: var(--color-pageText, inherit) !important;
}

.mat-form-field-prefix .mat-icon,
.mat-form-field-suffix .mat-icon,
.omv-dark-theme .mat-form-field-prefix .mat-icon,
.omv-dark-theme .mat-form-field-suffix .mat-icon {
    color: var(--color-pageText, inherit) !important;
}

.mat-form-field-appearance-legacy .mat-form-field-underline {
    background-color: var(--color-pageText, inherit) !important;
    opacity: 0.42 !important;
}

/* Fix generic dividers and checkboxes to adapt to custom theme text color */
.mat-divider, .omv-dark-theme .mat-divider {
    border-top-color: var(--color-pageText, inherit) !important;
    opacity: 0.12 !important;
}

.mat-checkbox-frame, .omv-dark-theme .mat-checkbox-frame {
    border-color: var(--color-pageText, inherit) !important;
    opacity: 0.54 !important;
}

/* Fix disabled buttons contrast */
.mat-icon-button.mat-button-disabled.mat-button-disabled, 
.omv-dark-theme .mat-icon-button.mat-button-disabled.mat-button-disabled,
.mat-button.mat-button-disabled.mat-button-disabled, 
.omv-dark-theme .mat-button.mat-button-disabled.mat-button-disabled {
    color: var(--color-buttonBareDisabledText, var(--color-pageTextSubdued, inherit)) !important;
    opacity: 1 !important;
}

/* Aggressively override mat-toolbar background and text to respect custom themes */
.mat-toolbar {
    background-color: var(--color-sidebarBackground, var(--mat-background-color-body, #222e36)) !important;
    color: var(--color-sidebarItemText, var(--color-pageText, #fff)) !important;
}

/* Aggressively override mat-card background to respect custom themes */
.mat-card, .omv-dark-theme .mat-card {
    background-color: var(--color-pillBackground, var(--color-cardBackground, var(--color-pageBackground, #fff))) !important;
    color: var(--color-pillText, var(--color-pageText, inherit)) !important;
}

/* Override datatable active/selected row */
omv-datatable .ngx-datatable .datatable-body-row.active,
omv-datatable .ngx-datatable .datatable-body-row.active .datatable-row-group,
.omv-dark-theme omv-datatable .ngx-datatable .datatable-body-row.active,
.omv-dark-theme omv-datatable .ngx-datatable .datatable-body-row.active .datatable-row-group,
omv-datatable .ngx-datatable .datatable-body-row.active:hover,
omv-datatable .ngx-datatable .datatable-body-row.active:hover .datatable-row-group,
.omv-dark-theme omv-datatable .ngx-datatable .datatable-body-row.active:hover,
.omv-dark-theme omv-datatable .ngx-datatable .datatable-body-row.active:hover .datatable-row-group {
    background-color: var(--color-tableBorderSelected, var(--theme-primary)) !important;
    color: var(--color-buttonPrimaryText, var(--color-tableTextSelected, #fff)) !important;
}

/* Override form selection (dropdowns) hover background */
.mat-option:hover:not(.mat-option-disabled):not(.mat-active),
.mat-option:focus:not(.mat-option-disabled):not(.mat-active),
.omv-dark-theme .mat-option:hover:not(.mat-option-disabled):not(.mat-active),
.omv-dark-theme .mat-option:focus:not(.mat-option-disabled):not(.mat-active) {
    background-color: var(--color-menuItemBackgroundHover, var(--color-tableRowBackgroundHover)) !important;
    color: var(--color-menuItemTextHover, var(--color-tableTextHover, inherit)) !important;
}

/* Override form selection (dropdowns) active background */
.mat-option.mat-active:not(.mat-option-disabled),
.omv-dark-theme .mat-option.mat-active:not(.mat-option-disabled) {
    background-color: var(--color-formInputBackgroundSelected, var(--color-menuItemBackgroundHover, var(--color-tableRowBackgroundHover))) !important;
    color: var(--color-formInputTextSelected, var(--color-menuItemTextSelected, inherit)) !important;
}




/* Apply a darker theme accent to the topbar on special pages */
.topbar {
    background-color: color-mix(in srgb, var(--theme-primary) 80%, black) !important;
}



