/* ==UserStyle== @name openmediavault Catppuccin @namespace github.com/catppuccin/userstyles/styles/openmediavault @homepageURL https://github.com/catppuccin/userstyles/tree/main/styles/openmediavault @version 2025.09.06 @updateURL https://github.com/catppuccin/userstyles/raw/main/styles/openmediavault/catppuccin.user.less @supportURL https://github.com/catppuccin/userstyles/issues?q=is%3Aopen+is%3Aissue+label%3Aopenmediavault @description Soothing pastel theme for openmediavault @author Catppuccin @license MIT @preprocessor less @var select lightFlavor "Light Flavor" ["latte:Latte*", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha"] @var select darkFlavor "Dark Flavor" ["latte:Latte", "frappe:Frappé", "macchiato:Macchiato", "mocha:Mocha*"] @var select accentColor "Accent" ["rosewater:Rosewater", "flamingo:Flamingo", "pink:Pink", "mauve:Mauve*", "red:Red", "maroon:Maroon", "peach:Peach", "yellow:Yellow", "green:Green", "teal:Teal", "blue:Blue", "sapphire:Sapphire", "sky:Sky", "lavender:Lavender", "subtext0:Gray"] ==/UserStyle== */ @import "https://userstyles.catppuccin.com/lib/lib.less"; @-moz-document domain("openmediavault.example.com") { :root { @media (prefers-color-scheme: light) { #catppuccin(@lightFlavor); } @media (prefers-color-scheme: dark) { #catppuccin(@darkFlavor); } } #catppuccin(@flavor) { #lib.palette(); #lib.defaults(); .omv-dark-theme { --mat-color-text: @text; --mat-color-secondary-text: @subtext0; --mat-color-disabled-text: @red; --mat-color-hint-text: @blue; --mat-background-color-hover: @accent; --mat-background-color-selected-button: @accent; --mat-background-color-card: @crust; --mat-background-color-background: @crust; --mat-primary-color-text: @accent; --mat-background-color-body: @base; } .omv-dark-theme .mat-toolbar.mat-primary { background: @accent; color: @text; } .omv-dark-theme .mat-drawer-container { background-color: @base; color: @text; } .omv-dark-theme .mat-card { background: @mantle; color: @text; } .omv-dark-theme .mat-flat-button, .mat-fab, .mat-mini-fab { color: @text; background-color: @crust; } .omv-dark-theme .mat-flat-button.mat-button-disabled.mat-button-disabled { background-color: @mantle; } .omv-dark-theme .mat-input-element:disabled { color: @subtext0; } .omv-dark-theme .mat-select-placeholder, .omv-dark-theme .mat-select-disabled .mat-select-value { color: @subtext0; } .omv-dark-theme .mat-form-field-appearance-legacy .mat-form-field-label, .omv-dark-theme .mat-form-field-appearance-legacy .mat-hint { color: @accent; } .omv-dark-theme .mat-toolbar { background: @crust; color: @text; } .omv-top-bar[_ngcontent-ydq-c112] button[_ngcontent-ydq-c112] .mat-icon[_ngcontent-ydq-c112] { color: @crust; } .omv-top-bar[_ngcontent-ydq-c112] .hostname[_ngcontent-ydq-c112] { color: @crust; } .omv-dark-theme .mat-icon-button.mat-button-disabled.mat-button-disabled { color: @overlay0; } .omv-dark-theme .mat-chip.omv-background-color-pair-green { color: @mantle; background-color: @green; } .omv-scrollable-xy, .omv-scrollable-y { scrollbar-color: @accent transparent; --scrollbar-thumb-color: @accent !important; --scrollbar-thumb-hover-color: @accent; } .omv-dark-theme .mat-button, .omv-dark-theme .mat-icon-button, .omv-dark-theme .mat-stroked-button { color: @accent; background: inherit; } .omv-dark-theme .mat-pseudo-checkbox-checked, .omv-dark-theme .mat-pseudo-checkbox-indeterminate, .omv-dark-theme .mat-accent .mat-pseudo-checkbox-checked, .omv-dark-theme .mat-accent .mat-pseudo-checkbox-indeterminate { background: @accent; } .omv-dark-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .omv-dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background { background-color: @accent; } .omv-dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb { background-color: @accent; } .omv-dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar { background-color: @accent; } .omv-dark-theme .mat-badge-accent .mat-badge-content { background: @crust; color: @accent; } .omv-dark-theme .mat-select-panel { scrollbar-color: @accent transparent; --scrollbar-thumb-color: @accent !important; --scrollbar-thumb-hover-color: @accent !important; background: @crust; } .omv-background-color-pair-success { color: @mantle; background-color: @green; } .omv-dark-theme .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) { color: @accent; } .ngx-datatable.single-selection .datatable-body-row.active, .ngx-datatable.single-selection .datatable-body-row.active .datatable-row-group, .ngx-datatable.multi-selection .datatable-body-row.active, .ngx-datatable.multi-selection .datatable-body-row.active .datatable-row-group, .ngx-datatable.multi-click-selection .datatable-body-row.active, .ngx-datatable.multi-click-selection .datatable-body-row.active .datatable-row-group { color: @accent; background-color: @crust; } .ngx-datatable:not(.cell-selection) .datatable-body-row:hover, .ngx-datatable:not(.cell-selection) .datatable-body-row:hover .datatable-row-group { color: @crust; background-color: @blue; } .ngx-datatable.single-selection .datatable-body-row.active:hover, .ngx-datatable.single-selection .datatable-body-row.active:hover .datatable-row-group, .ngx-datatable.multi-selection .datatable-body-row.active:hover, .ngx-datatable.multi-selection .datatable-body-row.active:hover .datatable-row-group, .ngx-datatable.multi-click-selection .datatable-body-row.active:hover, .ngx-datatable.multi-click-selection .datatable-body-row.active:hover .datatable-row-group { color: @crust; background-color: @green; } .omv-dark-theme .mat-menu-item { background: @crust; color: @text; } .omv-dark-theme .mat-menu-panel { background: @crust; } [_nghost-ckr-c138] .content[_ngcontent-ckr-c138] omv-intuition-form-page[_ngcontent-ckr-c138] .mat-card { color: @text; background-color: @mantle; } .mat-flat-button.omv-background-color-pair-primary { color: @text; background-color: @crust; } .omv-dark-theme .mat-dialog-container { background: @crust; color: @text; } .omv-background-color-pair-terminal { color: @green; background-color: @mantle; } } }