summaryrefslogtreecommitdiff
path: root/ui/style_light.qss
blob: 38b91f803da77ad6de8bd4369df626c06187c0c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/* LabDAQ — Light Theme */
* { font-family:"IBM Plex Sans","Segoe UI",Tahoma,sans-serif; font-size:12px; color:#1e293b; }
QMainWindow,QDialog { background:#f8fafc; }
QToolBar#mainToolbar { background:#ffffff; border-bottom:1px solid #e2e8f0; padding:4px 8px; spacing:4px; }
QPushButton#runButton { background:#166534; color:#dcfce7; border:1px solid #22c55e; border-radius:4px; padding:5px 16px; font-family:"IBM Plex Mono",monospace; font-weight:600; min-width:90px; }
QPushButton#runButton:checked { background:#991b1b; border-color:#ef4444; color:#fee2e2; }
QPushButton#logButton { background:#f1f5f9; color:#64748b; border:1px solid #cbd5e1; border-radius:4px; padding:5px 14px; font-family:"IBM Plex Mono",monospace; min-width:80px; }
QPushButton#logButton:enabled { color:#1e293b; border-color:#3b82f6; }
QPushButton#logButton:checked { background:#fef2f2; border-color:#ef4444; color:#991b1b; }
QPushButton#toolbarSectionBtn { background:#f1f5f9; color:#475569; border:1px solid #cbd5e1; border-radius:4px; padding:5px 14px; font-weight:600; }
QPushButton#toolbarSectionBtn:hover { background:#e2e8f0; color:#1e293b; }
QPushButton#toolbarSectionBtn:checked { background:#dbeafe; color:#1d4ed8; border-color:#3b82f6; }
QLabel#timeLabel { font-family:"IBM Plex Mono",monospace; font-size:16px; font-weight:700; color:#3b82f6; letter-spacing:2px; padding-right:8px; }
QLabel#panelHeader { background:#f1f5f9; color:#64748b; font-family:"IBM Plex Mono",monospace; font-size:10px; font-weight:700; letter-spacing:2px; padding:6px 8px; border-bottom:1px solid #e2e8f0; }
QFrame#deviceCard { background:#ffffff; border:1px solid #e2e8f0; border-radius:6px; }
QFrame#deviceCard:hover { border-color:#3b82f6; background:#f0f9ff; }
QLabel#deviceName { font-size:13px; font-weight:600; color:#1e293b; }
QLabel#deviceSub { font-family:"IBM Plex Mono",monospace; font-size:10px; color:#94a3b8; }
QLabel#deviceChannelCount { font-size:11px; color:#3b82f6; }
QPushButton#configButton { background:#f1f5f9; color:#64748b; border:1px solid #cbd5e1; border-radius:3px; padding:3px 10px; font-size:11px; }
QPushButton#configButton:hover { background:#dbeafe; color:#1d4ed8; border-color:#3b82f6; }
QScrollArea#deviceScroll { background:#f8fafc; border:none; }
QFrame#traceRow { background:#ffffff; border:1px solid #e2e8f0; border-radius:4px; }
QFrame#plotBlock { background:#f8fafc; border:1px solid #e2e8f0; border-radius:6px; }
QWidget#plotBlockHeader { background:#f1f5f9; border-bottom:1px solid #e2e8f0; border-radius:5px 5px 0 0; }
QLineEdit#plotBlockTitle { font-family:"IBM Plex Mono",monospace; font-size:12px; font-weight:700; color:#334155; background:transparent; border:none; }
QWidget#plotBlockSettings { background:#f8fafc; border-bottom:1px solid #e2e8f0; }
QWidget#plotBlockTraces { background:#f8fafc; border-radius:0 0 5px 5px; }
QPushButton#addTraceBtn { background:#f0f9ff; color:#3b82f6; border:1px dashed #93c5fd; border-radius:4px; padding:4px 12px; }
QPushButton#addTraceBtn:hover { background:#dbeafe; border-style:solid; }
QPushButton#applyButton { background:#1d4ed8; color:#eff6ff; border:1px solid #3b82f6; border-radius:4px; padding:6px 20px; font-weight:600; }
QPushButton#applyButton:hover { background:#1e40af; }
QComboBox,QLineEdit,QDoubleSpinBox,QSpinBox { background:#ffffff; border:1px solid #cbd5e1; border-radius:3px; padding:4px 8px; color:#1e293b; font-family:"IBM Plex Mono",monospace; min-height:22px; }
QComboBox:focus,QLineEdit:focus,QDoubleSpinBox:focus,QSpinBox:focus { border-color:#3b82f6; }
QCheckBox { color:#475569; spacing:6px; }
QCheckBox::indicator { width:14px;height:14px;border:1px solid #cbd5e1;border-radius:3px;background:#ffffff; }
QCheckBox::indicator:checked { background:#3b82f6;border-color:#3b82f6; }
QTabWidget::pane { background:#ffffff; border:1px solid #e2e8f0; border-radius:4px; }
QTabBar::tab { background:#f1f5f9; color:#64748b; border:1px solid #e2e8f0; padding:6px 16px; margin-right:2px; }
QTabBar::tab:selected { background:#ffffff; color:#1e293b; border-bottom:2px solid #3b82f6; }
QGroupBox { border:1px solid #e2e8f0; border-radius:5px; margin-top:26px; padding-top:6px; background:#f8fafc; }
QGroupBox::title { subcontrol-origin:margin; subcontrol-position:top left; left:10px; top:4px; background:#dbeafe; padding:3px 10px; border:1px solid #3b82f6; border-radius:4px; color:#1d4ed8; font-size:12px; font-weight:700; letter-spacing:0.5px; }
QScrollBar:vertical { background:#f1f5f9; width:6px; margin:0; }
QScrollBar::handle:vertical { background:#cbd5e1; border-radius:3px; min-height:20px; }
QScrollBar::handle:vertical:hover { background:#3b82f6; }
QScrollBar::add-line:vertical,QScrollBar::sub-line:vertical { height:0; }
QSplitter::handle { background:#e2e8f0; }
QSplitter::handle:hover { background:#3b82f6; }
QStatusBar { background:#ffffff; border-top:1px solid #e2e8f0; color:#64748b; font-family:"IBM Plex Mono",monospace; font-size:11px; }
QPushButton { background:#f1f5f9; color:#475569; border:1px solid #cbd5e1; border-radius:4px; padding:5px 12px; }
QPushButton:hover { background:#e2e8f0; color:#1e293b; }
QTextEdit#codeEditor { font-family:"IBM Plex Mono",monospace; font-size:12px; background:#1e293b; color:#e2e8f0; border:1px solid #cbd5e1; border-radius:4px; padding:6px; }
QLabel#traceSource { font-family:"IBM Plex Mono",monospace; font-size:10px; color:#64748b; }
QWidget#devWindowTitleBar { background:#f1f5f9; border-bottom:1px solid #e2e8f0; }
QLabel#devWindowTitle { font-family:"IBM Plex Mono",monospace; font-size:11px; font-weight:700; letter-spacing:2px; color:#475569; }
QFrame#devWindowDivider { color:#e2e8f0; max-height:1px; }
QWidget#cfgGlobalBar { background:#f8fafc; border-bottom:1px solid #e2e8f0; }
QWidget#cfgBottomBar { background:#f8fafc; border-top:1px solid #e2e8f0; }
QTableWidget#channelTable { background:#ffffff; gridline-color:#f1f5f9; border:1px solid #e2e8f0; alternate-background-color:#f8fafc; }
QHeaderView::section { background:#f1f5f9; color:#475569; border:none; border-bottom:1px solid #e2e8f0; padding:4px 8px; font-weight:600; }

/* Port scanner list — light theme */
QListWidget#portList {
    background:#ffffff; border:1px solid #cbd5e1; border-radius:4px;
    color:#1e293b; font-family:"IBM Plex Mono",monospace; font-size:12px;
}
QListWidget#portList::item { padding:5px 8px; border-bottom:1px solid #f1f5f9; }
QListWidget#portList::item:hover { background:#f0f9ff; color:#1d4ed8; }
QListWidget#portList::item:selected { background:#dbeafe; color:#1d4ed8; border-left:3px solid #3b82f6; }

/* ── Control panel widgets ───────────────────────────────────────── */
QFrame#controlWidget { background:#ffffff; border:1px solid #cbd5e1; border-radius:6px; }
QWidget#controlWidgetHeader { background:#f1f5f9; border-radius:5px 5px 0 0; border-bottom:1px solid #e2e8f0; }
QLabel#controlWidgetIcon  { font-size:14px; color:#3b82f6; padding-right:4px; }
QLabel#controlWidgetTitle { font-family:"IBM Plex Mono",monospace; font-size:11px; font-weight:700; letter-spacing:1.5px; color:#64748b; }
QWidget#controlWidgetBody { background:#ffffff; border-radius:0 0 5px 5px; }
QFrame#controlWidgetWrapper { background:transparent; border:none; }

/* Motor */
QLabel#motorSpeedLbl { font-family:"IBM Plex Mono",monospace; font-size:28px; font-weight:700; color:#1d4ed8; }
QLabel#motorUnitLbl  { font-family:"IBM Plex Mono",monospace; font-size:12px; color:#94a3b8; padding-top:12px; }
QLabel#motorPctLbl   { font-family:"IBM Plex Mono",monospace; font-size:12px; color:#94a3b8; }
QSlider#motorSlider::groove:horizontal, QSlider#pwmSlider::groove:horizontal { background:#e2e8f0; height:6px; border-radius:3px; }
QSlider#motorSlider::handle:horizontal, QSlider#pwmSlider::handle:horizontal { background:#3b82f6; border:2px solid #1d4ed8; width:16px; height:16px; margin:-5px 0; border-radius:8px; }
QSlider#motorSlider::sub-page:horizontal { background:#3b82f6; border-radius:3px; }
QSlider#pwmSlider::sub-page:horizontal   { background:#7c3aed; border-radius:3px; }
QPushButton#motorDirBtn    { background:#f1f5f9; color:#64748b; border:1px solid #cbd5e1; border-radius:4px; padding:5px 10px; font-family:"IBM Plex Mono",monospace; font-size:12px; }
QPushButton#motorDirBtnRev { background:#ede9fe; color:#6d28d9; border:1px solid #7c3aed; border-radius:4px; padding:5px 10px; font-family:"IBM Plex Mono",monospace; font-size:12px; }
QPushButton#motorRunBtnOff { background:#f1f5f9; color:#94a3b8; border:1px solid #cbd5e1; border-radius:4px; padding:5px 12px; font-family:"IBM Plex Mono",monospace; font-weight:700; }
QPushButton#motorRunBtnOn  { background:#dcfce7; color:#166534; border:1px solid #22c55e; border-radius:4px; padding:5px 12px; font-family:"IBM Plex Mono",monospace; font-weight:700; }

/* Switch */
QPushButton#switchBtnOff, QPushButton#switchBtn { background:#f1f5f9; color:#94a3b8; border:2px solid #cbd5e1; border-radius:6px; font-family:"IBM Plex Mono",monospace; font-size:18px; font-weight:800; letter-spacing:4px; min-height:52px; }
QPushButton#switchBtnOn { background:#dcfce7; color:#166534; border:2px solid #22c55e; border-radius:6px; font-family:"IBM Plex Mono",monospace; font-size:18px; font-weight:800; letter-spacing:4px; min-height:52px; }
QLabel#switchIndicatorOff { font-size:18px; color:#cbd5e1; }
QLabel#switchIndicatorOn  { font-size:18px; color:#22c55e; }
QLabel#switchStateLbl     { font-family:"IBM Plex Mono",monospace; font-size:10px; font-weight:700; letter-spacing:1px; color:#94a3b8; }

/* Setpoint */
QLabel#spLabel { font-family:"IBM Plex Mono",monospace; font-size:11px; font-weight:700; color:#3b82f6; letter-spacing:0.5px; }
QLabel#pvLabel { font-family:"IBM Plex Mono",monospace; font-size:11px; font-weight:700; color:#16a34a; letter-spacing:0.5px; }
QLabel#errLabel { font-family:"IBM Plex Mono",monospace; font-size:11px; font-weight:700; color:#d97706; letter-spacing:0.5px; }
QLabel#pvValue, QLabel#errValue { font-family:"IBM Plex Mono",monospace; font-size:12px; color:#64748b; }
QDoubleSpinBox#spSpinbox { font-family:"IBM Plex Mono",monospace; font-size:13px; font-weight:600; color:#1e293b; background:#ffffff; border:1px solid #3b82f6; border-radius:3px; padding:3px 6px; }
QPushButton#spStepBtn { background:#dbeafe; color:#1d4ed8; border:1px solid #3b82f6; border-radius:3px; font-size:16px; font-weight:700; padding:0; }
QPushButton#spStepBtn:hover { background:#bfdbfe; }

/* PWM */
QLabel#pwmLabel  { font-family:"IBM Plex Mono",monospace; font-size:11px; color:#64748b; }
QLabel#pwmValue  { font-family:"IBM Plex Mono",monospace; font-size:13px; font-weight:700; color:#6d28d9; }
QSpinBox#pwmFreqSpin { font-family:"IBM Plex Mono",monospace; font-size:12px; background:#ffffff; border:1px solid #cbd5e1; border-radius:3px; color:#1e293b; padding:3px 6px; }
QPushButton#digitalOutBtn { background:#f1f5f9; color:#94a3b8; border:1px solid #cbd5e1; border-radius:4px; padding:4px 14px; font-family:"IBM Plex Mono",monospace; min-width:50px; }
QPushButton#digitalOutBtn:checked { background:#dcfce7; border-color:#22c55e; color:#166534; }

/* Misc window controls */
QWidget#controlPanelHeader { background:#f1f5f9; border-bottom:1px solid #e2e8f0; }
QPushButton#devicesSmallBtn { background:transparent; color:#94a3b8; border:1px solid #e2e8f0; border-radius:3px; font-size:13px; padding:0; }
QPushButton#devicesSmallBtn:hover { background:#f0f9ff; color:#3b82f6; border-color:#3b82f6; }
QPushButton#plotCfgButton { background:#f0f9ff; color:#1d4ed8; border:1px solid #93c5fd; border-radius:4px; padding:5px 14px; font-weight:600; }
QPushButton#plotCfgButton:hover   { background:#dbeafe; border-color:#3b82f6; }
QPushButton#plotCfgButton:checked { background:#dbeafe; border-color:#3b82f6; }
QComboBox#channelPickerCb { font-family:"IBM Plex Mono",monospace; font-size:12px; background:#ffffff; border:1px solid #cbd5e1; border-radius:3px; color:#1e293b; padding:4px 8px; }
QMenu#profileMenu { background:#ffffff; border:1px solid #e2e8f0; border-radius:4px; padding:4px 0; color:#1e293b; }
QMenu#profileMenu::item { padding:7px 20px; color:#334155; }
QMenu#profileMenu::item:selected { background:#dbeafe; color:#1d4ed8; }
QMenu#profileMenu::separator { height:1px; background:#e2e8f0; margin:3px 8px; }