/* =================================================================== Fluent Design Light Mode Stylesheet for Qt6 Windows 11 inspired light theme =================================================================== */ /* === Color Palette === Background: #F3F3F3 Surface: #FFFFFF Surface Hover: #F9F9F9 Border: #E1DFDD Text: #000000 Text Secondary: #605E5C Accent: #0078D4 Accent Hover: #106EBE === */ /* === Global Styles === */ * { font-family: "Segoe UI", "Noto Sans", Roboto, sans-serif; font-size: 9pt; } QWidget { background-color: #F3F3F3; color: #000000; selection-background-color: #0078D4; selection-color: #FFFFFF; } /* === QMainWindow === */ QMainWindow { background-color: #F3F3F3; } QMainWindow::separator { background-color: #E1DFDD; width: 1px; height: 1px; } QMainWindow::separator:hover { background-color: #0078D4; } /* === QPushButton === */ QPushButton { background-color: #FFFFFF; color: #000000; border: 1px solid #E1DFDD; border-radius: 4px; padding: 6px 16px; min-height: 20px; font-weight: 500; } QPushButton:hover { background-color: #F9F9F9; border-color: #D1CFCD; } QPushButton:pressed { background-color: #F0F0F0; border-color: #E1DFDD; } QPushButton:disabled { background-color: #F9F9F9; color: #A19F9D; border-color: #E1DFDD; } QPushButton:default { background-color: #0078D4; border-color: #0078D4; color: #FFFFFF; } QPushButton:default:hover { background-color: #106EBE; border-color: #106EBE; } QPushButton:default:pressed { background-color: #005A9E; border-color: #005A9E; } /* === QLineEdit === */ QLineEdit { background-color: #FFFFFF; color: #000000; border: 1px solid #E1DFDD; border-radius: 4px; padding: 6px 8px; selection-background-color: #0078D4; } QLineEdit:hover { border-color: #D1CFCD; } QLineEdit:focus { background-color: #FFFFFF; border: 2px solid #0078D4; padding: 5px 7px; } QLineEdit:disabled { background-color: #F9F9F9; color: #A19F9D; border-color: #E1DFDD; } QLineEdit[readOnly="true"] { background-color: #F9F9F9; color: #605E5C; } /* === QTextEdit & QPlainTextEdit === */ QTextEdit, QPlainTextEdit { background-color: #FFFFFF; color: #000000; border: 1px solid #E1DFDD; border-radius: 4px; padding: 8px; selection-background-color: #0078D4; } QTextEdit:hover, QPlainTextEdit:hover { border-color: #D1CFCD; } QTextEdit:focus, QPlainTextEdit:focus { border: 2px solid #0078D4; padding: 7px; } QTextEdit:disabled, QPlainTextEdit:disabled { background-color: #F9F9F9; color: #A19F9D; } /* === QComboBox === */ QComboBox { background-color: #FFFFFF; color: #000000; border: 1px solid #E1DFDD; border-radius: 4px; padding: 6px 8px; min-height: 20px; } QComboBox:hover { background-color: #F9F9F9; border-color: #D1CFCD; } QComboBox:focus { border: 2px solid #0078D4; } QComboBox:disabled { background-color: #F9F9F9; color: #A19F9D; } QComboBox::drop-down { border: none; width: 20px; } QComboBox::down-arrow { image: url(:/icons/down-arrow-light.png); width: 12px; height: 12px; } QComboBox QAbstractItemView { background-color: #FFFFFF; color: #000000; border: 1px solid #E1DFDD; selection-background-color: #0078D4; selection-color: #FFFFFF; outline: none; } QComboBox QAbstractItemView::item { min-height: 28px; padding-left: 8px; } QComboBox QAbstractItemView::item:hover { background-color: #F9F9F9; } /* === QSpinBox & QDoubleSpinBox === */ QSpinBox, QDoubleSpinBox { background-color: #FFFFFF; color: #000000; border: 1px solid #E1DFDD; border-radius: 4px; padding: 6px 8px; min-height: 20px; } QSpinBox:hover, QDoubleSpinBox:hover { border-color: #D1CFCD; } QSpinBox:focus, QDoubleSpinBox:focus { border: 2px solid #0078D4; } QSpinBox:disabled, QDoubleSpinBox:disabled { background-color: #F9F9F9; color: #A19F9D; } QSpinBox::up-button, QDoubleSpinBox::up-button { background-color: transparent; border: none; width: 16px; } QSpinBox::up-button:hover, QDoubleSpinBox::up-button:hover { background-color: #F0F0F0; } QSpinBox::down-button, QDoubleSpinBox::down-button { background-color: transparent; border: none; width: 16px; } QSpinBox::down-button:hover, QDoubleSpinBox::down-button:hover { background-color: #F0F0F0; } /* === QCheckBox === */ QCheckBox { spacing: 8px; color: #000000; } QCheckBox::indicator { width: 18px; height: 18px; border-radius: 4px; border: 1px solid #8A8886; background-color: #FFFFFF; } QCheckBox::indicator:hover { background-color: #F9F9F9; border-color: #605E5C; } QCheckBox::indicator:checked { background-color: #0078D4; border-color: #0078D4; image: url(:/icons/checkmark-white.png); } QCheckBox::indicator:checked:hover { background-color: #106EBE; border-color: #106EBE; } QCheckBox::indicator:disabled { background-color: #F9F9F9; border-color: #E1DFDD; } QCheckBox:disabled { color: #A19F9D; } /* === QRadioButton === */ QRadioButton { spacing: 8px; color: #000000; } QRadioButton::indicator { width: 18px; height: 18px; border-radius: 9px; border: 1px solid #8A8886; background-color: #FFFFFF; } QRadioButton::indicator:hover { background-color: #F9F9F9; border-color: #605E5C; } QRadioButton::indicator:checked { background-color: #0078D4; border-color: #0078D4; } QRadioButton::indicator:checked:hover { background-color: #106EBE; border-color: #106EBE; } QRadioButton::indicator:checked::after { width: 8px; height: 8px; border-radius: 4px; background-color: #FFFFFF; } QRadioButton::indicator:disabled { background-color: #F9F9F9; border-color: #E1DFDD; } QRadioButton:disabled { color: #A19F9D; } /* === QSlider === */ QSlider::groove:horizontal { height: 4px; background-color: #E1DFDD; border-radius: 2px; } QSlider::handle:horizontal { background-color: #FFFFFF; border: 2px solid #0078D4; width: 16px; height: 16px; margin: -7px 0; border-radius: 8px; } QSlider::handle:horizontal:hover { background-color: #FFFFFF; border: 2px solid #106EBE; } QSlider::handle:horizontal:pressed { background-color: #F0F0F0; } QSlider::sub-page:horizontal { background-color: #0078D4; border-radius: 2px; } QSlider::groove:vertical { width: 4px; background-color: #E1DFDD; border-radius: 2px; } QSlider::handle:vertical { background-color: #FFFFFF; border: 2px solid #0078D4; width: 16px; height: 16px; margin: 0 -7px; border-radius: 8px; } QSlider::sub-page:vertical { background-color: #0078D4; border-radius: 2px; } /* === QProgressBar === */ QProgressBar { background-color: #E1DFDD; border: none; border-radius: 2px; height: 4px; text-align: center; color: transparent; } QProgressBar::chunk { background-color: #0078D4; border-radius: 2px; } QProgressBar:disabled { background-color: #E1DFDD; } /* === QScrollBar === */ QScrollBar:horizontal { background-color: transparent; height: 12px; margin: 0; } QScrollBar::handle:horizontal { background-color: #C8C6C4; min-width: 40px; border-radius: 6px; margin: 2px; } QScrollBar::handle:horizontal:hover { background-color: #A19F9D; } QScrollBar::handle:horizontal:pressed { background-color: #8A8886; } QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { width: 0px; } QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { background: none; } QScrollBar:vertical { background-color: transparent; width: 12px; margin: 0; } QScrollBar::handle:vertical { background-color: #C8C6C4; min-height: 40px; border-radius: 6px; margin: 2px; } QScrollBar::handle:vertical:hover { background-color: #A19F9D; } QScrollBar::handle:vertical:pressed { background-color: #8A8886; } QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0px; } QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: none; } /* === QTabWidget === */ QTabWidget::pane { background-color: #FFFFFF; border: 1px solid #E1DFDD; border-radius: 4px; top: -1px; } QTabBar::tab { background-color: transparent; color: #605E5C; border: none; border-bottom: 2px solid transparent; padding: 8px 16px; margin-right: 4px; } QTabBar::tab:hover { color: #000000; background-color: #F9F9F9; border-bottom: 2px solid #C8C6C4; } QTabBar::tab:selected { color: #000000; background-color: #FFFFFF; border-bottom: 2px solid #0078D4; } QTabBar::tab:disabled { color: #A19F9D; } /* === QGroupBox === */ QGroupBox { background-color: #FFFFFF; border: 1px solid #E1DFDD; border-radius: 6px; margin-top: 12px; padding-top: 12px; font-weight: 600; } QGroupBox::title { subcontrol-origin: margin; subcontrol-position: top left; padding: 0 8px; color: #000000; background-color: #FFFFFF; } /* === QLabel === */ QLabel { background-color: transparent; color: #000000; } QLabel:disabled { color: #A19F9D; } /* === QToolButton === */ QToolButton { background-color: transparent; color: #000000; border: none; border-radius: 4px; padding: 6px; } QToolButton:hover { background-color: #F9F9F9; } QToolButton:pressed { background-color: #F0F0F0; } QToolButton:checked { background-color: #0078D4; color: #FFFFFF; } QToolButton:disabled { color: #A19F9D; } /* === QMenu === */ QMenu { background-color: #FFFFFF; color: #000000; border: 1px solid #E1DFDD; padding: 4px; } QMenu::item { background-color: transparent; padding: 6px 24px 6px 8px; border-radius: 4px; } QMenu::item:selected { background-color: #F9F9F9; } QMenu::item:disabled { color: #A19F9D; } QMenu::separator { height: 1px; background-color: #E1DFDD; margin: 4px 0; } QMenu::icon { padding-left: 8px; } /* === QMenuBar === */ QMenuBar { background-color: #FFFFFF; color: #000000; border-bottom: 1px solid #E1DFDD; } QMenuBar::item { background-color: transparent; padding: 6px 12px; border-radius: 4px; } QMenuBar::item:selected { background-color: #F9F9F9; } QMenuBar::item:pressed { background-color: #F0F0F0; } /* === QToolBar === */ QToolBar { background-color: #FFFFFF; border: none; border-bottom: 1px solid #E1DFDD; spacing: 4px; padding: 4px; } QToolBar::handle { background-color: #E1DFDD; width: 1px; height: 1px; margin: 4px; } QToolBar::separator { background-color: #E1DFDD; width: 1px; height: 1px; margin: 4px; } /* === QStatusBar === */ QStatusBar { background-color: #FFFFFF; color: #605E5C; border-top: 1px solid #E1DFDD; } QStatusBar::item { border: none; } /* === QDockWidget === */ QDockWidget { background-color: #FFFFFF; color: #000000; titlebar-close-icon: url(:/icons/close-light.png); titlebar-normal-icon: url(:/icons/float-light.png); } QDockWidget::title { background-color: #FFFFFF; border: 1px solid #E1DFDD; padding: 6px; text-align: left; } QDockWidget::close-button, QDockWidget::float-button { background-color: transparent; border: none; padding: 4px; } QDockWidget::close-button:hover, QDockWidget::float-button:hover { background-color: #F9F9F9; border-radius: 4px; } /* === QListView & QListWidget === */ QListView, QListWidget { background-color: #FFFFFF; color: #000000; border: 1px solid #E1DFDD; border-radius: 4px; outline: none; } QListView::item, QListWidget::item { padding: 6px; border-radius: 4px; } QListView::item:hover, QListWidget::item:hover { background-color: #F9F9F9; } QListView::item:selected, QListWidget::item:selected { background-color: #0078D4; color: #FFFFFF; } QListView::item:disabled, QListWidget::item:disabled { color: #A19F9D; } /* === QTreeView & QTreeWidget === */ QTreeView, QTreeWidget { background-color: #FFFFFF; color: #000000; border: 1px solid #E1DFDD; border-radius: 4px; outline: none; show-decoration-selected: 1; } QTreeView::item, QTreeWidget::item { padding: 4px; border-radius: 4px; } QTreeView::item:hover, QTreeWidget::item:hover { background-color: #F9F9F9; } QTreeView::item:selected, QTreeWidget::item:selected { background-color: #0078D4; color: #FFFFFF; } QTreeView::branch, QTreeWidget::branch { background-color: transparent; } QTreeView::branch:closed:has-children, QTreeWidget::branch:closed:has-children { image: url(:/icons/branch-closed-light.png); } QTreeView::branch:open:has-children, QTreeWidget::branch:open:has-children { image: url(:/icons/branch-open-light.png); } /* === QTableView & QTableWidget === */ QTableView, QTableWidget { background-color: #FFFFFF; color: #000000; gridline-color: #E1DFDD; border: 1px solid #E1DFDD; border-radius: 4px; selection-background-color: #0078D4; } QTableView::item, QTableWidget::item { padding: 4px; } QTableView::item:hover, QTableWidget::item:hover { background-color: #F9F9F9; } QTableView::item:selected, QTableWidget::item:selected { background-color: #0078D4; color: #FFFFFF; } QHeaderView::section { background-color: #FFFFFF; color: #000000; padding: 6px; border: none; border-right: 1px solid #E1DFDD; border-bottom: 1px solid #E1DFDD; font-weight: 600; } QHeaderView::section:hover { background-color: #F9F9F9; } /* === QDialog === */ QDialog { background-color: #FFFFFF; } /* === QMessageBox === */ QMessageBox { background-color: #FFFFFF; } QMessageBox QLabel { color: #000000; } /* === QToolTip === */ QToolTip { background-color: #F9F9F9; color: #000000; border: 1px solid #E1DFDD; border-radius: 4px; padding: 4px 8px; } /* === QCalendarWidget === */ QCalendarWidget { background-color: #FFFFFF; } QCalendarWidget QToolButton { color: #000000; background-color: transparent; border: none; border-radius: 4px; padding: 4px; } QCalendarWidget QToolButton:hover { background-color: #F9F9F9; } QCalendarWidget QMenu { background-color: #FFFFFF; } QCalendarWidget QSpinBox { background-color: #FFFFFF; color: #000000; selection-background-color: #0078D4; } QCalendarWidget QAbstractItemView { background-color: #FFFFFF; color: #000000; selection-background-color: #0078D4; selection-color: #FFFFFF; } /* === QSplitter === */ QSplitter::handle { background-color: #E1DFDD; } QSplitter::handle:hover { background-color: #0078D4; } QSplitter::handle:horizontal { width: 1px; } QSplitter::handle:vertical { height: 1px; } /* === Custom Classes === */ .accent-button { background-color: #0078D4; color: #FFFFFF; border: none; } .accent-button:hover { background-color: #106EBE; } .accent-button:pressed { background-color: #005A9E; } .danger-button { background-color: #C42B1C; color: #FFFFFF; border: none; } .danger-button:hover { background-color: #A52314; } .success-button { background-color: #107C10; color: #FFFFFF; border: none; } .success-button:hover { background-color: #0E6B0E; } .card { background-color: #FFFFFF; border: 1px solid #E1DFDD; border-radius: 8px; padding: 16px; } .surface { background-color: #FFFFFF; border: 1px solid #E1DFDD; } .divider { background-color: #E1DFDD; min-height: 1px; max-height: 1px; } .secondary-text { color: #605E5C; } .disabled-text { color: #A19F9D; }