/* ========================================
   战场环境探索系统 - 统一样式规范
   UBEES Battle Environment Exploration System
   ======================================== */

/* ========================================
   1. 全局变量定义 (Color Palette)
   ======================================== */

/* 主色调 - 军事蓝色系 */
/* Primary Colors */
/* #1e3a5f - 深蓝色背景 */
/* #2c5282 - 中蓝色 */
/* #4a90e2 - 亮蓝色 */
/* #5ba0f2 - 高亮蓝色 */

/* 辅助色 */
/* #f39c12 - 警告橙色 */
/* #e74c3c - 危险红色 */
/* #27ae60 - 成功绿色 */
/* #95a5a6 - 中性灰色 */

/* 背景色 */
/* #0f1419 - 最深背景 */
/* #1a252f - 深背景 */
/* #2d3748 - 中背景 */
/* #4a5568 - 浅背景 */

/* ========================================
   2. 全局基础样式
   ======================================== */

QWidget {
    background-color: #1e3a5f;
    color: #ffffff;
    font-family: "Microsoft YaHei", "SimHei", Arial, sans-serif;
    font-size: 12px;
    selection-background-color: #4a90e2;
    selection-color: #ffffff;
}

QMainWindow {
    background-color: #0f1419;
    border: none;
}

/* ========================================
   3. 按钮样式系统
   ======================================== */

/* 主要按钮 - 蓝色系 */
QPushButton {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #4a90e2, stop:1 #2c5282);
    border: 1px solid #1e3a5f;
    border-radius: 6px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    min-height: 24px;
    min-width: 80px;
}

QPushButton:hover {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #5ba0f2, stop:1 #4a90e2);
    border: 1px solid #4a90e2;
}

QPushButton:pressed {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #2c5282, stop:1 #1e3a5f);
    border: 1px solid #1e3a5f;
}

QPushButton:disabled {
    background: #4a5568;
    border: 1px solid #2d3748;
    color: #95a5a6;
}

/* 危险按钮 - 红色系 */
QPushButton[class="danger"] {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #e74c3c, stop:1 #c0392b);
    border: 1px solid #a93226;
}

QPushButton[class="danger"]:hover {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #ec7063, stop:1 #e74c3c);
}

/* 成功按钮 - 绿色系 */
QPushButton[class="success"] {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #27ae60, stop:1 #229954);
    border: 1px solid #1e8449;
}

QPushButton[class="success"]:hover {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #58d68d, stop:1 #27ae60);
}

/* 警告按钮 - 橙色系 */
QPushButton[class="warning"] {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #f39c12, stop:1 #e67e22);
    border: 1px solid #d68910;
}

QPushButton[class="warning"]:hover {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #f7dc6f, stop:1 #f39c12);
}

/* ========================================
   4. 输入控件样式
   ======================================== */

QLineEdit {
    background-color: #2d3748;
    border: 2px solid #4a5568;
    border-radius: 6px;
    color: #ffffff;
    font-size: 13px;
    padding: 8px 12px;
    min-height: 20px;
}

QLineEdit:focus {
    border: 2px solid #4a90e2;
    background-color: #1a252f;
}

QLineEdit:disabled {
    background-color: #4a5568;
    border: 2px solid #2d3748;
    color: #95a5a6;
}

QTextEdit {
    background-color: #2d3748;
    border: 2px solid #4a5568;
    border-radius: 6px;
    color: #ffffff;
    font-size: 12px;
    padding: 8px;
}

QTextEdit:focus {
    border: 2px solid #4a90e2;
}

/* ========================================
   5. 下拉框和组合框样式
   ======================================== */

QComboBox {
    background-color: #2d3748;
    border: 2px solid #4a5568;
    border-radius: 6px;
    color: #ffffff;
    font-size: 13px;
    padding: 6px 12px;
    min-height: 24px;
    min-width: 120px;
}

QComboBox:hover {
    border: 2px solid #4a90e2;
}

QComboBox::drop-down {
    border: none;
    width: 30px;
    background: transparent;
}

QComboBox::down-arrow {
    image: none;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #ffffff;
    margin-right: 10px;
}

QComboBox QAbstractItemView {
    background-color: #2d3748;
    border: 1px solid #4a90e2;
    border-radius: 4px;
    color: #ffffff;
    selection-background-color: #4a90e2;
    outline: none;
}

/* ========================================
   6. 表格样式
   ======================================== */

QTableWidget {
    background-color: #1a252f;
    alternate-background-color: #2d3748;
    gridline-color: #4a5568;
    border: 1px solid #4a5568;
    border-radius: 6px;
    color: #ffffff;
    font-size: 12px;
}

QTableWidget::item {
    padding: 8px;
    border: none;
}

QTableWidget::item:selected {
    background-color: #4a90e2;
    color: #ffffff;
}

QTableWidget::item:hover {
    background-color: #2c5282;
}

QHeaderView::section {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #4a5568, stop:1 #2d3748);
    border: 1px solid #4a5568;
    color: #ffffff;
    font-weight: bold;
    padding: 8px;
    text-align: center;
}

QHeaderView::section:hover {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #5a6578, stop:1 #4a5568);
}

/* ========================================
   7. 滚动条样式
   ======================================== */

QScrollBar:vertical {
    background-color: #2d3748;
    width: 12px;
    border-radius: 6px;
    margin: 0;
}

QScrollBar::handle:vertical {
    background-color: #4a90e2;
    border-radius: 6px;
    min-height: 20px;
    margin: 2px;
}

QScrollBar::handle:vertical:hover {
    background-color: #5ba0f2;
}

QScrollBar::add-line:vertical,
QScrollBar::sub-line:vertical {
    height: 0;
    background: none;
}

QScrollBar:horizontal {
    background-color: #2d3748;
    height: 12px;
    border-radius: 6px;
    margin: 0;
}

QScrollBar::handle:horizontal {
    background-color: #4a90e2;
    border-radius: 6px;
    min-width: 20px;
    margin: 2px;
}

QScrollBar::handle:horizontal:hover {
    background-color: #5ba0f2;
}

QScrollBar::add-line:horizontal,
QScrollBar::sub-line:horizontal {
    width: 0;
    background: none;
}

/* ========================================
   8. 分组框和标签样式
   ======================================== */

QGroupBox {
    background-color: #1a252f;
    border: 2px solid #4a5568;
    border-radius: 8px;
    font-size: 14px;
    font-weight: bold;
    color: #4a90e2;
    margin-top: 10px;
    padding-top: 15px;
}

QGroupBox::title {
    subcontrol-origin: margin;
    subcontrol-position: top left;
    left: 15px;
    top: -5px;
    background-color: #1a252f;
    padding: 0 8px;
}

QLabel {
    color: #ffffff;
    font-size: 12px;
    background: transparent;
}

QLabel[class="title"] {
    font-size: 16px;
    font-weight: bold;
    color: #4a90e2;
}

QLabel[class="subtitle"] {
    font-size: 14px;
    font-weight: 600;
    color: #5ba0f2;
}

QLabel[class="status-online"] {
    color: #27ae60;
    font-weight: bold;
}

QLabel[class="status-offline"] {
    color: #e74c3c;
    font-weight: bold;
}

QLabel[class="status-warning"] {
    color: #f39c12;
    font-weight: bold;
}

/* ========================================
   9. 复选框和单选框样式
   ======================================== */

QCheckBox {
    color: #ffffff;
    font-size: 12px;
    spacing: 8px;
}

QCheckBox::indicator {
    width: 16px;
    height: 16px;
    border: 2px solid #4a5568;
    border-radius: 3px;
    background-color: #2d3748;
}

QCheckBox::indicator:checked {
    background-color: #4a90e2;
    border: 2px solid #4a90e2;
    image: none;
}

QCheckBox::indicator:checked:hover {
    background-color: #5ba0f2;
    border: 2px solid #5ba0f2;
}

QRadioButton {
    color: #ffffff;
    font-size: 12px;
    spacing: 8px;
}

QRadioButton::indicator {
    width: 16px;
    height: 16px;
    border: 2px solid #4a5568;
    border-radius: 8px;
    background-color: #2d3748;
}

QRadioButton::indicator:checked {
    background-color: #4a90e2;
    border: 2px solid #4a90e2;
}

/* ========================================
   10. 进度条样式
   ======================================== */

QProgressBar {
    background-color: #2d3748;
    border: 1px solid #4a5568;
    border-radius: 6px;
    text-align: center;
    color: #ffffff;
    font-weight: bold;
    min-height: 20px;
}

QProgressBar::chunk {
    background: qlineargradient(x1:0, y1:0, x2:1, y2:0,
                stop:0 #4a90e2, stop:1 #5ba0f2);
    border-radius: 5px;
    margin: 1px;
}

/* ========================================
   11. 工具提示样式
   ======================================== */

QToolTip {
    background-color: #1a252f;
    border: 1px solid #4a90e2;
    border-radius: 4px;
    color: #ffffff;
    font-size: 11px;
    padding: 6px 8px;
}

/* ========================================
   12. 菜单样式
   ======================================== */

QMenuBar {
    background-color: #1e3a5f;
    border-bottom: 1px solid #4a5568;
    color: #ffffff;
    font-size: 13px;
}

QMenuBar::item {
    background: transparent;
    padding: 8px 12px;
}

QMenuBar::item:selected {
    background-color: #4a90e2;
    border-radius: 4px;
}

QMenu {
    background-color: #2d3748;
    border: 1px solid #4a5568;
    border-radius: 6px;
    color: #ffffff;
    font-size: 12px;
}

QMenu::item {
    padding: 8px 16px;
    border: none;
}

QMenu::item:selected {
    background-color: #4a90e2;
    border-radius: 4px;
}

QMenu::separator {
    height: 1px;
    background-color: #4a5568;
    margin: 4px 8px;
}

/* ========================================
   13. 状态栏样式
   ======================================== */

QStatusBar {
    background-color: #1e3a5f;
    border-top: 1px solid #4a5568;
    color: #ffffff;
    font-size: 11px;
}

QStatusBar::item {
    border: none;
}

/* ========================================
   14. 分割器样式
   ======================================== */

QSplitter::handle {
    background-color: #4a5568;
}

QSplitter::handle:horizontal {
    width: 3px;
    margin: 2px 0;
}

QSplitter::handle:vertical {
    height: 3px;
    margin: 0 2px;
}

QSplitter::handle:hover {
    background-color: #4a90e2;
}

/* ========================================
   15. 标签页样式
   ======================================== */

QTabWidget::pane {
    background-color: #1a252f;
    border: 1px solid #4a5568;
    border-radius: 6px;
    margin-top: -1px;
}

QTabBar::tab {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #4a5568, stop:1 #2d3748);
    border: 1px solid #4a5568;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    padding: 8px 16px;
    margin-right: 2px;
}

QTabBar::tab:first {
    border-top-left-radius: 6px;
}

QTabBar::tab:last {
    border-top-right-radius: 6px;
    margin-right: 0;
}

QTabBar::tab:selected {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #4a90e2, stop:1 #2c5282);
    border-bottom: 1px solid #1a252f;
}

QTabBar::tab:hover:!selected {
    background: qlineargradient(x1:0, y1:0, x2:0, y2:1,
                stop:0 #5a6578, stop:1 #4a5568);
}
