/*公用样式文件*/

/* ============================================
   全局字体清晰渲染设置 - 确保字体清晰可见
   @update 2025-11-17 优化字体渲染设置，确保字体清晰不模糊
   ============================================ */
html,
body {
    background-color: #f4f4f4;
    -webkit-font-smoothing: subpixel-antialiased !important; /* 使用子像素抗锯齿，字体更清晰 */
    -moz-osx-font-smoothing: auto !important; /* Firefox/macOS 自动优化 */
    text-rendering: geometricPrecision !important; /* 几何精度渲染，字体更清晰 */
    font-smooth: always !important; /* 标准字体平滑属性 */
    -webkit-text-stroke: 0 !important; /* 移除 WebKit 文本描边 */
    text-shadow: none !important; /* 移除文本阴影 */
    font-feature-settings: normal !important; /* 使用标准字体特性 */
    font-variant-ligatures: normal !important; /* 使用标准连字 */
}

/* 全局文本元素字体清晰渲染 */
* {
    -webkit-font-smoothing: subpixel-antialiased !important;
    -moz-osx-font-smoothing: auto !important;
    text-rendering: geometricPrecision !important;
    -webkit-text-stroke: 0 !important;
}

/* 特别处理文本元素 - 确保清晰 */
p, span, div, a, label, input, textarea, select, button, td, th, li {
    -webkit-font-smoothing: subpixel-antialiased !important;
    -moz-osx-font-smoothing: auto !important;
    text-rendering: geometricPrecision !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    font-feature-settings: normal !important;
    font-variant-ligatures: normal !important;
}

body.login-page {
    background-color: #f4f4f4;
}

.skin-blue .main-header .navbar,
.skin-blue .main-header .logo {
    background-color: #4c88b2;
}

.skin-blue .main-header .logo:hover {
    background-color: #407499;
}

.skin-blue .main-header .navbar .sidebar-toggle:hover {
    background-color: #407499;
}

.skin-blue .main-header .navbar .nav > li > a,
.skin-blue .main-header .navbar .sidebar-toggle {
    color: #ffffff;
}


.skin-blue .main-sidebar,
.skin-blue .left-side,
.skin-blue .sidebar,
.skin-blue .wrapper {
    background-color: #4c88b2 !important;
}

.skin-blue .main-sidebar,
.skin-blue .left-side {
    width: 210px !important;
    box-sizing: border-box;
    overflow-x: hidden;
}

.skin-blue .main-header .logo {
    width: 210px !important;
    box-sizing: border-box;
}

.skin-blue .main-header .navbar {
    margin-left: 250px !important;
    transition: margin-left 0.3s ease-in-out;
}

.sidebar-collapse .main-header .logo {
    width: 50px !important;
}

.sidebar-collapse .main-header .navbar,
.sidebar-collapse .content-wrapper,
.sidebar-collapse .main-footer {
    margin-left: 4.6rem !important;
}

.content-wrapper,
.main-footer {
    margin-left: 250px;
    transition: margin-left 0.3s ease-in-out;
}

@media (max-width: 767px) {
    .skin-blue .main-sidebar,
    .skin-blue .left-side,
    .skin-blue .main-header .logo,
    .skin-blue .main-header .navbar,
    .content-wrapper,
    .main-footer {
        width: 100% !important;
        margin-left: 0 !important;
    }
}


.skin-blue .sidebar-menu > li > a {
    background-color: #4c88b2 !important;
    border-left: 0 !important;
    background-image: none !important;
    width: 100% !important;
    box-sizing: border-box;
}

.skin-blue .sidebar-menu > li.active > .treeview-menu,
.skin-blue .sidebar-menu > li.menu-open > .treeview-menu {
    background-color: #3f7292 !important;
}

/* 确保菜单头部也是蓝色 */
.skin-blue .sidebar-menu > li.header {
    background-color: #4c88b2 !important;
}

/* 确保子菜单背景也是蓝色 */
.skin-blue .sidebar-menu > li > .treeview-menu {
    background-color: #4c88b2 !important;
}

.skin-blue .sidebar-menu,
.skin-blue .sidebar-menu > li {
    width: 100% !important;
    box-sizing: border-box;
}

.skin-blue .sidebar-menu > li > .treeview-menu {
    background-color: #4c88b2 !important;
    border-left: none !important;
    margin: 0 !important;
    background-image: none !important;
    width: 100% !important;
    box-sizing: border-box;
}

.skin-blue .sidebar-menu > li > .treeview-menu > li > a {
    color: #e8f4fb;
}

.skin-blue .sidebar-menu > li > .treeview-menu > li > a:hover,
.skin-blue .sidebar-menu > li > .treeview-menu > li.active > a {
    background-color: #2e5870 !important;
    color: #ffffff !important;
    box-shadow: inset 3px 0 0 #ffffff33;
}

.skin-blue .sidebar-form {
    position: relative;
    z-index: 2;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
    background-color: rgba(255, 255, 255, 0.08);
    border-radius: 6px;
    padding: 0;
    margin: 10px !important;
    width: calc(100% - 20px) !important;
    height: 36px;
}

.skin-blue .sidebar-form .input-group {
    width: 82%;
    height: 100%;
    display: flex;
    align-items: stretch;
}

.skin-blue .sidebar-form input[type="text"] {
    background-color: rgba(255, 255, 255, 0.12) !important;
    border: none !important;
    color: #ffffff !important;
    height: 100%;
    flex: 1 1 auto;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

.skin-blue .sidebar-form .btn {
    background-color: rgba(255, 255, 255, 0.12) !important;
    border: none !important;
    color: #ffffff !important;
    height: 100%;
    flex: 0 0 42px;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.skin-blue .sidebar-form input[type="text"]::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

.skin-blue .sidebar-form .btn:hover {
    background-color: rgba(255, 255, 255, 0.25) !important;
}

.skin-blue .sidebar-menu > li.active > a,
.skin-blue .sidebar-menu > li.menu-open > a,
.skin-blue .sidebar-menu > li:hover > a {
    background-color: #3f7292 !important;
    border-left-color: #2e5870 !important;
    background-image: none !important;
}


.skin-blue .sidebar-menu > li > a,
.skin-blue .sidebar a {
    color: #e8f4fb;
}

.skin-blue .sidebar-menu > li > a:hover,
.skin-blue .sidebar-menu > li > a:focus {
    color: #ffffff;
}

.skin-blue .sidebar-menu > li > a > .fa,
.skin-blue .sidebar-menu > li > a > .glyphicon,
.skin-blue .sidebar-menu > li > a > .ion {
    color: #ffffff;
}

.skin-blue .sidebar-menu > li.active > a > .fa,
.skin-blue .sidebar-menu > li.menu-open > a > .fa {
    color: #ffffff;
}

.skin-blue .sidebar-menu > li > a > .pull-right-container {
    color: #ffffff;
}

.skin-blue .sidebar-menu > li.active > a,
.skin-blue .sidebar-menu > li.menu-open > a,
.skin-blue .sidebar-menu > li > a:hover,
.skin-blue .sidebar-menu > li > a:focus {
    border-left-color: #2e5870;
}

.skin-blue .treeview-menu > li > a:hover,
.skin-blue .treeview-menu > li.active > a,
.skin-blue .treeview-menu > li > a:focus {
    background-color: #3f7292 !important;
    color: #ffffff !important;
    background-image: none !important;
}

.skin-blue .sidebar-menu > li.header {
    color: rgba(255, 255, 255, 0.7);
    background: transparent;
}

.content-wrapper {
    background-color: #f4f4f4;
}

/* 减小 content 区域的上边距 */
.content {
    margin-top: 0 !important;
    padding-top: 0.5rem !important;
}

.main-footer {
    background-color: #f4f4f4;
    display: none !important; /* 隐藏页面底部 footer - 公共样式 */
}

/* ============================================
   表格样式优化 - 精致版（公共样式）
   @update 2025-11-17 优化表格样式，提升精致度，减小字体
   ============================================ */

/* 表格基础样式 */
.table {
    font-size: 0.875rem !important; /* 14px - 与基础字体一致 */
    line-height: 1.5 !important;
    color: #212529 !important; /* 更深的颜色，提高可读性 */
    border-collapse: separate !important;
    border-spacing: 0 !important;
    -webkit-font-smoothing: subpixel-antialiased !important; /* 使用子像素抗锯齿，字体更清晰 */
    -moz-osx-font-smoothing: auto !important; /* Firefox/macOS 自动优化 */
    text-rendering: geometricPrecision !important; /* 几何精度渲染，字体更清晰 */
    -webkit-text-stroke: 0 !important; /* 移除 WebKit 文本描边 */
    text-shadow: none !important; /* 移除文本阴影 */
    font-feature-settings: normal !important; /* 使用标准字体特性 */
    font-variant-ligatures: normal !important; /* 使用标准连字 */
}

/* 表头样式 - 精致优化 */
.table thead th {
    font-weight: 600 !important;
    font-size: 0.8125rem !important; /* 13px - 表头字体 */
    text-transform: uppercase !important;
    letter-spacing: 0 !important; /* 移除字间距，防止重影 */
    color: #343a40 !important; /* 更深的颜色，提高可读性 */
    padding: 0.375rem 0.5rem !important; /* 进一步压缩内边距，缩短表头高度 */
    border-bottom: 1.5px solid #e9ecef !important;
    border-top: none !important;
    background: linear-gradient(to bottom, #f8f9fa 0%, #ffffff 100%) !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    position: relative !important;
    -webkit-font-smoothing: subpixel-antialiased !important; /* 使用子像素抗锯齿，字体更清晰 */
    -moz-osx-font-smoothing: auto !important; /* Firefox/macOS 自动优化 */
    text-rendering: geometricPrecision !important; /* 几何精度渲染，字体更清晰 */
    -webkit-text-stroke: 0 !important; /* 移除 WebKit 文本描边 */
    text-shadow: none !important; /* 移除文本阴影 */
    font-feature-settings: normal !important; /* 使用标准字体特性 */
    font-variant-ligatures: normal !important; /* 使用标准连字 */
}

/* 表头分隔线效果 */
.table thead th:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    bottom: 20%;
    width: 1px;
    background-color: #e9ecef;
}

/* 表格单元格样式 - 精致优化 */
.table tbody td {
    padding: 0.625rem 0.625rem !important; /* 减小内边距 */
    font-size: 0.875rem !important; /* 14px - 与基础字体一致 */
    color: #212529 !important; /* 更深的颜色，提高可读性 */
    vertical-align: middle !important;
    border-bottom: 1px solid #f1f3f5 !important;
    transition: all 0.15s ease !important;
    -webkit-font-smoothing: subpixel-antialiased !important; /* 使用子像素抗锯齿，字体更清晰 */
    -moz-osx-font-smoothing: auto !important; /* Firefox/macOS 自动优化 */
    text-rendering: geometricPrecision !important; /* 几何精度渲染，字体更清晰 */
    -webkit-text-stroke: 0 !important; /* 移除 WebKit 文本描边 */
    text-shadow: none !important; /* 移除文本阴影 */
    font-feature-settings: normal !important; /* 使用标准字体特性 */
    font-variant-ligatures: normal !important; /* 使用标准连字 */
}

/* 表格行样式 */
.table tbody tr {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    background-color: #ffffff !important;
}

/* 表格行悬停效果 - 精致优化 */
.table tbody tr:hover {
    background-color: #f8f9fa !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.table tbody tr:hover td {
    color: #000000 !important; /* 悬停时使用更深的颜色 */
}

/* 优化表格条纹效果 - 精致版 */
.table-striped > tbody > tr:nth-of-type(odd) {
    background-color: #fafbfc !important;
}

.table-striped > tbody > tr:nth-of-type(odd):hover {
    background-color: #f1f3f5 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
}

/* 表格最后一行样式 */
.table tbody tr:last-child td {
    border-bottom: none !important;
}

/* 优化空数据提示 */
.table tbody tr td.text-center {
    padding: 2.5rem 1rem !important;
    color: #adb5bd !important;
    font-style: italic !important;
    font-size: 0.875rem !important; /* 14px - 与基础字体一致 */
}

/* 优化链接样式 */
.table tbody a.text-primary {
    transition: all 0.2s ease !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important; /* 14px - 与基础字体一致 */
    color: #0d6efd !important;
    text-decoration: none !important;
    -webkit-font-smoothing: antialiased !important; /* 字体平滑渲染，防止重影 */
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important; /* 优化渲染速度，避免过度平滑导致重影 */
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.table tbody a.text-primary:hover {
    color: #0056b3 !important;
    text-decoration: underline !important;
}

/* 表格内徽章样式优化 */
.table tbody .badge {
    font-size: 0.6875rem !important; /* 11px - 更小的徽章字体 */
    padding: 0.25em 0.5em !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
}

/* 表格内操作按钮样式优化 */
.table tbody .rnd-action-chip {
    min-width: 80px !important; /* 确保按钮足够大 */
    padding: 8px 16px !important; /* 增加内边距，让按钮更大 */
    font-size: 13px !important; /* 字体更大 */
    border-radius: 24px !important; /* 更圆角 */
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}

/* 表格内文本样式优化 */
.table tbody .text-muted {
    font-size: 0.75rem !important; /* 12px */
    color: #6c757d !important; /* 调整为更明显的灰色 */
}

.table tbody .small {
    font-size: 0.75rem !important; /* 12px */
}

/* 表格响应式容器优化 */
.card-body .table-responsive {
    border-radius: 0 !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

.card-body .table-responsive .table {
    margin-bottom: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    min-width: 600px !important;
}

/* 表格边框样式 - 精致版 */
.card-body .table-responsive .table thead th {
    border-bottom: 1.5px solid #e9ecef !important;
    border-top: none !important;
    background: linear-gradient(to bottom, #f8f9fa 0%, #ffffff 100%) !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important; /* 13px - 表头字体 */
    letter-spacing: 0 !important; /* 移除字间距，防止重影 */
    vertical-align: middle !important;
    padding: 0.375rem 0.5rem !important; /* 进一步压缩内边距，缩短表头高度 */
    color: #343a40 !important; /* 更深的颜色，提高可读性 */
    -webkit-font-smoothing: antialiased !important; /* 字体平滑渲染，防止重影 */
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important; /* 优化渲染速度，避免过度平滑导致重影 */
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.card-body .table-responsive .table tbody td {
    border-bottom: 1px solid #f1f3f5 !important;
    vertical-align: middle !important;
    padding: 0.625rem 0.625rem !important;
    font-size: 0.875rem !important; /* 14px - 与基础字体一致 */
    color: #212529 !important; /* 更深的颜色，提高可读性 */
    -webkit-font-smoothing: antialiased !important; /* 字体平滑渲染，防止重影 */
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important; /* 优化渲染速度，避免过度平滑导致重影 */
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

.card-body .table-responsive .table tbody tr:last-child td {
    border-bottom: none !important;
}

/* 表格悬停效果 - 精致版 */
.card-body .table-responsive .table.table-hover tbody tr:hover {
    background-color: #f8f9fa !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

/* 表格条纹效果 - 精致版 */
.card-body .table-responsive .table.table-striped tbody tr:nth-of-type(odd) {
    background-color: #fafbfc !important;
}

.card-body .table-responsive .table.table-striped tbody tr:nth-of-type(odd):hover {
    background-color: #f1f3f5 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
}

/* ============================================
   分页栏样式优化 - 精致版（公共样式）
   @update 2025-11-17 优化分页栏样式，提升精致度
   @update 2025-11-17 分页栏只要有数据就显示（即使只有一页）
   ============================================ */

/* 分页容器样式 - 只要有数据就显示 */
.card-footer {
    background: linear-gradient(to bottom, #f8f9fa 0%, #ffffff 100%) !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
    padding: 2px 1.25rem !important; /* 上下 2px，左右 1.25rem */
    display: block !important; /* 确保分页栏始终显示 */
    min-height: auto !important; /* 移除最小高度限制，允许更紧凑的显示 */
}

.card-footer .row {
    margin: 0;
    align-items: center;
}

/* 分页列表样式 */
.card-footer .pagination {
    margin-bottom: 0;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 4px;
    list-style: none;
    padding-left: 0;
}

.card-footer .pagination li {
    margin: 0;
    display: inline-block;
}

/* 分页链接和按钮基础样式 */
.card-footer .pagination li a,
.card-footer .pagination li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0.375rem 0.75rem;
    font-size: 0.8125rem !important; /* 13px - 与表格字体一致 */
    font-weight: 500;
    color: #212529 !important;
    text-decoration: none;
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    user-select: none;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}

/* 分页链接悬停效果 */
.card-footer .pagination li:not(.disabled):not(.active) a:hover {
    background-color: #f8f9fa;
    border-color: #3c8dbc;
    color: #3c8dbc !important;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(60, 141, 188, 0.15);
}

/* 激活状态样式 */
.card-footer .pagination li.active span,
.card-footer .pagination li.active a {
    background: linear-gradient(135deg, #3c8dbc 0%, #2e6da4 100%) !important;
    border-color: #3c8dbc !important;
    color: #ffffff !important;
    font-weight: 600;
    box-shadow: 0 2px 6px rgba(60, 141, 188, 0.3);
    z-index: 1;
    position: relative;
}

.card-footer .pagination li.active span:hover,
.card-footer .pagination li.active a:hover {
    background: linear-gradient(135deg, #2e6da4 0%, #1f5a8a 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(60, 141, 188, 0.4);
}

/* 禁用状态样式 */
.card-footer .pagination li.disabled span,
.card-footer .pagination li.disabled a {
    color: #adb5bd !important;
    background-color: #f8f9fa !important;
    border-color: #e9ecef !important;
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}

/* 分页小尺寸样式 */
.card-footer .pagination-sm {
    font-size: 0.8125rem !important; /* 13px - 与列表格字体一致 */
}

.card-footer .pagination-sm li a,
.card-footer .pagination-sm li span {
    min-width: 28px;
    height: 28px;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem !important;
}

/* 分页总数显示样式 */
.card-footer .total-num {
    padding: 0.5rem 0.75rem;
    color: #495057 !important;
    font-size: 0.8125rem !important;
    font-weight: 500;
    background-color: #f8f9fa;
    border-radius: 6px;
    border: 1px solid #e9ecef;
}

/* 每页显示选择器样式 */
.card-footer .btn-group {
    margin-right: 10px;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.card-footer .btn-group.form-inline {
    padding-right: 10px;
}

.card-footer .form-control {
    display: inline-block;
    width: auto;
    min-width: 70px;
    margin: 0 5px;
    padding: 0.375rem 0.75rem;
    font-size: 0.8125rem !important;
    border-radius: 6px;
    border: 1px solid #dee2e6;
    transition: all 0.2s ease;
}

.card-footer .form-control:focus {
    border-color: #3c8dbc;
    box-shadow: 0 0 0 0.2rem rgba(60, 141, 188, 0.15);
    outline: none;
}

.card-footer .input-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.8125rem !important; /* 13px - 与列表格字体一致 */
}

/* 分页内联表单样式 */
.card-footer .pagination li.form-inline {
    margin-left: 10px;
    padding: 0;
    border: none;
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem;
    color: #495057;
    font-size: 0.8125rem !important;
}

.card-footer .pagination li.form-inline input {
    width: 50px;
    min-width: 50px;
    padding: 0.25rem 0.375rem;
    text-align: center;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    font-size: 0.8125rem !important;
    transition: all 0.2s ease;
}

.card-footer .pagination li.form-inline input:focus {
    border-color: #3c8dbc;
    box-shadow: 0 0 0 0.2rem rgba(60, 141, 188, 0.15);
    outline: none;
}

.card-footer .pagination li.form-inline .no-padding {
    padding: 0.25rem 0.375rem;
}

/* 文本对齐样式 */
.card-footer .text-right {
    text-align: right !important;
}

.card-footer .pull-right {
    float: right !important;
}

.card-footer .no-margin {
    margin: 0 !important;
}

/* 分页按钮特殊样式（上一页/下一页） */
.card-footer .pagination li:first-child a,
.card-footer .pagination li:first-child span,
.card-footer .pagination li:last-child a,
.card-footer .pagination li:last-child span {
    font-weight: 600;
    font-size: 0.8125rem !important; /* 13px - 与列表格字体一致 */
}

/* 分页分隔符样式 */
.card-footer .pagination li.disabled span:not(.total-num) {
    background-color: transparent !important;
    border: none !important;
    color: #adb5bd !important;
    cursor: default;
}

/* 响应式优化 */
@media (max-width: 768px) {
    .card-footer .pagination {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .card-footer .pagination li {
        margin: 2px;
    }
    
    .card-footer .text-right {
        text-align: center !important;
    }
    
    .card-footer .pull-right {
        float: none !important;
    }
}

/* ============================================
   搜索栏下拉框样式优化 - 重新设计精致版（公共样式）
   @update 2025-11-17 重新设计搜索栏中 Select2 下拉框样式和效果
   ============================================ */

/* Select2 容器基础样式 */
.style-search-group .select2-container {
    width: 100% !important;
    font-size: 0.8125rem !important; /* 13px - 与表格字体一致 */
}

/* Select2 选择框样式 - 重新设计精致版 */
.style-search-group .select2-container--default .select2-selection--single {
    height: 36px !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    background: linear-gradient(to bottom, #ffffff 0%, #f8fafc 100%) !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    min-height: 36px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

/* 确保 Select2 选择框正确显示 */
.style-search-group .select2-container--default .select2-selection--single .select2-selection__rendered {
    display: block !important;
    width: 100% !important;
}

/* Select2 选择框悬停效果 - 精致版 */
.style-search-group .select2-container--default .select2-selection--single:hover {
    border-color: #3c8dbc !important;
    box-shadow: 0 2px 8px rgba(60, 141, 188, 0.15) !important;
    background: linear-gradient(to bottom, #ffffff 0%, #f0f7ff 100%) !important;
    transform: translateY(-1px) !important;
}

/* Select2 选择框焦点效果 - 精致版 */
.style-search-group .select2-container--default.select2-container--focus .select2-selection--single,
.style-search-group .select2-container--default .select2-selection--single.select2-selection--focus {
    border-color: #3c8dbc !important;
    border-width: 2px !important;
    box-shadow: 0 0 0 3px rgba(60, 141, 188, 0.12), 0 4px 12px rgba(60, 141, 188, 0.2) !important;
    outline: none !important;
    background: #ffffff !important;
    transform: translateY(-1px) !important;
}

/* Select2 显示文本样式 - 精致版 */
.style-search-group .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 36px !important;
    padding-left: 14px !important;
    padding-right: 36px !important;
    color: #1f2937 !important;
    font-size: 0.8125rem !important;
    font-weight: 500 !important;
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important; /* 移除字间距，防止重影 */
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
}

/* Select2 占位符样式 - 精致版 */
.style-search-group .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #94a3b8 !important;
    font-weight: 400 !important;
    font-style: normal !important;
}

/* Select2 下拉箭头样式 - 重新设计 */
.style-search-group .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
    right: 10px !important;
    width: 24px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.style-search-group .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #64748b transparent transparent transparent !important;
    border-width: 6px 5px 0 5px !important;
    margin-top: -2px !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    opacity: 0.8 !important;
}

/* Select2 下拉框打开时箭头旋转 - 精致版 */
.style-search-group .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow {
    transform: rotate(180deg) !important;
}

.style-search-group .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: #3c8dbc transparent transparent transparent !important;
    opacity: 1 !important;
}

/* Select2 下拉菜单样式 - 重新设计精致版 */
.style-search-group .select2-dropdown {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    margin-top: 6px !important;
    background-color: #ffffff !important;
    overflow: hidden !important;
    z-index: 9999999 !important; /* 使用最高优先级，确保在所有元素之上（包括表格、modal等） */
    position: fixed !important; /* 使用 fixed 定位，确保不受父容器影响 */
    padding: 4px 0 !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* Select2 下拉菜单容器 - 确保不被遮挡 */
.style-search-group .select2-container {
    position: relative !important;
    z-index: auto !important;
}

.style-search-group .select2-container--open {
    z-index: 0 !important; /* 容器本身保持最低层级，让下拉菜单显示在上层 */
    position: relative !important;
}

/* Select2 下拉菜单自定义类名样式 */
.select2-dropdown-search-form {
    z-index: 9999999 !important; /* 使用最高优先级，确保在所有元素之上（包括表格、modal等） */
    position: fixed !important; /* 使用 fixed 定位，确保不受父容器影响 */
}

/* 全局 Select2 下拉菜单 z-index 修复 - 使用最高优先级 */
/* 注意：modal 的 z-index 是 1050，表格的 z-index 是 0，所以下拉菜单必须更高 */
.select2-dropdown {
    z-index: 9999999 !important; /* 使用最高优先级，确保在所有元素之上（包括表格、modal等） */
    position: fixed !important; /* 使用 fixed 定位，确保不受父容器影响 */
}

.select2-container--open .select2-dropdown {
    z-index: 9999999 !important; /* 使用最高优先级 */
    position: fixed !important; /* 使用 fixed 定位 */
}

/* 搜索表单中的下拉菜单特殊处理 */
.style-search-group .select2-dropdown {
    z-index: 9999999 !important; /* 使用最高优先级 */
    position: fixed !important; /* 使用 fixed 定位 */
}

.select2-dropdown-search-form {
    z-index: 9999999 !important; /* 使用最高优先级 */
    position: fixed !important; /* 使用 fixed 定位 */
}

/* 当 dropdownParent 是 body 时，使用 fixed 定位 */
body > .select2-dropdown {
    position: fixed !important;
    z-index: 9999999 !important; /* 使用最高优先级 */
}

body > .select2-dropdown-search-form {
    position: fixed !important;
    z-index: 9999999 !important; /* 使用最高优先级 */
}

/* 强制所有 Select2 下拉菜单使用最高 z-index */
.select2-container--open .select2-dropdown,
.select2-container--open .select2-dropdown--below {
    z-index: 9999999 !important; /* 使用最高优先级 */
    position: fixed !important; /* 使用 fixed 定位 */
}

/* 当 dropdownParent 是 body 时，下拉菜单应该使用 fixed */
body > .select2-container--open .select2-dropdown,
body > .select2-container--open .select2-dropdown--below {
    position: fixed !important;
    z-index: 9999999 !important; /* 使用最高优先级 */
}

/* 确保所有 Select2 下拉菜单（无论在哪里）都有最高 z-index */
.select2-dropdown,
.select2-dropdown--below,
.select2-dropdown--above {
    z-index: 9999999 !important; /* 使用最高优先级 */
    position: fixed !important; /* 使用 fixed 定位 */
}

/* 特别处理搜索表单中的下拉菜单 */
.style-search-group .select2-container--open ~ .select2-dropdown,
.style-search-group .select2-container--open ~ .select2-dropdown-search-form {
    z-index: 9999999 !important; /* 使用最高优先级 */
    position: fixed !important; /* 使用 fixed 定位 */
}

/* 确保下拉菜单在所有情况下都显示在最上层 */
.select2-dropdown-search-form {
    z-index: 9999999 !important; /* 使用最高优先级 */
    position: fixed !important; /* 使用 fixed 定位 */
}

/* 强制覆盖任何可能的 z-index 设置 */
.select2-container.select2-container--open {
    z-index: 1 !important; /* 容器本身保持低层级 */
}

.select2-container.select2-container--open .select2-selection {
    z-index: 1 !important; /* 选择框保持低层级 */
}

/* 确保搜索结果容器也有正确的 z-index */
.select2-results {
    z-index: inherit !important;
}

.select2-results__options {
    z-index: inherit !important;
}

/* 确保下拉菜单结果区域正确显示 */
.style-search-group .select2-results {
    max-height: 200px !important;
    overflow-y: auto !important;
}

.style-search-group .select2-results__options {
    max-height: 200px !important;
    overflow-y: auto !important;
}

/* 确保搜索表单容器不会遮挡下拉菜单 */
.style-search-wrapper {
    position: relative !important;
    z-index: 0 !important; /* 设置最低的 z-index，确保下拉菜单在上层 */
    overflow: visible !important;
}

.style-search-body {
    position: relative !important;
    z-index: 0 !important; /* 设置最低的 z-index，确保下拉菜单在上层 */
    overflow: visible !important;
}

.style-search-bar {
    position: relative !important;
    z-index: 0 !important; /* 设置最低的 z-index，确保下拉菜单在上层 */
    overflow: visible !important;
}

.style-search-group {
    position: relative !important;
    z-index: 0 !important; /* 设置最低的 z-index，确保下拉菜单在上层 */
    overflow: visible !important;
}

/* 确保卡片不会遮挡下拉菜单 */
.card {
    position: relative !important;
    z-index: 1 !important; /* 设置较低的 z-index */
    overflow: visible !important; /* 确保下拉菜单不被裁剪 */
}

.card-header {
    overflow: visible !important; /* 确保下拉菜单不被裁剪 */
    position: relative !important;
    z-index: 1 !important;
    padding: 0.5rem 1rem !important; /* 压缩内边距，缩短 card-header 高度 */
    min-height: auto !important; /* 移除最小高度限制 */
}

.card-body {
    padding: 0.75rem 1rem !important; /* 压缩内边距：上下 0.75rem (12px)，左右 1rem (16px) */
    overflow: visible !important; /* 确保下拉菜单不被裁剪 */
    position: relative !important;
    z-index: 1 !important; /* 设置较低的 z-index */
}

/* 确保所有可能的父容器都不会裁剪下拉菜单 */
.wrapper,
.main-content,
.content-header,
.content-header .container-fluid {
    overflow: visible !important;
}

/* ============================================
   内容头部标题栏样式优化 - 精致版（公共样式）
   ============================================ */
.content-header {
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
    border-bottom: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    padding: 12px 24px !important; /* 减小垂直内边距，降低高度 */
    margin-bottom: 20px !important;
    border-radius: 0 !important; /* 顶部不设置圆角 */
    position: relative !important;
    overflow: visible !important;
}

/* 标题样式优化 */
.content-header h1 {
    font-size: 1.5rem !important; /* 适中的字体大小 */
    font-weight: 600 !important; /* 稍微加粗 */
    color: #1f2937 !important; /* 深灰色，更专业 */
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3 !important; /* 减小行高，降低高度 */
    letter-spacing: 0 !important; /* 移除字间距，防止重影 */
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

/* 标题前添加装饰性图标或线条（可选） */
.content-header h1::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 20px; /* 减小装饰条高度 */
    background: linear-gradient(180deg, #3c8dbc 0%, #2563eb 100%);
    border-radius: 2px;
    flex-shrink: 0;
}

/* 响应式优化 */
@media (max-width: 768px) {
    .content-header {
        padding: 10px 20px !important; /* 移动端也减小内边距 */
    }
    
    .content-header h1 {
        font-size: 1.25rem !important;
    }
    
    .content-header h1::before {
        height: 18px; /* 移动端装饰条更小 */
    }
}

/* ============================================
   状态筛选标签区域样式优化 - 公共样式
   ============================================ */

/* 状态筛选标签容器 */
.status-filter-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    border-bottom: 1px solid #e3e3e3;
    padding-bottom: 6px;
}

/* 状态标签基础样式 */
.status-tag {
    display: inline-block;
    padding: 6px 12px;
    background-color: #ffffff;
    border: 1px solid #dfe3eb;
    border-radius: 6px;
    cursor: pointer;
    font-size: 0.8125rem !important; /* 13px - 与列表格字体一致 */
    color: #334155;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}

/* 小尺寸状态标签 */
.status-tag-small {
    padding: 5px 10px;
    font-size: 0.8125rem !important; /* 13px - 与列表格字体一致 */
}

/* 状态标签悬停效果 */
.status-tag:hover {
    background-color: #ffffff;
    border-color: #3c8dbc;
    color: #3c8dbc;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 6px rgba(60, 141, 188, 0.2) !important;
}

/* 激活状态标签 */
.status-tag.active {
    background-color: #3c8dbc;
    color: #fff;
    border-color: #3c8dbc;
    position: relative;
    box-shadow: 0 2px 8px rgba(60, 141, 188, 0.3) !important;
}

/* 激活状态标签的勾选标记 */
.status-tag.active::after {
    content: '\2713';
    font-weight: bold;
    margin-left: 4px;
}

/* 状态标签中的数字样式 */
.status-tag .status-count {
    font-weight: 600 !important;
    color: #dc3545 !important;
    margin-left: 4px !important;
    font-size: 0.9em !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}

/* 激活状态标签中的数字样式 */
.status-tag.active .status-count {
    color: #ffffff !important;
    background-color: rgba(255, 255, 255, 0.2) !important;
    padding: 2px 6px !important;
    border-radius: 10px !important;
}

/* 状态筛选标签容器盒子 */
.status-filter-box {
    margin-bottom: 15px;
    max-width: 100%;
    overflow: hidden;
}

/* 优化状态筛选标签区域的上边框线 - 参照企划管理样式 */
.status-filter-box.card-primary {
    border-top: 3px solid #3c8dbc !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}

.status-filter-box .card-header {
    border-bottom: none !important;
    padding: 0 !important;
    min-height: 0 !important;
}

.status-filter-box .card-body {
    padding: 12px 15px !important;
}

/* ============================================
   统一按钮样式 - 表头按钮和操作列按钮
   @update 2025-01-XX 统一按钮样式风格
   ============================================ */

/* 表头按钮样式 - 统一风格 */
.card-tools {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.card-tools.ms-auto {
    margin-left: auto;
}

.card-tools .btn,
.card-tools .btn-sm {
    font-size: 0.8125rem !important; /* 13px - 与列表格字体一致 */
    font-weight: 500 !important;
    padding: 0.5rem 1rem !important;
    border-radius: 6px !important;
    transition: all 0.2s ease !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}

.card-tools .btn:hover,
.card-tools .btn-sm:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.card-tools .btn-group {
    display: flex;
    gap: 0.5rem;
    align-items: center;
}

/* 操作列按钮容器 */
.rnd-action-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

/* 操作列按钮基础样式 */
.rnd-action-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 80px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    border-radius: 24px !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    height: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}

.rnd-action-chip:hover,
.rnd-action-chip:focus {
    text-decoration: none !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(15, 76, 129, 0.2) !important;
}

/* 操作列按钮颜色变体 */
.chip-default {
    background-color: rgba(148, 163, 184, 0.18) !important;
    color: #334155 !important;
    border-color: rgba(148, 163, 184, 0.26) !important;
}

.chip-default:hover,
.chip-default:focus {
    background-color: rgba(148, 163, 184, 0.28) !important;
}

.chip-primary {
    background-color: rgba(37, 99, 235, 0.12) !important;
    color: #1d4ed8 !important;
    border-color: rgba(37, 99, 235, 0.32) !important;
}

.chip-primary:hover,
.chip-primary:focus {
    background-color: rgba(37, 99, 235, 0.18) !important;
}

.chip-success {
    background-color: rgba(34, 197, 94, 0.18) !important;
    color: #047857 !important;
    border-color: rgba(34, 197, 94, 0.32) !important;
}

.chip-success:hover,
.chip-success:focus {
    background-color: rgba(34, 197, 94, 0.25) !important;
}

.chip-info {
    background-color: rgba(14, 165, 233, 0.16) !important;
    color: #0369a1 !important;
    border-color: rgba(14, 165, 233, 0.32) !important;
}

.chip-info:hover,
.chip-info:focus {
    background-color: rgba(14, 165, 233, 0.22) !important;
}

.chip-warning {
    background-color: rgba(234, 179, 8, 0.16) !important;
    color: #b45309 !important;
    border-color: rgba(234, 179, 8, 0.32) !important;
}

.chip-warning:hover,
.chip-warning:focus {
    background-color: rgba(234, 179, 8, 0.22) !important;
}

.chip-danger {
    background-color: rgba(248, 113, 113, 0.18) !important;
    color: #b91c1c !important;
    border-color: rgba(248, 113, 113, 0.32) !important;
}

.chip-danger:hover,
.chip-danger:focus {
    background-color: rgba(248, 113, 113, 0.24) !important;
}

.chip-disabled {
    background-color: #e2e8f0 !important;
    color: #64748b !important;
    border-color: #d8dee9 !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}

.chip-disabled:hover,
.chip-disabled:focus {
    transform: none !important;
    box-shadow: none !important;
}

.chip-soft-disabled {
    background-color: #e2e8f0 !important;
    color: #64748b !important;
    border-color: #d8dee9 !important;
    opacity: 1 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.chip-soft-disabled:hover,
.chip-soft-disabled:focus {
    background-color: #d1d5db !important;
    color: #4b5563 !important;
    border-color: #9ca3af !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* 统一搜索表单按钮字体大小 - 与列表格一致 */
.style-search-btn-primary,
.style-search-btn-secondary,
.style-search-btn-export {
    font-size: 0.8125rem !important; /* 13px - 与列表格字体一致 */
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}

/* 特别处理搜索表单区域 */
.style-search-wrapper,
.style-search-body,
.style-search-bar,
.style-search-group {
    overflow: visible !important;
    position: relative !important;
    z-index: 0 !important; /* 设置最低的 z-index，确保下拉菜单在上层 */
}

/* 确保表格容器不会遮挡下拉菜单 */
.table-responsive {
    overflow-x: auto !important; /* 允许水平滚动 */
    overflow-y: visible !important; /* 垂直方向允许溢出，确保下拉菜单不被裁剪 */
    position: relative !important;
    z-index: 0 !important; /* 设置最低的 z-index，确保下拉菜单在上层 */
}

.card-body .table-responsive {
    overflow-x: auto !important; /* 只允许水平滚动 */
    overflow-y: visible !important; /* 垂直方向允许溢出 */
    position: relative !important;
    z-index: 0 !important; /* 设置最低的 z-index，确保下拉菜单在上层 */
}

/* 确保表格本身不会遮挡下拉菜单 */
.table {
    position: relative !important;
    z-index: 0 !important; /* 设置最低的 z-index，确保下拉菜单在上层 */
}

/* 搜索表单区域应该在下拉菜单打开时保持较低层级 */
.style-search-wrapper .select2-container--open {
    position: relative !important;
    z-index: 1 !important; /* 保持较低层级，让下拉菜单显示在上层 */
}

/* 搜索表单中的 Select2 容器打开时，确保下拉菜单不被遮挡 */
.style-search-group .select2-container--open {
    z-index: 1 !important; /* 容器本身保持低层级 */
}

.style-search-group .select2-container--open .select2-selection {
    z-index: 1 !important; /* 选择框保持低层级 */
}

/* Select2 搜索结果选项样式 - 重新设计精致版 */
.style-search-group .select2-results__option {
    padding: 10px 16px !important;
    font-size: 0.8125rem !important;
    color: #1f2937 !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    cursor: pointer !important;
    border-radius: 6px !important;
    margin: 2px 6px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    position: relative !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeSpeed !important;
    -webkit-text-stroke: 0 !important;
    text-shadow: none !important;
    letter-spacing: 0 !important;
}

/* Select2 搜索结果选项悬停效果 - 精致版 */
.style-search-group .select2-results__option:hover {
    background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 100%) !important;
    color: #1f2937 !important;
    transform: translateX(2px) !important;
    box-shadow: 0 2px 4px rgba(60, 141, 188, 0.1) !important;
}

.style-search-group .select2-results__option[aria-selected] {
    background-color: #f8f9fa !important;
    color: #1f2937 !important;
}

/* Select2 高亮选项样式 - 精致版 */
.style-search-group .select2-results__option--highlighted[aria-selected] {
    background: linear-gradient(135deg, #3c8dbc 0%, #2563eb 100%) !important;
    color: #ffffff !important;
    font-weight: 500 !important;
    box-shadow: 0 2px 8px rgba(60, 141, 188, 0.3) !important;
    transform: translateX(2px) scale(1.01) !important;
}

/* Select2 选中选项样式 - 精致版 */
.style-search-group .select2-results__option[aria-selected="true"] {
    background: linear-gradient(135deg, #e7f3ff 0%, #d6ebff 100%) !important;
    color: #3c8dbc !important;
    font-weight: 500 !important;
    border-left: 3px solid #3c8dbc !important;
    padding-left: 13px !important;
}

.style-search-group .select2-results__option[aria-selected="true"]::before {
    content: '✓' !important;
    margin-right: 8px !important;
    color: #3c8dbc !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
}

/* Select2 搜索结果组标题样式 - 重新设计精致版 */
.style-search-group .select2-results__group {
    padding: 8px 16px !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    color: #64748b !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important; /* 移除字间距，防止重影 */
    background: linear-gradient(to bottom, #f8fafc 0%, #f1f5f9 100%) !important;
    border-bottom: 2px solid #e2e8f0 !important;
    margin-top: 4px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
}

/* Select2 搜索框样式 - 重新设计精致版 */
.style-search-group .select2-search--dropdown {
    padding: 8px !important;
    background: linear-gradient(to bottom, #ffffff 0%, #f8fafc 100%) !important;
    border-bottom: 1px solid #e2e8f0 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
}

.style-search-group .select2-search--dropdown .select2-search__field {
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: 0.8125rem !important;
    color: #1f2937 !important;
    margin: 0 !important;
    width: 100% !important;
    transition: all 0.2s ease !important;
    background-color: #ffffff !important;
}

.style-search-group .select2-search--dropdown .select2-search__field:focus {
    border-color: #3c8dbc !important;
    box-shadow: 0 0 0 3px rgba(60, 141, 188, 0.12), 0 2px 4px rgba(60, 141, 188, 0.15) !important;
    outline: none !important;
    background-color: #ffffff !important;
}

/* Select2 无结果提示样式 - 重新设计精致版 */
.style-search-group .select2-results__option--load-more,
.style-search-group .select2-results__message {
    padding: 12px 16px !important;
    text-align: center !important;
    color: #94a3b8 !important;
    font-size: 0.8125rem !important;
    font-style: normal !important;
    background-color: #f8fafc !important;
    border-radius: 6px !important;
    margin: 4px 6px !important;
}

/* Select2 下拉菜单结果容器样式 - 重新设计精致版 */
.style-search-group .select2-results {
    max-height: 280px !important;
    overflow-y: auto !important;
    padding: 4px 0 !important;
    scrollbar-width: thin !important;
    scrollbar-color: #cbd5e1 #f1f5f9 !important;
}

.style-search-group .select2-results::-webkit-scrollbar {
    width: 6px !important;
}

.style-search-group .select2-results::-webkit-scrollbar-track {
    background: #f1f5f9 !important;
    border-radius: 3px !important;
}

.style-search-group .select2-results::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 3px !important;
    transition: background 0.2s ease !important;
}

.style-search-group .select2-results::-webkit-scrollbar-thumb:hover {
    background: #94a3b8 !important;
}

.style-search-group .select2-results__options {
    padding: 0 !important;
}

/* Select2 多选样式（如果使用） */
.style-search-group .select2-container--default .select2-selection--multiple {
    min-height: 36px !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 6px !important;
    padding: 2px 6px !important;
    background-color: #ffffff !important;
    transition: all 0.2s ease !important;
}

.style-search-group .select2-container--default .select2-selection--multiple:hover {
    border-color: #3c8dbc !important;
}

.style-search-group .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #3c8dbc !important;
    box-shadow: 0 0 0 0.2rem rgba(60, 141, 188, 0.15) !important;
}

.style-search-group .select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: #3c8dbc !important;
    border: 1px solid #2e6da4 !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 2px 8px !important;
    margin: 2px 4px 2px 0 !important;
    font-size: 0.75rem !important;
    font-weight: 500 !important;
}

.style-search-group .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: #ffffff !important;
    margin-right: 4px !important;
    font-weight: 600 !important;
}

.style-search-group .select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: #ffebee !important;
}

/* ============================================
   表格表头固定样式（公共样式）
   @update 2025-01-XX 抽取表头固定样式到公共样式文件，供所有列表页面使用
   ============================================ */

/* 表格容器 - 支持表头固定和垂直滚动 */
.card .card-body.p-0 .table-responsive {
    max-height: calc(100vh - 400px); /* 根据页面高度动态调整，留出顶部和底部空间 */
    overflow-y: auto !important; /* 允许垂直滚动 */
    overflow-x: auto !important; /* 允许水平滚动 */
    -webkit-overflow-scrolling: touch;
}

/* 表头固定 */
.card .card-body.p-0 .table-responsive table thead {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: #fff;
}

/* 表头单元格样式 - 确保背景色和阴影 */
.card .card-body.p-0 .table-responsive table thead th {
    background-color: #f8f9fa !important;
    border-bottom: 2px solid #dee2e6 !important;
    font-weight: 600 !important;
    padding: 0.375rem 0.5rem !important; /* 进一步压缩内边距，缩短表头高度 */
    position: relative;
    box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.1);
}

/* 固定列（如选择、编号、名称等）在水平滚动时保持可见 */
.card .card-body.p-0 .table-responsive table thead th.col-fixed,
.card .card-body.p-0 .table-responsive table tbody td.col-fixed {
    position: sticky;
    background-color: #fff;
    z-index: 10;
}

/* 固定列在表头中的 z-index 更高，背景色与表头一致 */
.card .card-body.p-0 .table-responsive table thead th.col-fixed {
    z-index: 101;
    background-color: #f8f9fa !important;
}

/* 操作列固定在右侧 */
.card .card-body.p-0 .table-responsive table thead th.action-column,
.card .card-body.p-0 .table-responsive table tbody td.action-column {
    position: sticky;
    right: 0;
    background-color: #fff;
    z-index: 10;
    box-shadow: -2px 0 4px -2px rgba(0, 0, 0, 0.1);
}

/* 操作列在表头中的 z-index 更高，背景色与表头一致 */
.card .card-body.p-0 .table-responsive table thead th.action-column {
    z-index: 101;
    background-color: #f8f9fa !important;
}

/* 悬停时保持背景色 */
.card .card-body.p-0 .table-responsive table tbody tr:hover td.col-fixed,
.card .card-body.p-0 .table-responsive table tbody tr:hover td.action-column {
    background-color: #f8f9fa !important;
}

/* 条纹表格的固定列背景色 */
.card .card-body.p-0 .table-responsive table.table-striped tbody tr:nth-of-type(odd) td.col-fixed,
.card .card-body.p-0 .table-responsive table.table-striped tbody tr:nth-of-type(odd) td.action-column {
    background-color: #fafbfc !important;
}

.card .card-body.p-0 .table-responsive table.table-striped tbody tr:nth-of-type(odd):hover td.col-fixed,
.card .card-body.p-0 .table-responsive table.table-striped tbody tr:nth-of-type(odd):hover td.action-column {
    background-color: #f1f3f5 !important;
}