from __future__ import annotations COLORS = { "bg": "#05090e", "sidebar": "#071019", "surface": "#09131d", "surface_2": "#0c1925", "surface_3": "#102130", "border": "#183246", "border_bright": "#24506e", "text": "#edf5fb", "muted": "#7f94a5", "blue": "#159eff", "blue_2": "#5bc0ff", "green": "#57e65c", "purple": "#bd63ff", "orange": "#ffb547", "red": "#ff5964", } APP_STYLESHEET = f""" * {{ font-family: "Segoe UI"; font-size: 13px; color: {COLORS["text"]}; }} QMainWindow, QWidget#Root {{ background: {COLORS["bg"]}; }} QFrame#Sidebar {{ background: {COLORS["sidebar"]}; border-right: 1px solid {COLORS["border"]}; }} QFrame#TopBar {{ background: transparent; border-bottom: 1px solid {COLORS["border"]}; }} QFrame[card="true"], QGroupBox {{ background: {COLORS["surface"]}; border: 1px solid {COLORS["border"]}; border-radius: 12px; }} QFrame[innerCard="true"] {{ background: {COLORS["surface_2"]}; border: 1px solid {COLORS["border"]}; border-radius: 9px; }} QLabel {{ background: transparent; }} QLabel[muted="true"] {{ color: {COLORS["muted"]}; }} QLabel[accent="true"] {{ color: {COLORS["blue_2"]}; }} QLabel[success="true"] {{ color: {COLORS["green"]}; }} QLabel[warning="true"] {{ color: {COLORS["orange"]}; }} QLabel[danger="true"] {{ color: {COLORS["red"]}; }} QLabel#AppName {{ font-size: 25px; font-weight: 800; letter-spacing: 4px; }} QLabel#PageTitle {{ font-size: 24px; font-weight: 650; }} QLabel#CardTitle {{ color: {COLORS["blue_2"]}; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; }} QPushButton {{ min-height: 34px; padding: 0 16px; border-radius: 7px; border: 1px solid {COLORS["border_bright"]}; background: {COLORS["surface_2"]}; }} QPushButton:hover {{ background: {COLORS["surface_3"]}; border-color: {COLORS["blue"]}; }} QPushButton:pressed {{ background: #0d2b40; }} QPushButton:disabled {{ color: #536674; border-color: #142734; background: #09121a; }} QPushButton[primary="true"] {{ background-color: {COLORS["blue"]}; color: #00101b; border-color: {COLORS["blue_2"]}; font-weight: 700; }} QPushButton[primary="true"]:hover {{ background-color: #43b4ff; }} QPushButton[danger="true"] {{ color: {COLORS["red"]}; border-color: #63323a; }} QPushButton[nav="true"] {{ min-height: 43px; padding-left: 18px; text-align: left; border: 0; border-left: 3px solid transparent; border-radius: 0; color: {COLORS["muted"]}; background: transparent; font-weight: 600; }} QPushButton[nav="true"]:hover {{ color: {COLORS["text"]}; background: #0a1721; }} QPushButton[navActive="true"] {{ color: {COLORS["blue_2"]}; background: #0b1b28; border-left: 3px solid {COLORS["blue"]}; }} QPushButton[chip="true"] {{ min-height: 29px; padding: 0 11px; color: #a9dfff; border-color: #1c4b69; background: #081a27; font-size: 12px; }} QPushButton[workflowCard="true"] {{ min-height: 92px; padding: 12px 13px; text-align: left; color: {COLORS["text"]}; border: 1px solid {COLORS["border"]}; border-radius: 9px; background: {COLORS["surface_2"]}; font-size: 12px; font-weight: 600; }} QPushButton[workflowCard="true"]:hover {{ background: #0e2130; border-color: {COLORS["blue"]}; }} QPushButton[recentPlan="true"] {{ min-height: 36px; padding: 5px 9px; text-align: left; border-radius: 7px; border-color: {COLORS["border"]}; background: #08131d; font-size: 11px; }} QPushButton[quick="true"] {{ min-height: 27px; padding: 0 9px; text-align: left; border: 0; color: #89a3b5; background: transparent; font-size: 11px; }} QPushButton[quick="true"]:hover {{ color: {COLORS["blue_2"]}; background: #0a1924; }} QLineEdit, QTextEdit, QPlainTextEdit, QComboBox, QSpinBox, QDoubleSpinBox {{ background: #050d14; border: 1px solid {COLORS["border_bright"]}; border-radius: 8px; padding: 8px 10px; selection-background-color: {COLORS["blue"]}; }} QLineEdit:focus, QTextEdit:focus, QPlainTextEdit:focus, QComboBox:focus {{ border-color: {COLORS["blue"]}; }} QComboBox::drop-down {{ border: 0; width: 28px; }} QComboBox QAbstractItemView {{ background: {COLORS["surface_2"]}; border: 1px solid {COLORS["border_bright"]}; selection-background-color: #12334a; }} QScrollArea {{ background: {COLORS["surface"]}; border: 0; }} QScrollArea > QWidget > QWidget {{ background: {COLORS["surface"]}; }} QScrollBar:vertical {{ width: 8px; background: transparent; margin: 2px; }} QScrollBar::handle:vertical {{ min-height: 32px; border-radius: 4px; background: #244154; }} QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical {{ height: 0; }} QProgressBar {{ min-height: 7px; max-height: 7px; border: 0; border-radius: 3px; background: #13232e; text-align: center; }} QProgressBar::chunk {{ border-radius: 3px; background: {COLORS["blue"]}; }} QTableWidget {{ background: {COLORS["surface"]}; alternate-background-color: #0a1620; border: 1px solid {COLORS["border"]}; border-radius: 10px; gridline-color: #132a39; selection-background-color: #10324a; selection-color: {COLORS["text"]}; }} QListWidget {{ background: {COLORS["surface"]}; alternate-background-color: #0a1620; border: 1px solid {COLORS["border"]}; border-radius: 10px; outline: 0; padding: 6px; }} QListWidget::item {{ color: {COLORS["text"]}; border-radius: 6px; padding: 5px; }} QListWidget::item:selected {{ background: #103d5a; color: {COLORS["text"]}; }} QTabWidget::pane {{ background: {COLORS["surface"]}; border: 1px solid {COLORS["border"]}; border-radius: 10px; top: -1px; }} QTabBar::tab {{ min-width: 120px; padding: 10px 18px; color: {COLORS["muted"]}; background: {COLORS["surface_2"]}; border: 1px solid {COLORS["border"]}; border-bottom: 0; border-top-left-radius: 7px; border-top-right-radius: 7px; }} QTabBar::tab:selected {{ color: {COLORS["blue_2"]}; background: {COLORS["surface"]}; border-color: {COLORS["border_bright"]}; }} QHeaderView::section {{ background: #0c1a25; color: {COLORS["muted"]}; border: 0; border-bottom: 1px solid {COLORS["border"]}; padding: 10px; font-size: 11px; font-weight: 700; }} QTableWidget::item {{ border-bottom: 1px solid #112532; padding: 8px; }} QToolTip {{ color: {COLORS["text"]}; background: {COLORS["surface_3"]}; border: 1px solid {COLORS["border_bright"]}; padding: 5px; }} QCheckBox {{ spacing: 9px; }} QCheckBox::indicator {{ width: 17px; height: 17px; border: 1px solid {COLORS["border_bright"]}; border-radius: 4px; background: #050d14; }} QCheckBox::indicator:checked {{ background: {COLORS["blue"]}; border-color: {COLORS["blue_2"]}; }} """