LIGHT_THEME = """ /* Globale Variablen und Basis-Styles */ * { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif; } /* Hauptfenster */ QMainWindow { background-color: #f8f9fa; color: #212529; } QMainWindow > QWidget { background-color: #f8f9fa; } /* Widget Hintergründe */ QWidget { background-color: transparent; color: #212529; } /* App Header */ QWidget#appHeader { background-color: transparent; padding-bottom: 20px; } /* Überschriften */ QLabel#heading { font-family: 'Poppins', sans-serif; font-size: 32px; font-weight: 700; color: #212529 !important; letter-spacing: -0.5px; background-color: transparent; } QLabel#subheading { font-size: 16px; color: #6c757d; margin-top: -5px; } QLabel#sectionTitle { font-size: 18px; font-weight: 600; color: #212529; margin-bottom: 10px; } QLabel#inputLabel { font-size: 14px; font-weight: 600; color: #495057; margin-bottom: 4px; } /* Content Card - Hauptcontainer */ QWidget#contentCard { background-color: #ffffff; border: 1px solid #e9ecef; border-radius: 12px; padding: 32px; } /* Tabellen-Style */ QTableWidget#dataTable { background-color: transparent; border: none; outline: none; } QTableWidget#dataTable::item { background-color: transparent; color: #495057; font-weight: 600; padding: 12px 16px; border-bottom: 1px solid #e9ecef; } QTableWidget#dataTable::item:selected { background-color: transparent; } /* Eingabefelder */ QLineEdit { background-color: #f8f9fa; border: 1px solid #ced4da; border-radius: 8px; padding: 12px 16px; color: #212529; font-size: 14px; min-height: 24px; } QLineEdit:focus { border-color: #00D4FF; background-color: #ffffff; outline: none; } QLineEdit::placeholder { color: #adb5bd; } /* Buttons */ QPushButton { background-color: #ffffff; color: #212529; border: 1px solid #ced4da; border-radius: 24px; padding: 0 24px; min-height: 40px; font-size: 14px; font-weight: 600; } QPushButton:hover { background-color: #f8f9fa; border-color: #00D4FF; } QPushButton:pressed { background-color: #e9ecef; } QPushButton:disabled { background-color: #f8f9fa; color: rgba(0, 0, 0, 0.3); border: 1px solid rgba(0, 0, 0, 0.1); } /* Primary Button */ QPushButton#primaryButton { background-color: #00D4FF; color: #212529; border: none; } QPushButton#primaryButton:hover { background-color: #00B8E6; color: #ffffff; } QPushButton#primaryButton:pressed { background-color: #0099CC; } QPushButton#primaryButton:disabled { background-color: #e9ecef; color: #adb5bd; } /* Mode Toggle Button */ QPushButton#modeToggle { background-color: rgba(0, 0, 0, 0.05); border: none; border-radius: 20px; padding: 8px; min-width: 40px; min-height: 40px; max-width: 40px; max-height: 40px; } QPushButton#modeToggle:hover { background-color: rgba(0, 0, 0, 0.1); } /* CheckBox */ QCheckBox { spacing: 10px; color: #212529; font-size: 14px; padding: 4px 0; } QCheckBox::indicator { width: 20px; height: 20px; border-radius: 4px; border: 2px solid #adb5bd; background-color: #ffffff; } QCheckBox::indicator:hover { border: 2px solid #6c757d; background-color: #f8f9fa; } QCheckBox::indicator:checked { background-color: #00D4FF; border: 2px solid #00D4FF; image: url(./src/resources/icons/check.svg); padding: 2px; } /* SpinBox */ QSpinBox { background-color: #f8f9fa; border: 1px solid #ced4da; border-radius: 8px; padding: 8px 12px; color: #212529; font-size: 14px; min-width: 60px; } QSpinBox:focus { border-color: #00D4FF; background-color: #ffffff; } QSpinBox::up-button, QSpinBox::down-button { background-color: transparent; border: none; width: 20px; } QSpinBox::up-button:hover, QSpinBox::down-button:hover { background-color: rgba(0, 212, 255, 0.1); } QSpinBox::up-arrow, QSpinBox::down-arrow { image: none; width: 0; height: 0; } /* Progress Bar */ QProgressBar { background-color: #e9ecef; border: none; border-radius: 6px; height: 12px; text-align: center; font-size: 12px; color: #212529; } QProgressBar::chunk { background: linear-gradient(90deg, #00D4FF 0%, #00B8E6 100%); border-radius: 6px; } /* Text Edit für Status */ QTextEdit#statusLog { background-color: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 12px; color: #495057; font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace; font-size: 13px; } /* Scrollbar */ QScrollBar:vertical { background-color: transparent; width: 10px; border-radius: 5px; } QScrollBar::handle:vertical { background-color: #ced4da; border-radius: 5px; min-height: 30px; } QScrollBar::handle:vertical:hover { background-color: #adb5bd; } QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0; } /* Frame Separator */ QFrame#separator { background-color: #e9ecef; max-height: 1px; margin: 20px 0; } /* Status Bar */ QStatusBar { background-color: #f8f9fa; color: #6c757d; border-top: 1px solid #e9ecef; font-size: 13px; padding: 4px; } /* Message Box */ QMessageBox { background-color: #ffffff; color: #212529; } QMessageBox QPushButton { min-width: 80px; } /* ComboBox */ QComboBox { background-color: #f8f9fa; border: 1px solid #ced4da; border-radius: 8px; padding: 10px 16px; color: #212529; font-size: 14px; } QComboBox:hover { border-color: #00D4FF; } QComboBox::drop-down { border: none; width: 24px; } QComboBox::down-arrow { width: 0; height: 0; border-style: solid; border-width: 6px 4px 0 4px; border-color: #00D4FF transparent transparent transparent; } QComboBox QAbstractItemView { background-color: #ffffff; border: 1px solid #ced4da; selection-background-color: #e3f2fd; color: #212529; } /* Tool Tips */ QToolTip { background-color: #212529; color: #ffffff; border: none; border-radius: 6px; padding: 8px 12px; font-size: 13px; } """