/* 基础样式 - 仅保留配色变量 */
:root {
    /* ========== 主色系 (Primary Colors) - 精简版 ========== */
    --color-primary: #3F6F76;
    /* 主色 - 深绿色 */
    --color-primary-lighter: #69B7CE;
    /* 主色更浅色 - 用于悬停 */
    --color-primary-text: #ffffff;
    /* 主色文本色 */
    --color-primary-rgb: 63, 111, 118;
    /* 主色RGB值 - 用于box-shadow */

    /* ========== 辅助色系 (Secondary Colors) - 精简版 ========== */
    --color-secondary: #F4CE4B;
    /* 辅助色 - 黄色 */
    --color-accent: #C65840;
    /* 强调色 - 红色 */

    /* ========== 中性色系 (Neutral Colors) - 精简版 ========== */
    --color-white: #ffffff;
    /* 白色 */
    --color-gray-200: #e9ecef;
    /* 浅灰色 - 用于背景 */
    --color-gray-300: #dee2e6;
    /* 灰色-边框 */
    --color-gray-600: #6c757d;
    /* 中灰色 - 用于次要文本 */
    --color-gray-900: #212529;
    /* 深灰色 - 用于主要文本 */
    --color-black: #000000;
    /* 黑色 */

    /* ========== 语义化颜色 (Semantic Colors) - 完整版 ========== */
    --color-success: #28a745;
    /* 成功色 - 绿色 */
    --color-success-light: #34ce57;
    /* 成功色浅色 - 用于悬停 */
    --color-success-text: #ffffff;
    /* 成功色文本色 */

    --color-warning: #ffc107;
    /* 警告色 - 黄色 */
    --color-warning-light: #ffd733;
    /* 警告色浅色 - 用于悬停 */
    --color-warning-text: #212529;
    /* 警告色文本色 */

    --color-danger: #dc3545;
    /* 错误色 - 红色 */
    --color-danger-light: #e65c6f;
    /* 错误色浅色 - 用于悬停 */
    --color-danger-text: #ffffff;
    /* 错误色文本色 */

    --color-info: #69B7CE;
    /* 信息色 - 浅蓝色 */
    --color-info-light: #8ac9e0;
    /* 信息色浅色 - 用于悬停 */
    --color-info-text: #ffffff;
    /* 信息色文本色 */

    /* ========== 背景色和文本色 - 精简版 ========== */
    --color-background: var(--color-white);
    --color-border: var(--color-gray-300);
    --text-primary: var(--color-gray-900);
    --text-secondary: var(--color-gray-600);


    /* ========== 导航栏和侧边栏颜色变量 (Sidebar Colors) ========== */
    --menu-bg: var(--color-primary);
    --menu-border: var(--color-gray-300);
    --menu-text: var(--color-white);
    --menu-text-secondary: var(--color-gray-200);
    --menu-hover: var(--color-primary-lighter);
    --menu-active-bg: var(--color-gray-900);
}

/* 基础样式 */
body {
    background-color: var(--color-background);
    color: var(--text-primary);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
}

/* 文本颜色类 */
.text-primary {
    color: var(--text-primary) !important;
}

.text-secondary {
    color: var(--text-secondary) !important;
}

/* 背景色类定义 */
.bg-primary {
    background-color: var(--color-primary) !important;
    color: var(--color-primary-text) !important;
}

.bg-success {
    background-color: var(--color-success) !important;
    color: var(--color-success-text) !important;
}

.bg-warning {
    background-color: var(--color-warning) !important;
    color: var(--color-warning-text) !important;
}

.bg-danger {
    background-color: var(--color-danger) !important;
    color: var(--color-danger-text) !important;
}

.bg-info {
    background-color: var(--color-info) !important;
    color: var(--color-info-text) !important;
}

.bg-purple {
    background-color: #5a32a3 !important;
    color: var(--color-white) !important;
}

/* 进度条样式 */
.progress-bar {
    background-color: var(--color-primary) !important;
    color: var(--color-primary-text) !important;
}

/* 主题颜色覆盖 */
.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-primary-text);
}

.btn-primary:hover {
    background-color: var(--color-primary-lighter);
    border-color: var(--color-primary-lighter);
    color: var(--color-primary-text);
}

/* 成功按钮样式 */
.btn-success {
    background-color: var(--color-success);
    border-color: var(--color-success);
    color: var(--color-success-text);
}

.btn-success:hover {
    background-color: var(--color-success-light);
    border-color: var(--color-success-light);
    color: var(--color-success-text);
}

.btn-success:focus {
    background-color: var(--color-success-light);
    border-color: var(--color-success-light);
    color: var(--color-success-text);
    box-shadow: 0 0 0 0.25rem rgba(40, 167, 69, 0.25);
    /* 与--color-success匹配 */
}

/* 警告按钮样式 */
.btn-warning {
    background-color: var(--color-warning);
    border-color: var(--color-warning);
    color: var(--color-warning-text);
}

.btn-warning:hover {
    background-color: var(--color-warning-light);
    border-color: var(--color-warning-light);
    color: var(--color-warning-text);
}

.btn-warning:focus {
    background-color: var(--color-warning-light);
    border-color: var(--color-warning-light);
    color: var(--color-warning-text);
    box-shadow: 0 0 0 0.25rem rgba(255, 193, 7, 0.25);
    /* 与--color-warning匹配 */
}

/* 错误按钮样式 */
.btn-danger {
    background-color: var(--color-danger);
    border-color: var(--color-danger);
    color: var(--color-danger-text);
}

.btn-danger:hover {
    background-color: var(--color-danger-light);
    border-color: var(--color-danger-light);
    color: var(--color-danger-text);
}

.btn-danger:focus {
    background-color: var(--color-danger-light);
    border-color: var(--color-danger-light);
    color: var(--color-danger-text);
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
    /* 与--color-danger匹配 */
}

/* 信息按钮样式 */
.btn-info {
    background-color: var(--color-info);
    border-color: var(--color-info);
    color: var(--color-info-text);
}

.btn-info:hover {
    background-color: var(--color-info-light);
    border-color: var(--color-info-light);
    color: var(--color-info-text);
}

.btn-info:focus {
    background-color: var(--color-info-light);
    border-color: var(--color-info-light);
    color: var(--color-info-text);
    box-shadow: 0 0 0 0.25rem rgba(105, 183, 206, 0.25);
    /* 与--color-info匹配 */
}

/* 自定义颜色 */
.btn-purple {
    background-color: #62496F;
    border-color: #62496F;
    color: var(--color-white);
}

.btn-purple:hover {
    background-color: #5a32a3;
    border-color: #5a32a3;
    color: var(--color-white);
}

/* 背景色类定义 */
.bg-purple {
    background-color: #62496F ;
    color: var(--color-white) ;
}

/* 分页组件样式 */
.page-link {
    background-color: var(--color-white);
    color: var(--color-primary);
    border-color: var(--color-border);
}

.page-link:hover {
    background-color: var(--color-primary-lighter);
    color: var(--color-primary-text);
    border-color: var(--color-primary-lighter);
}

.page-link:focus {
    background-color: var(--color-primary-lighter);
    color: var(--color-primary-text);
    border-color: var(--color-primary-lighter);
    box-shadow: 0 0 0 0.25rem rgba(var(--color-primary-rgb), 0.25);
}

.page-item.active .page-link {
    background-color: var(--color-primary);
    color: var(--color-primary-text);
    border-color: var(--color-primary);
}

.page-item.disabled .page-link {
    background-color: var(--color-white);
    color: var(--color-gray-600);
    border-color: var(--color-border);
    opacity: 0.5;
}

/* 按钮样式 */
.btn-outline-secondary {
    background-color: transparent;
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
}

.btn-outline-secondary:hover {
    background-color: rgba(var(--color-primary-rgb), 0.1);
    color: var(--color-primary);
}

.button-icon {
    margin-right: 0.5rem;
}

/* 表单和表格样式优化 */
.form-control,
.form-select {
    background-color: var(--color-white);
    color: var(--text-primary);
    border-color: var(--color-border);
}

.form-control:focus {
    background-color: var(--color-white);
    color: var(--text-primary);
    border-color: var(--color-primary);
    box-shadow: 0 0 0 0.25rem rgba(var(--color-primary-rgb), 0.25);
}

/* 表格样式优化 */
.table-responsive table {
    text-align: center;
}

.table thead th,
.table tbody td {
    vertical-align: middle !important;
    line-height: 1;
}

/* 表单复选框样式 */
.form-check-input {
    margin-top: 0.25rem;
    border-color: var(--color-border);
}

.form-check-input:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.form-check-input:focus {
    border-color: var(--color-primary-lighter);
    box-shadow: 0 0 0 0.25rem rgba(var(--color-primary-rgb), 0.25);
}

.link, a.link {
    color: var(--color-primary) ;
    text-decoration: none ;
    transition: color 0.3s ease;
}

.link:hover, a.link:hover {
    color: var(--color-primary-lighter) ;
    text-decoration: none ;
}

.link:focus, a.link:focus {
    color: var(--color-primary-lighter) ;
    outline: 2px solid var(--color-primary-lighter);
    outline-offset: 2px;
    text-decoration: none ;
}

.link:active, a.link:active {
    color: var(--color-gray-900) ;
    text-decoration: none ; 
}

.link:visited, a.link:visited {
    color: var(--color-primary) ;
    text-decoration: none ; 
}

/* 响应式设计优化 */
@media (max-width: 768px) {
    .table-responsive table {
        font-size: 0.875rem;
    }

    .table-responsive th,
    .table-responsive td {
        padding: 0.5rem;
    }
}