Phase 1: initial codes

This commit is contained in:
2026-05-26 11:04:27 -04:00
parent 03bff49523
commit f49a283059
32 changed files with 4194 additions and 0 deletions
+332
View File
@@ -0,0 +1,332 @@
/* ─── StockMind Light Theme ─── */
* {
font-family: "Segoe UI", "Arial", sans-serif;
font-size: 10pt;
color: #4c4f69;
}
QMainWindow, QWidget {
background-color: #eff1f5;
}
/* ─── Sidebar ─── */
#sidebar {
background-color: #e6e9ef;
border-right: 1px solid #ccd0da;
min-width: 56px;
max-width: 56px;
}
#sidebar QPushButton {
background-color: transparent;
border: none;
border-radius: 8px;
padding: 10px;
margin: 2px 6px;
color: #9ca0b0;
font-size: 9pt;
text-align: center;
}
#sidebar QPushButton:hover {
background-color: #ccd0da;
color: #4c4f69;
}
#sidebar QPushButton:checked, #sidebar QPushButton[active="true"] {
background-color: #1e66f5;
color: #ffffff;
}
#logo_label {
color: #1e66f5;
font-size: 13pt;
font-weight: bold;
padding: 12px 0;
}
/* ─── Frames / Cards ─── */
QFrame#card {
background-color: #ffffff;
border: 1px solid #ccd0da;
border-radius: 10px;
padding: 8px;
}
/* ─── Labels ─── */
QLabel {
background-color: transparent;
}
QLabel#title {
font-size: 15pt;
font-weight: bold;
color: #4c4f69;
}
QLabel#subtitle {
font-size: 9pt;
color: #9ca0b0;
}
QLabel#price_label {
font-size: 22pt;
font-weight: bold;
color: #4c4f69;
}
QLabel.positive { color: #40a02b; }
QLabel.negative { color: #d20f39; }
/* ─── Buttons ─── */
QPushButton {
background-color: #e6e9ef;
color: #4c4f69;
border: 1px solid #ccd0da;
border-radius: 6px;
padding: 6px 14px;
font-size: 9pt;
}
QPushButton:hover {
background-color: #ccd0da;
border-color: #bcc0cc;
}
QPushButton:pressed {
background-color: #bcc0cc;
}
QPushButton#primary_btn {
background-color: #1e66f5;
color: #ffffff;
border: none;
font-weight: bold;
}
QPushButton#primary_btn:hover {
background-color: #2d75ff;
}
QPushButton#danger_btn {
background-color: #d20f39;
color: #ffffff;
border: none;
}
QPushButton#danger_btn:hover {
background-color: #e0204a;
}
QPushButton:disabled {
background-color: #eff1f5;
color: #bcc0cc;
border-color: #ccd0da;
}
/* ─── Inputs ─── */
QLineEdit, QSpinBox, QDoubleSpinBox, QComboBox {
background-color: #ffffff;
border: 1px solid #ccd0da;
border-radius: 6px;
padding: 5px 8px;
color: #4c4f69;
selection-background-color: #1e66f5;
selection-color: #ffffff;
}
QLineEdit:focus, QSpinBox:focus, QDoubleSpinBox:focus, QComboBox:focus {
border-color: #1e66f5;
}
QComboBox::drop-down { border: none; width: 20px; }
QComboBox QAbstractItemView {
background-color: #ffffff;
border: 1px solid #ccd0da;
border-radius: 6px;
selection-background-color: #e6e9ef;
color: #4c4f69;
}
/* ─── Tables ─── */
QTableWidget, QTableView {
background-color: #ffffff;
alternate-background-color: #f5f5fa;
border: none;
gridline-color: #e6e9ef;
selection-background-color: #e6e9ef;
selection-color: #4c4f69;
}
QTableWidget::item, QTableView::item {
padding: 4px 8px;
border: none;
}
QHeaderView::section {
background-color: #e6e9ef;
color: #9ca0b0;
border: none;
border-bottom: 1px solid #ccd0da;
padding: 6px 8px;
font-size: 9pt;
font-weight: bold;
text-transform: uppercase;
}
/* ─── Scrollbars ─── */
QScrollBar:vertical {
background: transparent;
width: 8px;
border-radius: 4px;
}
QScrollBar::handle:vertical {
background-color: #ccd0da;
border-radius: 4px;
min-height: 30px;
}
QScrollBar::handle:vertical:hover { background-color: #bcc0cc; }
QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0; }
QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: transparent; }
QScrollBar:horizontal {
background: transparent;
height: 8px;
border-radius: 4px;
}
QScrollBar::handle:horizontal {
background-color: #ccd0da;
border-radius: 4px;
min-width: 30px;
}
QScrollBar::handle:horizontal:hover { background-color: #bcc0cc; }
QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { width: 0; }
/* ─── Tabs ─── */
QTabWidget::pane {
border: 1px solid #ccd0da;
border-radius: 8px;
background-color: #ffffff;
}
QTabBar::tab {
background-color: #e6e9ef;
color: #9ca0b0;
border: none;
padding: 8px 16px;
border-radius: 6px 6px 0 0;
margin-right: 2px;
}
QTabBar::tab:selected {
background-color: #ffffff;
color: #4c4f69;
}
QTabBar::tab:hover {
background-color: #dce0e8;
color: #4c4f69;
}
/* ─── Text Edit ─── */
QTextEdit, QPlainTextEdit {
background-color: #ffffff;
border: 1px solid #ccd0da;
border-radius: 6px;
color: #4c4f69;
selection-background-color: #1e66f5;
selection-color: #ffffff;
padding: 4px;
}
/* ─── Checkboxes ─── */
QCheckBox {
spacing: 6px;
color: #4c4f69;
}
QCheckBox::indicator {
width: 16px;
height: 16px;
border: 2px solid #ccd0da;
border-radius: 4px;
background: white;
}
QCheckBox::indicator:checked {
background-color: #1e66f5;
border-color: #1e66f5;
}
/* ─── Splitter ─── */
QSplitter::handle { background-color: #ccd0da; }
QSplitter::handle:horizontal { width: 2px; }
QSplitter::handle:vertical { height: 2px; }
/* ─── Status Bar ─── */
QStatusBar {
background-color: #e6e9ef;
border-top: 1px solid #ccd0da;
color: #9ca0b0;
font-size: 8pt;
}
/* ─── Tooltips ─── */
QToolTip {
background-color: #ffffff;
color: #4c4f69;
border: 1px solid #ccd0da;
border-radius: 6px;
padding: 4px 8px;
font-size: 9pt;
}
/* ─── Group Box ─── */
QGroupBox {
border: 1px solid #ccd0da;
border-radius: 8px;
margin-top: 12px;
padding-top: 8px;
font-size: 9pt;
color: #9ca0b0;
}
QGroupBox::title {
subcontrol-origin: margin;
left: 10px;
padding: 0 4px;
color: #1e66f5;
}
/* ─── List Widget ─── */
QListWidget {
background-color: #ffffff;
border: none;
alternate-background-color: #f5f5fa;
outline: none;
}
QListWidget::item {
padding: 6px 10px;
border-radius: 4px;
margin: 1px 4px;
}
QListWidget::item:selected {
background-color: #e6e9ef;
color: #4c4f69;
}
QListWidget::item:hover {
background-color: #f0f1f7;
}
/* ─── Progress Bar ─── */
QProgressBar {
background-color: #e6e9ef;
border: none;
border-radius: 4px;
height: 6px;
color: transparent;
}
QProgressBar::chunk {
background-color: #1e66f5;
border-radius: 4px;
}
/* ─── Dialog ─── */
QDialog { background-color: #eff1f5; }