/* -- Core Widgets -- */
QWidget {
    background-color: transparent;
    border: none;
}
QWidget::item:selected {
    background-color: {BUTTON_CHECKED};
}
QWidget.centralWidget {
    background-color: {MAIN_BACKGROUND_ALPHA};
    border: 1px solid {BORDER_COLOR};
    color: {TEXT_COLOR};
}
QWidget.QLabel {
    background-color: {WIDGET_BACKGROUND};
    color: {TEXT_COLOR};
    border: 1px solid {BORDER_COLOR};
    border-radius: 1px;
    padding: 0px 1px 0px 1px;
}

/* -- Containers -- */
QStackedWidget {
    background-color: {MAIN_BACKGROUND};
}
QStackedWidget QFrame {
    background-color: {MAIN_BACKGROUND};
}
QMainWindow {
    background-color: {MAIN_BACKGROUND_ALPHA};
    border: 1px solid {BORDER_COLOR};
}
QGroupBox {
    border: none;
    border-radius: 1px;
    padding: 1px 1px 1px 1px;
    margin: 12px 0px 1px 0px;
    background-color: {MAIN_BACKGROUND_ALPHA};
}
QGroupBox:hover {
    border: 2px solid {BUTTON_HOVER};
}
QGroupBox::title {
    top: -13px;
    background-color: {MAIN_BACKGROUND_ALPHA};
    color: {TEXT_COLOR};
}
QGroupBox:disabled {
    color: {TEXT_DISABLED};
}
QGroupBox::title:disabled {
    color: {TEXT_DISABLED};
}

/* -- Menus -- */
QMenu {
    background-color: {MAIN_BACKGROUND_ALPHA};
    border: 1px solid {BORDER_COLOR};
    margin: 0px;
}
QMenu::item {
    padding: 0px 1px 0px 1px;
    border: none;
}
QMenu::item:disabled {
    color: {TEXT_DISABLED};
}
QMenu::item:selected {
    border-color: {BUTTON_CHECKED};
    background-color: {MAIN_BACKGROUND};
}
QMenu::icon:checked {
    background-color: gray;
    border: 1px inset gray;
    position: absolute;
    top: 1px;
    right: 1px;
    bottom: 1px;
    left: 1px;
}
QMenu::separator {
    height: 2px;
    background-color: {MAIN_BACKGROUND};
    margin: 0px 5px 0px 10px;
}
QMenu::indicator {
    width: 13px;
    height: 13px;
}
QMenuBar {
    background-color: {MAIN_BACKGROUND};
    spacing: 1px;
}
QMenuBar::item {
    padding: 1px 4px;
    background-color: transparent;
    border-radius: 1px;
}
QMenuBar::item:selected {
    background-color: {BUTTON_CHECKED};
}
QMenuBar::item:pressed {
    background-color: gray;
}

/* -- Buttons -- */
QAbstractButton {
    background-color: {WIDGET_BACKGROUND};
    color: {TEXT_COLOR};
    border-style: outset;
    border-radius: 1px;
    border: 1px solid {BORDER_COLOR};
    padding: 0px 1px 0px 1px;
    spacing: 1px;
}
QAbstractButton:hover {
    background-color: {BUTTON_HOVER};
    color: {TEXT_HOVER};
}
QAbstractButton:hover:checked {
    background-color: {BUTTON_CHECKED};
    color: {TEXT_HOVER};
}
QAbstractButton:enabled {
    color: {TEXT_COLOR};
}
QAbstractButton:disabled {
    color: {TEXT_DISABLED};
}
QAbstractButton:checked {
    background-color: {BUTTON_CHECKED};
    color: {TEXT_CHECKED};
}
QAbstractButton:checked:hover {
    background-color: {BUTTON_CHECKED};
    color: {TEXT_CHECKED};
}
QAbstractButton::indicator {
    width: 0px;
    height: 0px;
    border: none;
}
QAbstractButton::indicator::unchecked {
    image: none;
}
QAbstractButton::indicator:unchecked:hover {
    image: none;
}
QAbstractButton::indicator:unchecked:pressed {
    image: none;
}
QAbstractButton::indicator::checked {
    image: none;
}
QAbstractButton::indicator:checked:hover {
    image: none;
}
QAbstractButton::indicator:checked:pressed {
    image: none;
}
/* QCheckBox: Inherits from QAbstractButton */
QCheckBox:disabled {
    color: {TEXT_DISABLED};
}

/* QRadioButton: Inherits from QAbstractButton */
QRadioButton:disabled {
    color: {TEXT_DISABLED};
}
QPushButton#toggle_expand {
    border: none;
    padding: 0px 0px 0px 0px;
    background-color: {MAIN_BACKGROUND};
}
QPushButton:flat {
    border: none;
}
QPushButton:default {
    border-color: navy;
}
QToolButton[popupMode="1"] {
    padding-right: 2px;
}
QToolButton:open {
    background-color: dark gray;
}
QToolButton::menu-indicator {
    image: none;
    subcontrol-origin: padding;
    subcontrol-position: bottom right;
    padding: 0px 5px 5px 0px;
}
/* Hide QPushButton menu indicators to avoid stray dots next to icons */
QPushButton::menu-indicator {
    image: none;
    width: 0px;
    height: 0px;
    padding: 0px;
    margin: 0px;
    border: none;
    background: transparent;
    subcontrol-origin: padding;
    subcontrol-position: bottom right;
}

/* Extra-specific rules for our option buttons to override host styles */
QPushButton#pinButton::menu-indicator,
QPushButton#clearButton::menu-indicator,
QPushButton#actionButton::menu-indicator,
QPushButton#optionMenuButton::menu-indicator,
QPushButton#optionBox::menu-indicator {
    image: none;
    width: 0px;
    height: 0px;
    padding: 0px;
    margin: 0px;
    border: none;
    background: transparent;
}

/* Within the option box container, suppress any menu indicators on buttons */
QWidget#optionBoxContainer QPushButton::menu-indicator {
    image: none;
    width: 0px;
    height: 0px;
    padding: 0px;
    margin: 0px;
    border: none;
    background: transparent;
}

/* Specific styling for option menu button to prevent any artifacts */
QPushButton#optionMenuButton {
    text-align: center;
    padding: 0px;
    padding-left: 0px;
    padding-right: 0px;
    margin: 0px;
    spacing: 0px;
    border-left-width: 0px;
    border-left-style: none;
}

QPushButton#optionMenuButton:hover {
    padding: 0px;
    padding-left: 0px;
    padding-right: 0px;
    margin: 0px;
}

/* Suppress all sub-controls that might cause artifacts */
QPushButton#optionMenuButton::menu-indicator,
QPushButton#optionMenuButton::menu-arrow,
QPushButton#optionMenuButton::down-arrow,
QPushButton[class~="OptionMenuButton"]::menu-indicator,
QPushButton[class~="OptionMenuButton"]::menu-arrow {
    image: none;
    width: 0px;
    height: 0px;
    padding: 0px;
    margin: 0px;
    border: none;
    background: transparent;
    subcontrol-origin: padding;
    subcontrol-position: center;
}

QToolButton::down-arrow,
QToolButton::up-arrow,
QToolButton::left-arrow,
QToolButton::right-arrow {
    image: none;
    padding: 0px 15px 0px 0px;
}
QToolButton::down-arrow:hover,
QToolButton::up-arrow:hover,
QToolButton::left-arrow:hover,
QToolButton::right-arrow:hover {
    padding: 0px 5px 0px 0px;
}
QToolButton::menu-button {
    border: 1px solid {TEXT_COLOR};
    margin: 4px 2px 4px 0px;
}
QToolButton::menu-button:pressed {
    background-color: transparent;
    border: none;
}
QToolButton::menu-arrow {
    image: none;
}

/* -- Spin Boxes -- */
QAbstractSpinBox {
    background-color: {WIDGET_BACKGROUND};
    color: {TEXT_COLOR};
    border: 1px solid {BORDER_COLOR};
}
QAbstractSpinBox:disabled {
    color: {TEXT_DISABLED};
}
QAbstractSpinBox:hover {
    border: 2px solid {BUTTON_HOVER};
    color: {TEXT_HOVER};
}
QScrollBar:left-arrow,
QScrollBar::right-arrow,
QScrollBar::up-arrow,
QScrollBar::down-arrow {
    border: 1px solid {BUTTON_PRESSED};
    width: 3px;
    height: 3px;
}
QAbstractSpinBox::up-arrow,
QAbstractSpinBox::down-arrow {
    width: 0px;
    height: 0px;
    border: none;
    image: none;
}
QAbstractSpinBox::up-button,
QAbstractSpinBox::down-button {
    border: none;
    background: transparent;
    subcontrol-origin: border;
    width: 0px;
    height: 0px;
    margin: 0px;
    padding: 0px;
}
/* QSpinBox: Inherits from QAbstractSpinBox */
/* QDoubleSpinBox: Inherits from QAbstractSpinBox */

/* -- Combo Boxes -- */
QComboBox {
    background-color: {WIDGET_BACKGROUND};
    color: {TEXT_COLOR};
    border: 1px solid {BORDER_COLOR};
    padding: 0px 1px 0px 1px;
    border-radius: 1px;
    min-width: 0em;
}
QComboBox:disabled {
    background-color: {WIDGET_BACKGROUND};
    color: {TEXT_DISABLED};
    border: 1px solid {BORDER_COLOR};
}
QComboBox:hover {
    border: 2px solid {BUTTON_HOVER};
    color: {TEXT_HOVER};
}
QComboBox::open {
    selection-background-color: {WIDGET_BACKGROUND};
    selection-color: {TEXT_CHECKED};
}
QComboBox:on {
    padding-top: 3px;
}
QComboBox::down-arrow {
    width: 0px;
    height: 0px;
    background-color: {WIDGET_BACKGROUND};
    border: none;
    image: none;
}
QComboBox::drop-down {
    border: none;
    background-color: {WIDGET_BACKGROUND};
    subcontrol-origin: padding;
    subcontrol-position: top right;
    width: 0px;
    height: 0px;
    border-left-width: 1px;
    border-left-color: {TEXT_CHECKED};
    border-left-style: solid;
    border-top-right-radius: 1px;
    border-bottom-right-radius: 1px;
}
QComboBox:disabled::drop-down {
    border-left-color: {BORDER_COLOR};
}
QComboBox QAbstractItemView {
    selection-background-color: {BUTTON_HOVER};
}
QComboBox QAbstractItemView::item:selected,
QComboBox QAbstractItemView::item:hover {
    background-color: {BUTTON_HOVER};
    color: {TEXT_HOVER};
}

/* -- Text and Input -- */
QLabel {
    background-color: {WIDGET_BACKGROUND};
    color: {TEXT_COLOR};
    border-style: outset;
    border-radius: 1px;
    border: 1px solid {BORDER_COLOR};
    padding: 0px 1px 0px 1px;
}
QLabel:hover {
    border: 2px solid {BUTTON_HOVER};
    color: {TEXT_HOVER};
}
QLabel:enabled {
    color: {TEXT_COLOR};
}
QLabel:disabled {
    color: {TEXT_DISABLED};
}
QLineEdit {
    background-color: {WIDGET_BACKGROUND};
    border: 1px solid {BORDER_COLOR};
    selection-background-color: {BUTTON_HOVER};
    selection-color: {TEXT_COLOR};
    border-radius: 1px;
    padding: 0 8px;
}
QLineEdit:hover {
    border: 2px solid {BUTTON_HOVER};
}
QLineEdit:disabled {
    color: {TEXT_DISABLED};
}
QLineEdit:enabled {
    color: {TEXT_COLOR};
}
QLineEdit:read-only {
    background-color: {MAIN_BACKGROUND};
}
QTextEdit {
    color: {TEXT_COLOR};
    background-attachment: fixed;
    border: 1px solid {BORDER_COLOR};
    background-color: {WIDGET_BACKGROUND};
}
QTextEdit:hover {
    border: 2px solid {BUTTON_HOVER};
}
QTextEdit:disabled {
    color: {TEXT_DISABLED};
}
QTextEdit QWidget#qt_scrollarea_viewport {
    background-color: {WIDGET_BACKGROUND};
}
QTextEdit#hudTextEdit {
    border: none;
    background-color: transparent;
    color: white;
    selection-background-color: {TEXT_BACKGROUND};
    selection-color: white;
}
QPlainTextEdit {
    background-color: {WIDGET_BACKGROUND};
    border: 1px solid {BORDER_COLOR};
    color: {TEXT_COLOR};
}
QPlainTextEdit:hover {
    border: 2px solid {BUTTON_HOVER};
}
QPlainTextEdit:disabled {
    color: {TEXT_DISABLED};
}

/* -- Item Views -- */
QAbstractItemView {
    alternate-background-color: {MAIN_BACKGROUND};
    background-attachment: fixed;
    color: {TEXT_COLOR};
}
QAbstractItemView::item:alternate {
    background-color: {MAIN_BACKGROUND};
}
QAbstractItemView::item:selected {
    border: 1px solid {BORDER_COLOR};
    background-color: {BUTTON_HOVER};
    color: {TEXT_COLOR};
}
QAbstractItemView::item:checked {
    border: 1px solid {BORDER_COLOR};
    background-color: {BUTTON_CHECKED};
    color: {TEXT_COLOR};
}
QAbstractItemView::item:checked:selected {
    border: 1px solid {BORDER_COLOR};
    background-color: {BUTTON_CHECKED};
    color: {TEXT_CHECKED};
}
QAbstractItemView::item:hover {
    background-color: {BUTTON_HOVER};
    color: {TEXT_HOVER};
}

QAbstractItemView::indicator {
    width: 12px;
    height: 12px;
    border: 1px solid {BORDER_COLOR};
    background-color: {WIDGET_BACKGROUND};
}
QAbstractItemView::indicator:unchecked:hover {
    border: 2px solid {BUTTON_HOVER};
}
QAbstractItemView::indicator:checked {
    background-color: {BUTTON_HOVER};
    border: 2px solid {BUTTON_HOVER};
}
QAbstractItemView::indicator:checked:hover {
    border: 2px solid {BUTTON_HOVER};
}
/* QListWidget: Inherits from QAbstractItemView */
/* QListView: Inherits from QAbstractItemView */
/* QTableView: Inherits from QAbstractItemView */

/* QTableWidget hierarchy support */
QTableWidget::item {
    padding: 2px 4px;
    border: none;
}
QTableWidget::item:selected {
    background-color: {BUTTON_CHECKED};
    color: {TEXT_CHECKED};
}
QTableWidget::item:checked {
    background-color: {BUTTON_CHECKED};
    color: {TEXT_CHECKED};
}
QTableWidget::item:checked:selected {
    background-color: {BUTTON_CHECKED};
    color: {TEXT_CHECKED};
}
QTableWidget::item:hover {
    background-color: {BUTTON_HOVER};
    color: {TEXT_HOVER};
}

QTreeView::branch {
    background-color: transparent;
    border: none;
    margin: 2px;
}
QTreeView::branch:has-siblings:!adjoins-item {
    background-color: transparent;
}
QTreeView::branch:has-siblings:adjoins-item {
    background-color: transparent;
}
QTreeView::branch:!has-children:!has-siblings:adjoins-item {
    background-color: transparent;
}
QTreeView::branch:has-children:closed {
    background-color: {WIDGET_BACKGROUND};
    border: 1px solid {BORDER_COLOR};
    border-radius: 2px;
    width: 14px;
    height: 14px;
    margin: 1px;
}
QTreeView::branch:has-children:closed:hover {
    background-color: {BUTTON_HOVER};
    border: 2px solid {BUTTON_HOVER};
}
QTreeView::branch:has-children:open {
    background-color: {WIDGET_BACKGROUND};
    border: 1px solid {BORDER_COLOR};
    border-radius: 2px;
    width: 14px;
    height: 14px;
    margin: 1px;
}
QTreeView::branch:has-children:open:hover {
    background-color: {BUTTON_HOVER};
    border: 2px solid {BUTTON_HOVER};
}

/* -- Frames -- */
QFrame {
    border-radius: 1px;
}
QFrame:hover {
    border: 2px solid {BUTTON_HOVER};
}

/* -- Scroll Areas -- */
QAbstractScrollArea {
    background-color: {WIDGET_BACKGROUND};
    border: 1px solid {BORDER_COLOR};
    selection-background-color: {BUTTON_HOVER};
    selection-color: {TEXT_COLOR};
}
QAbstractScrollArea:hover {
    border: 2px solid {BUTTON_HOVER};
}
/* QScrollArea: Inherits from QAbstractScrollArea */
/* QGraphicsView: Inherits from QAbstractScrollArea */
/* QMdiArea: Inherits from QAbstractScrollArea */

/* -- Sliders and Progress -- */
QAbstractSlider {
    border: 1px solid {BORDER_COLOR};
    background-color: {WIDGET_BACKGROUND};
}
QAbstractSlider:hover {
    border: 2px solid {BUTTON_HOVER};
}
QAbstractSlider::handle {
    width: 10px;
    margin-top: -6px;
    margin-bottom: -6px;
    border: 1px solid {BORDER_COLOR};
    border-radius: 1px;
    background-color: {MAIN_BACKGROUND};
}
QAbstractSlider::handle:hover {
    background-color: {BUTTON_HOVER};
}
QAbstractSlider::groove {
    border: 1px solid {BORDER_COLOR};
    height: 8px;
    background-color: {WIDGET_BACKGROUND};
}
QAbstractSlider::sub-page {
    background-color: {WIDGET_BACKGROUND};
}
QAbstractSlider::add-page {
    background-color: {WIDGET_BACKGROUND};
}
/* QSlider: Inherits from QAbstractSlider */
QScrollBar:vertical {
    background: transparent;
    border: none;
    width: 0px;
    margin: 0px;
}
QScrollBar:horizontal {
    background: transparent;
    border: none;
    height: 12px;
    margin: 0px;
}
QScrollBar::handle:vertical {
    background: transparent;
    min-height: 0px;
    width: 0px;
}
QScrollBar::handle:horizontal {
    background: {MAIN_BACKGROUND};
    min-width: 20px;
    border: 1px solid black;
    border-radius: 1px;
    margin: 1px 0px;
}
QScrollBar::handle:vertical:hover {
    background: transparent;
}
QScrollBar::handle:horizontal:hover {
    background: {MAIN_BACKGROUND};
    border: 2px solid {BUTTON_HOVER};
}
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {
    border: none;
    background: transparent;
    height: 0px;
    width: 0px;
}
QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal {
    border: none;
    background: none;
    height: 0px;
    width: 0px;
    subcontrol-position: top left;
    subcontrol-origin: margin;
}
QScrollBar::add-line:vertical:hover, QScrollBar::sub-line:vertical:hover {
    background: transparent;
}
QScrollBar::add-line:horizontal:hover, QScrollBar::sub-line:horizontal:hover {
    background: none;
}
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical {
    background: transparent;
}
QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal {
    height: 0px;
    width: 0px;
    background: none;
}

/* -- Progress Bar -- */
QProgressBar {
    border: 1px solid {BORDER_COLOR};
    background-color: {MAIN_BACKGROUND};
}
QProgressBar:hover {
    border: 2px solid {BUTTON_HOVER};
}
QProgressBar[orientation="Qt::Horizontal"] {
    padding-right: 10000px;
    text-align: right;
}
QProgressBar[orientation="Qt::Vertical"] {
    padding-top: 10000px;
    text-align: top;
}
QProgressBar::chunk {
    background-color: {BUTTON_HOVER};
    width: 10px;
    margin: 0.5px;
}

/* -- Size Grip -- */
QSizeGrip,
QSizeGrip[class~="SizeGrip"] {
    background: transparent;
    border: none;
    width: 12px;
    height: 12px;
    image: none;
    qproperty-baseColor: rgba(255, 255, 255, 100);
    qproperty-hoverColor: {BUTTON_HOVER};
}

.MenuStatusBar {
    background-color: {MAIN_BACKGROUND_ALPHA};
    border: none;
    color: {TEXT_COLOR};
}
.MenuStatusBar QLabel,
.MenuStatusBar QPushButton,
.MenuStatusBar QToolButton {
    background: transparent;
    border: none;
    color: {TEXT_COLOR};
}
.MenuStatusBar QLabel:hover,
.MenuStatusBar QPushButton:hover,
.MenuStatusBar QToolButton:hover {
    background: transparent;
    color: {TEXT_COLOR};
}
.MenuStatusBar QLabel:pressed,
.MenuStatusBar QPushButton:pressed,
.MenuStatusBar QToolButton:pressed {
    background: transparent;
    color: {TEXT_COLOR};
}


/* -- Custom Classes -- */
.default {
    background-color: {WIDGET_BACKGROUND};
    color: {TEXT_COLOR};
    border-style: outset;
    border-radius: 1px;
    border: 1px solid {BORDER_COLOR};
    padding: 0px 1px 0px 1px;
    spacing: 1px;
}
.default:hover {
    background-color: {BUTTON_HOVER};
    color: {TEXT_HOVER};
}
.default:hover:checked {
    background-color: {BUTTON_CHECKED};
    color: {TEXT_HOVER};
}
.default:enabled {
    color: {TEXT_COLOR};
}
.default:disabled {
    color: {TEXT_DISABLED};
}
.transparentBgNoBorder {
    background-color: transparent;
    border: none;
    color: {TEXT_COLOR};
    selection-background-color: {TEXT_BACKGROUND};
    selection-color: {HIGHLIGHT_COLOR};
}
.translucentBgNoBorder {
    background-color: rgba(127,127,127,0.004);
    border: none;
    color: {TEXT_COLOR};
    selection-background-color: {TEXT_BACKGROUND};
    selection-color: {HIGHLIGHT_COLOR};
}
.translucentBgWithBorder {
    background-color: {MAIN_BACKGROUND_ALPHA};
    border: 1px solid {BORDER_COLOR};
    color: {TEXT_COLOR};
    selection-background-color: {TEXT_BACKGROUND};
    selection-color: {HIGHLIGHT_COLOR};
}
.bgWithBorder {
    background-color: {MAIN_BACKGROUND};
    border: 1px solid {BORDER_COLOR};
    color: {TEXT_COLOR};
    selection-background-color: {TEXT_BACKGROUND};
    selection-color: {HIGHLIGHT_COLOR};
}
.noBorder {
    border: 0px none;
}
.withBorder {
    border: 1px solid {BORDER_COLOR};
}

/* OptionBox Container Styling - Higher specificity to override QWidget rule */
QWidget#optionBoxContainer {
    border: 1px solid {BORDER_COLOR} !important;
    padding: 0px;
    margin: 0px;
}

QPushButton#optionBox {
    border: 1px solid {BORDER_COLOR};
    border-left-width: 0px; /* remove internal left divider */
    border-left-style: none;
    padding: 0px;
    padding-left: 0px;
    padding-right: 0px;
    margin: 0px;
    text-align: center;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
}

/* Suppress any sub-controls on optionBox button that might create artifacts */
QPushButton#optionBox::menu-indicator,
QPushButton#optionBox::menu-arrow {
    image: none;
    width: 0px;
    height: 0px;
    padding: 0px;
    margin: 0px;
    border: 0px none transparent;
    background: transparent;
}

QWidget[class~="withBorder"] {
    border: 1px solid {BORDER_COLOR} !important;
}
.noPadding {
    padding: 0px 0px 0px 0px;
}
.noHover:hover {
    background-color: {WIDGET_BACKGROUND};
}
.textBold {
    font-weight: bold;
}
Header {
    background-color: {HEADER_BACKGROUND};
    border: none;
}
Header:hover {
    background-color: {HEADER_BACKGROUND};
    border: none;
}
Header > QLabel {
    font-weight: bold;
    padding-left: 20px;
    color: {TEXT_COLOR};
}
Header > QPushButton {
    background-color: transparent;
    border: none;
}
Header > QPushButton:hover {
    background-color: {MAIN_BACKGROUND_ALPHA};
    border: none;
}
Header > QPushButton#hide_button:hover {
    background-color: red;
    border: none;
}

/* Menu & MainWindow custom widgets inherit translucent border styling */
Menu,
MainWindow {
    background-color: {MAIN_BACKGROUND_ALPHA};
    border: 1px solid {BORDER_COLOR};
    color: {TEXT_COLOR};
    selection-background-color: {TEXT_BACKGROUND};
    selection-color: {HIGHLIGHT_COLOR};
}

/* Menu Frame (inner container with border) */
QFrame#menuFrame {
    background-color: {MAIN_BACKGROUND_ALPHA};
    border: 1px solid {BORDER_COLOR};
    color: {TEXT_COLOR};
}
QFrame#menuFrame:hover {
    background-color: {MAIN_BACKGROUND_ALPHA};
    border: 1px solid {BORDER_COLOR};
}

/* Footer Styling */
Footer {
    background-color: {HEADER_BACKGROUND};
    border: none;
    color: {TEXT_COLOR};
}
Footer:hover {
    background-color: {HEADER_BACKGROUND};
    border: none;
}
Footer > QLabel {
    background: transparent;
    border: none;
    color: {TEXT_COLOR};
    padding-left: 8px;
}
Footer > QLabel:hover {
    background: transparent;
    border: none;
    color: {TEXT_COLOR};
}

/* -- TreeWidget Specific Styling -- */
QTreeWidget {
    outline: none;
    background-color: {WIDGET_BACKGROUND};
    color: {TEXT_COLOR};
    selection-background-color: {BUTTON_HOVER};
    show-decoration-selected: 1;
    gridline-color: transparent;
    alternate-background-color: {MAIN_BACKGROUND};
}

QTreeWidget::branch {
    background: transparent;
    border: none;
    width: 16px;
    height: 16px;
    margin: 0px;
    padding: 0px;
}

/* Vertical continuation lines (items that have siblings below them) */
QTreeWidget::branch:has-siblings:!adjoins-item {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

/* T-junction: item with siblings that also has children (branch through) */
QTreeWidget::branch:has-siblings:adjoins-item {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

/* L-junction: last item in a group that has no children (end node) */
QTreeWidget::branch:!has-children:!has-siblings:adjoins-item {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

/* Expandable nodes - closed */
QTreeWidget::branch:has-children:closed {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

QTreeWidget::branch:has-children:closed:hover {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

/* Expandable nodes - open */
QTreeWidget::branch:has-children:open {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

QTreeWidget::branch:has-children:open:hover {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

/* T-junction: item with siblings that has children (closed) */
QTreeWidget::branch:closed:has-children:has-siblings {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

/* T-junction: item with siblings that has children (open) */
QTreeWidget::branch:open:has-children:has-siblings {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

/* L-junction: last item in a group that has children but is closed */
QTreeWidget::branch:has-children:!has-siblings:closed {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

/* L-junction: last item in a group that has children and is open */
QTreeWidget::branch:has-children:!has-siblings:open {
    background: transparent;
    border-image: none;
    /* Icon path set dynamically by TreeWidget */
}

QTreeWidget::item {
    padding: 2px 4px;
    border: none;
    min-height: 18px;
    color: {TEXT_COLOR};
    background: transparent;
}

QTreeWidget::item:selected {
    background-color: {BUTTON_CHECKED};
    color: {TEXT_CHECKED};
    border: none;
}

QTreeWidget::item:hover:!selected {
    background-color: rgba(255, 255, 255, 0.1);
    color: {TEXT_HOVER};
}

QTreeWidget::item:alternate {
    background-color: {MAIN_BACKGROUND};
}

/* Custom TreeWidget class support */
TreeWidget {
    outline: none;
    background-color: {WIDGET_BACKGROUND};
    color: {TEXT_COLOR};
    selection-background-color: {BUTTON_HOVER};
    show-decoration-selected: 1;
    gridline-color: transparent;
}

TreeWidget::item:selected {
    background-color: {BUTTON_CHECKED};
    color: {TEXT_CHECKED};
}

