/* ==================== DCS2025 规程管理界面样式 - 现代化设计 ==================== */ /* ==================== 全局样式 ==================== */ QWidget { background-color: #F5F7FA; color: #374151; font-family: "PingFangSC-Regular", "Microsoft YaHei", "Segoe UI", Arial, sans-serif; font-size: 14px; selection-background-color: #3B82F6; selection-color: #FFFFFF; } /* ==================== 主窗口样式 ==================== */ QMainWindow { background-color: #F5F7FA; border: none; } /* ==================== 工具栏样式 ==================== */ QToolBar { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFFF, stop:1 #F8FAFC); border: none; border-bottom: 1px solid #E5E7EB; spacing: 12px; padding: 16px 24px; font-size: 13px; font-weight: 500; } QToolBar::separator { background-color: #E5E7EB; width: 1px; margin: 8px 6px; } /* 工具栏按钮 */ QToolBar QToolButton { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 8px; padding: 12px 16px; margin: 4px 2px; color: #374151; font-size: 13px; font-weight: 500; min-width: 80px; min-height: 36px; } QToolBar QToolButton:hover { background-color: #F9FAFB; border-color: #D1D5DB; color: #1F2937; } QToolBar QToolButton:pressed { background-color: #F3F4F6; border-color: #9CA3AF; color: #111827; } /* ==================== 标签页样式 ==================== */ QTabWidget::pane { border: 1px solid #E5E7EB; border-radius: 12px; background-color: #FFFFFF; margin-top: -1px; } QTabWidget::tab-bar { alignment: left; } QTabBar::tab { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #F9FAFB, stop:1 #F3F4F6); border: 1px solid #E5E7EB; border-bottom: none; border-top-left-radius: 12px; border-top-right-radius: 12px; padding: 16px 24px; margin-right: 4px; color: #6B7280; font-size: 14px; font-weight: 500; min-width: 140px; } QTabBar::tab:selected { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFFF, stop:1 #F8FAFC); color: #1976D2; border-color: #E5E7EB; font-weight: 600; } QTabBar::tab:hover:!selected { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFFF, stop:1 #F9FAFB); color: #374151; } /* 关闭按钮 */ QTabBar::close-button { image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDRMNCA4TDEyIDEyIiBzdHJva2U9IiM2QjcyODAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=); subcontrol-position: right; subcontrol-origin: padding; border-radius: 4px; margin: 6px; padding: 2px; } QTabBar::close-button:hover { background-color: #FEE2E2; border: 1px solid #FECACA; } /* ==================== 卡片式容器样式 ==================== */ /* 分类列表卡片 */ QWidget#categoryCard { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 12px; padding: 20px; margin: 8px; } /* 规程列表卡片 */ QWidget#procedureCard { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 12px; padding: 20px; margin: 8px; } /* 卡片标题 */ QLabel#cardTitle { font-size: 16px; font-weight: 600; color: #1F2937; padding: 0 0 12px 0; border-bottom: 2px solid #E5E7EB; margin-bottom: 16px; } /* ==================== 列表控件样式 ==================== */ /* 分类列表 */ QListWidget#categoryList { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 8px; padding: 8px; outline: none; font-size: 14px; } QListWidget#categoryList::item { background-color: transparent; border: none; border-radius: 6px; padding: 12px 16px; margin: 2px 0; color: #374151; font-weight: 500; } QListWidget#categoryList::item:hover { background-color: #F3F4F6; color: #1F2937; } QListWidget#categoryList::item:selected { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #3B82F6, stop:1 #2563EB); color: #FFFFFF; font-weight: 600; } /* 规程列表 */ QListWidget#procedureList { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 8px; padding: 8px; outline: none; font-size: 14px; } QListWidget#procedureList::item { background-color: transparent; border: none; border-radius: 6px; padding: 16px 20px; margin: 3px 0; color: #374151; font-weight: 500; min-height: 20px; } QListWidget#procedureList::item:hover { background-color: #F8FAFC; border: 1px solid #E5E7EB; color: #1F2937; } QListWidget#procedureList::item:selected { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #EBF8FF, stop:1 #DBEAFE); border: 1px solid #93C5FD; color: #1E40AF; font-weight: 600; } /* ==================== 按钮样式 ==================== */ /* 基础按钮样式 */ QPushButton { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 8px; padding: 12px 20px; font-weight: 500; color: #374151; font-size: 14px; min-width: 100px; min-height: 36px; } QPushButton:hover { background-color: #F9FAFB; border-color: #D1D5DB; color: #1F2937; } QPushButton:pressed { background-color: #F3F4F6; border-color: #9CA3AF; color: #111827; } QPushButton:disabled { background-color: #F9FAFB; color: #9CA3AF; border-color: #E5E7EB; } /* 主要操作按钮 - 蓝色 */ QPushButton#primaryBtn { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3B82F6, stop:1 #2563EB); border: 1px solid #2563EB; color: #FFFFFF; font-weight: 600; } QPushButton#primaryBtn:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2563EB, stop:1 #1D4ED8); border-color: #1D4ED8; } QPushButton#primaryBtn:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #1D4ED8, stop:1 #1E40AF); border-color: #1E40AF; } /* 成功操作按钮 - 绿色 */ QPushButton#successBtn { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #10B981, stop:1 #059669); border: 1px solid #059669; color: #FFFFFF; font-weight: 600; } QPushButton#successBtn:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #059669, stop:1 #047857); border-color: #047857; } QPushButton#successBtn:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #047857, stop:1 #065F46); border-color: #065F46; } /* 警告操作按钮 - 橙色 */ QPushButton#warningBtn { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #F59E0B, stop:1 #D97706); border: 1px solid #D97706; color: #FFFFFF; font-weight: 600; } QPushButton#warningBtn:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #D97706, stop:1 #B45309); border-color: #B45309; } QPushButton#warningBtn:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B45309, stop:1 #92400E); border-color: #92400E; } /* 危险操作按钮 - 红色 */ QPushButton#dangerBtn { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #EF4444, stop:1 #DC2626); border: 1px solid #DC2626; color: #FFFFFF; font-weight: 600; } QPushButton#dangerBtn:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #DC2626, stop:1 #B91C1C); border-color: #B91C1C; } QPushButton#dangerBtn:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B91C1C, stop:1 #991B1B); border-color: #991B1B; } /* ==================== 表格样式 ==================== */ QTableWidget { background-color: #FFFFFF; alternate-background-color: #F8FAFC; gridline-color: #E5E7EB; border: 1px solid #E5E7EB; border-radius: 8px; selection-background-color: #EBF8FF; selection-color: #1E40AF; outline: none; font-size: 13px; } QTableWidget::item { padding: 12px 16px; border: none; background-color: transparent; } QTableWidget::item:selected { background-color: #EBF8FF; color: #1E40AF; } QTableWidget::item:hover { background-color: #F8FAFC; } /* 表头样式 */ QHeaderView::section { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #F9FAFB, stop:1 #F3F4F6); color: #374151; padding: 16px 12px; border: none; border-right: 1px solid #E5E7EB; border-bottom: 2px solid #E5E7EB; font-weight: 600; font-size: 13px; text-align: center; } QHeaderView::section:first { border-top-left-radius: 8px; } QHeaderView::section:last { border-top-right-radius: 8px; border-right: none; } QHeaderView::section:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #F3F4F6, stop:1 #E5E7EB); } /* ==================== 输入控件样式 ==================== */ QLineEdit { background-color: #FFFFFF; border: 2px solid #E5E7EB; border-radius: 8px; padding: 12px 16px; color: #374151; font-size: 14px; font-weight: 400; } QLineEdit:focus { border-color: #3B82F6; background-color: #FEFEFF; outline: none; } QLineEdit:hover { border-color: #9CA3AF; } QTextEdit { background-color: #FFFFFF; border: 2px solid #E5E7EB; border-radius: 8px; padding: 16px; color: #374151; font-size: 14px; line-height: 1.5; } QTextEdit:focus { border-color: #3B82F6; background-color: #FEFEFF; outline: none; } /* ==================== 组合框样式 ==================== */ QComboBox { background-color: #FFFFFF; border: 2px solid #E5E7EB; border-radius: 8px; padding: 12px 16px; color: #374151; font-size: 14px; min-width: 120px; } QComboBox:focus { border-color: #3B82F6; background-color: #FEFEFF; } QComboBox::drop-down { border: none; width: 32px; } QComboBox::down-arrow { image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQgNkw4IDEwTDEyIDYiIHN0cm9rZT0iIzM3NDE1MSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+); width: 16px; height: 16px; } QComboBox QAbstractItemView { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 8px; color: #374151; selection-background-color: #EBF8FF; selection-color: #1E40AF; padding: 4px; } QComboBox QAbstractItemView::item { height: 36px; padding: 8px 16px; border: none; border-radius: 6px; } QComboBox QAbstractItemView::item:hover { background-color: #F8FAFC; } QComboBox QAbstractItemView::item:selected { background-color: #EBF8FF; color: #1E40AF; } /* ==================== 复选框样式 ==================== */ QCheckBox { color: #374151; spacing: 12px; font-size: 14px; } QCheckBox::indicator { width: 20px; height: 20px; border: 2px solid #E5E7EB; border-radius: 4px; background-color: #FFFFFF; } QCheckBox::indicator:hover { border-color: #3B82F6; background-color: #F8FAFC; } QCheckBox::indicator:checked { background-color: #3B82F6; border-color: #2563EB; image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEzIDRMNiAxMUwzIDgiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+); } QCheckBox::indicator:checked:hover { background-color: #2563EB; } /* ==================== 进度条样式 ==================== */ QProgressBar { background-color: #F3F4F6; border: 1px solid #E5E7EB; border-radius: 8px; text-align: center; color: #374151; font-weight: 600; font-size: 13px; height: 24px; } QProgressBar::chunk { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #3B82F6, stop:1 #2563EB); border-radius: 7px; margin: 1px; } /* ==================== 滚动条样式 ==================== */ QScrollBar:vertical { background-color: #F9FAFB; width: 12px; border-radius: 6px; margin: 0px; } QScrollBar::handle:vertical { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #E5E7EB, stop:1 #D1D5DB); border-radius: 6px; min-height: 30px; } QScrollBar::handle:vertical:hover { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #3B82F6, stop:1 #2563EB); } QScrollBar::handle:vertical:pressed { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #2563EB, stop:1 #1D4ED8); } QScrollBar::add-line:vertical, QScrollBar::sub-line:vertical { height: 0px; background: none; } QScrollBar:horizontal { background-color: #F9FAFB; height: 12px; border-radius: 6px; margin: 0px; } QScrollBar::handle:horizontal { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #E5E7EB, stop:1 #D1D5DB); border-radius: 6px; min-width: 30px; } QScrollBar::handle:horizontal:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3B82F6, stop:1 #2563EB); } QScrollBar::handle:horizontal:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2563EB, stop:1 #1D4ED8); } QScrollBar::add-line:horizontal, QScrollBar::sub-line:horizontal { width: 0px; background: none; } /* ==================== 菜单样式 ==================== */ QMenu { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 8px; padding: 8px; color: #374151; } QMenu::item { background-color: transparent; padding: 12px 16px; border-radius: 6px; margin: 2px; font-size: 14px; } QMenu::item:selected { background-color: #EBF8FF; color: #1E40AF; } QMenu::item:disabled { color: #9CA3AF; } QMenu::separator { height: 1px; background-color: #E5E7EB; margin: 8px 12px; } /* ==================== 状态栏样式 ==================== */ QStatusBar { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #F9FAFB, stop:1 #F3F4F6); border-top: 1px solid #E5E7EB; color: #6B7280; padding: 8px 16px; font-size: 13px; } QStatusBar::item { border: none; } /* ==================== 对话框样式 ==================== */ QDialog { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 12px; } QDialogButtonBox QPushButton { min-width: 100px; padding: 12px 24px; } /* ==================== 消息框样式 ==================== */ QMessageBox { background-color: #FFFFFF; color: #374151; border-radius: 12px; } QMessageBox QLabel { color: #374151; font-size: 14px; } QMessageBox QPushButton { min-width: 80px; padding: 10px 20px; } /* ==================== 工具提示样式 ==================== */ QToolTip { background-color: #1F2937; color: #F9FAFB; border: 1px solid #374151; border-radius: 6px; padding: 8px 12px; font-size: 13px; opacity: 240; } /* ==================== 分割器样式 ==================== */ QSplitter::handle { background-color: #E5E7EB; } QSplitter::handle:horizontal { width: 2px; border-radius: 1px; } QSplitter::handle:vertical { height: 2px; border-radius: 1px; } QSplitter::handle:hover { background-color: #3B82F6; } /* ==================== 特殊状态样式 ==================== */ /* 成功状态 */ .status-success { color: #059669; font-weight: 600; } /* 错误状态 */ .status-error { color: #DC2626; font-weight: 600; } /* 警告状态 */ .status-warning { color: #D97706; font-weight: 600; } /* 信息状态 */ .status-info { color: #2563EB; font-weight: 600; } /* ==================== 规程执行界面特殊样式 ==================== */ /* 规程信息卡片 */ QWidget#procedureInfoCard { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 12px; padding: 24px; margin: 12px; } /* 信息组标题 */ QLabel#infoGroupTitle { font-size: 14px; font-weight: 600; color: #6B7280; margin-bottom: 8px; } /* 信息组值 */ QLabel#infoGroupValue { font-size: 16px; font-weight: 600; color: #1F2937; padding: 12px 16px; background-color: #F8FAFC; border: 1px solid #E5E7EB; border-radius: 8px; min-height: 20px; } /* 步骤表格特殊样式 */ QTableWidget#stepsTable { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 8px; gridline-color: #F3F4F6; } QTableWidget#stepsTable::item { padding: 16px 12px; border: none; background-color: transparent; font-size: 13px; } QTableWidget#stepsTable::item:selected { background-color: #EBF8FF; color: #1E40AF; } QTableWidget#stepsTable::item:hover { background-color: #F8FAFC; } /* 主步骤样式 */ QTableWidget#stepsTable::item[main_step="true"] { background-color: #F0F9FF; font-weight: 600; color: #0C4A6E; } /* 子步骤样式 */ QTableWidget#stepsTable::item[sub_step="true"] { background-color: #FEFEFE; color: #374151; } /* 执行成功的步骤 */ QTableWidget#stepsTable::item[success="true"] { background-color: rgba(16, 185, 129, 0.1); color: #059669; } /* 执行失败的步骤 */ QTableWidget#stepsTable::item[success="false"] { background-color: rgba(239, 68, 68, 0.1); color: #DC2626; } /* ===== =============== 规程执行界面特殊样式 ==================== */ /* 规程信息网格布局 */ QWidget#procedureInfoGrid { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 12px; padding: 24px; margin: 12px; } /* 信息项容器 */ QWidget#infoItem { background-color: #F8FAFC; border: 1px solid #E5E7EB; border-radius: 8px; padding: 16px; margin: 8px; } /* 信息项标题 */ QLabel#infoItemTitle { font-size: 12px; font-weight: 600; color: #6B7280; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.5px; } /* 信息项值 */ QLabel#infoItemValue { font-size: 16px; font-weight: 600; color: #1F2937; padding: 8px 0; word-wrap: break-word; } /* 执行控制面板 */ QWidget#executionControlPanel { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 12px; padding: 20px; margin: 12px; } /* 状态指示器 */ QLabel#executionStatus { font-size: 14px; font-weight: 600; padding: 8px 16px; border-radius: 20px; text-align: center; } /* 状态指示器 - 就绪 */ QLabel#executionStatus[status="ready"] { background-color: #F3F4F6; color: #374151; border: 1px solid #D1D5DB; } /* 状态指示器 - 运行中 */ QLabel#executionStatus[status="running"] { background-color: #ECFDF5; color: #166534; border: 1px solid #BBF7D0; } /* 状态指示器 - 暂停 */ QLabel#executionStatus[status="paused"] { background-color: #FEF3C7; color: #92400E; border: 1px solid #FCD34D; } /* 状态指示器 - 完成 */ QLabel#executionStatus[status="completed"] { background-color: #EBF8FF; color: #1E40AF; border: 1px solid #BFDBFE; } /* 状态指示器 - 错误 */ QLabel#executionStatus[status="error"] { background-color: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; } /* 进度指示器 */ QWidget#progressIndicator { background-color: #F8FAFC; border: 1px solid #E5E7EB; border-radius: 8px; padding: 16px; margin: 8px 0; } /* 进度标签 */ QLabel#progressLabel { font-size: 14px; font-weight: 500; color: #374151; margin-bottom: 8px; } /* 自定义进度条 */ QProgressBar#executionProgress { background-color: #F3F4F6; border: 1px solid #E5E7EB; border-radius: 10px; text-align: center; color: #374151; font-weight: 600; font-size: 12px; height: 20px; } QProgressBar#executionProgress::chunk { background: qlineargradient(x1:0, y1:0, x2:1, y2:0, stop:0 #10B981, stop:1 #059669); border-radius: 9px; margin: 1px; } /* 时间显示 */ QLabel#timeDisplay { font-size: 18px; font-weight: 700; color: #1F2937; font-family: "Consolas", "Monaco", monospace; background-color: #F8FAFC; border: 1px solid #E5E7EB; border-radius: 8px; padding: 12px 16px; text-align: center; } /* 时间显示 - 警告状态 */ QLabel#timeDisplay[warning="true"] { color: #D97706; background-color: #FEF3C7; border-color: #FCD34D; } /* 时间显示 - 危险状态 */ QLabel#timeDisplay[danger="true"] { color: #DC2626; background-color: #FEF2F2; border-color: #FECACA; } /* 步骤详情面板 */ QWidget#stepDetailPanel { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 12px; padding: 20px; margin: 12px; } /* 步骤详情标题 */ QLabel#stepDetailTitle { font-size: 16px; font-weight: 600; color: #1F2937; margin-bottom: 16px; padding-bottom: 8px; border-bottom: 2px solid #E5E7EB; } /* 步骤描述 */ QLabel#stepDescription { font-size: 14px; color: #374151; line-height: 1.6; padding: 12px 16px; background-color: #F8FAFC; border: 1px solid #E5E7EB; border-radius: 8px; word-wrap: break-word; } /* 执行日志 */ QTextEdit#executionLog { background-color: #1F2937; color: #F9FAFB; border: 1px solid #374151; border-radius: 8px; font-family: "Consolas", "Monaco", "Courier New", monospace; font-size: 12px; padding: 12px; line-height: 1.4; } /* 日志滚动条 */ QTextEdit#executionLog QScrollBar:vertical { background-color: #374151; width: 12px; border-radius: 6px; } QTextEdit#executionLog QScrollBar::handle:vertical { background-color: #6B7280; border-radius: 6px; min-height: 30px; } QTextEdit#executionLog QScrollBar::handle:vertical:hover { background-color: #9CA3AF; } /* 操作历史表格 */ QTableWidget#operationHistory { background-color: #FFFFFF; alternate-background-color: #F8FAFC; gridline-color: #F3F4F6; border: 1px solid #E5E7EB; border-radius: 8px; selection-background-color: #EBF8FF; selection-color: #1E40AF; outline: none; font-size: 13px; } QTableWidget#operationHistory::item { padding: 12px 16px; border: none; background-color: transparent; } QTableWidget#operationHistory::item:selected { background-color: #EBF8FF; color: #1E40AF; } QTableWidget#operationHistory::item:hover { background-color: #F8FAFC; } /* 操作历史表头 */ QTableWidget#operationHistory QHeaderView::section { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #F9FAFB, stop:1 #F3F4F6); color: #374151; padding: 16px 12px; border: none; border-right: 1px solid #E5E7EB; border-bottom: 2px solid #E5E7EB; font-weight: 600; font-size: 13px; text-align: center; } /* 快捷操作面板 */ QWidget#quickActionPanel { background-color: #F8FAFC; border: 1px solid #E5E7EB; border-radius: 8px; padding: 16px; margin: 8px 0; } /* 快捷操作标题 */ QLabel#quickActionTitle { font-size: 14px; font-weight: 600; color: #374151; margin-bottom: 12px; } /* 快捷操作按钮组 */ QWidget#quickActionButtons { background-color: transparent; } /* 小型按钮样式 */ QPushButton#smallBtn { padding: 8px 12px; font-size: 12px; min-width: 60px; min-height: 28px; border-radius: 6px; } /* 图标按钮样式 */ QPushButton#iconBtn { padding: 10px; min-width: 40px; min-height: 40px; border-radius: 8px; font-size: 16px; } QPushButton#iconBtn:hover { transform: scale(1.05); } /* 浮动操作按钮 */ QPushButton#fabBtn { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #3B82F6, stop:1 #2563EB); border: none; border-radius: 28px; color: #FFFFFF; font-size: 18px; font-weight: 600; min-width: 56px; min-height: 56px; padding: 0; } QPushButton#fabBtn:hover { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #2563EB, stop:1 #1D4ED8); } QPushButton#fabBtn:pressed { background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #1D4ED8, stop:1 #1E40AF); } /* 通知横幅 */ QWidget#notificationBanner { background-color: #EBF8FF; border: 1px solid #93C5FD; border-radius: 8px; padding: 12px 16px; margin: 8px 0; } /* 通知横幅 - 成功 */ QWidget#notificationBanner[type="success"] { background-color: #ECFDF5; border-color: #BBF7D0; } /* 通知横幅 - 警告 */ QWidget#notificationBanner[type="warning"] { background-color: #FEF3C7; border-color: #FCD34D; } /* 通知横幅 - 错误 */ QWidget#notificationBanner[type="error"] { background-color: #FEF2F2; border-color: #FECACA; } /* 通知文本 */ QLabel#notificationText { font-size: 14px; font-weight: 500; color: #374151; } /* 通知文本 - 成功 */ QLabel#notificationText[type="success"] { color: #166534; } /* 通知文本 - 警告 */ QLabel#notificationText[type="warning"] { color: #92400E; } /* 通知文本 - 错误 */ QLabel#notificationText[type="error"] { color: #991B1B; } /* 数据统计卡片 */ QWidget#statsCard { background-color: #FFFFFF; border: 1px solid #E5E7EB; border-radius: 12px; padding: 20px; margin: 8px; min-width: 200px; } /* 统计数值 */ QLabel#statsValue { font-size: 32px; font-weight: 700; color: #1F2937; text-align: center; } /* 统计标签 */ QLabel#statsLabel { font-size: 14px; font-weight: 500; color: #6B7280; text-align: center; margin-top: 8px; } /* 统计变化指示器 */ QLabel#statsChange { font-size: 12px; font-weight: 600; padding: 4px 8px; border-radius: 12px; text-align: center; margin-top: 8px; } /* 统计变化 - 上升 */ QLabel#statsChange[trend="up"] { background-color: #ECFDF5; color: #166534; } /* 统计变化 - 下降 */ QLabel#statsChange[trend="down"] { background-color: #FEF2F2; color: #991B1B; } /* 统计变化 - 持平 */ QLabel#statsChange[trend="stable"] { background-color: #F3F4F6; color: #6B7280; }