:root {
    /* 主色调：专业蓝色系 */
    --primary-color: #165DFF;
    --primary-light: #4080FF;
    --primary-dark: #0E42B2;
    
    /* 辅助色 */
    --success-color: #00B42A;
    --warning-color: #FF7D00;
    --danger-color: #F53F3F;
    --info-color: #86909C;
    
    /* 中性色 */
    --dark-color: #1D2129;
    --gray-color: #4E5969;
    --light-gray: #E5E6EB;
    --lighter-gray: #F5F7FA;
    --white-color: #FFFFFF;
    --sidebar-bg-color: #1D2129;
    
    /* 文字颜色 */
    --text-primary: #1D2129;
    --text-secondary: #4E5969;
    --text-light: #86909C;
    
    /* 边框颜色 */
    --border-color: #E5E6EB;
    
    /* 阴影 */
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.15);
    
    /* 过渡效果 */
    --transition: all 0.3s ease;
    
    /* 圆角 */
    --border-radius: 4px;
    
    /* 间距 */
    --spacing-xs: 8px;
    --spacing-sm: 16px;
    --spacing-md: 24px;
    --spacing-lg: 32px;
    --spacing-xl: 40px;
}

/* 基础样式重置与统一样式 */
html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    background-color: var(--white-color);
    color: var(--text-primary);
    line-height: 1.5;
}

/* 24列栅格系统 */
.container {
    width: 100%;
    padding-right: var(--spacing-sm);
    padding-left: var(--spacing-sm);
    margin-right: auto;
    margin-left: auto;
}

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -var(--spacing-sm);
    margin-left: -var(--spacing-sm);
}

.col-1, .col-2, .col-3, .col-4, .col-5, .col-6,
.col-7, .col-8, .col-9, .col-10, .col-11, .col-12,
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6,
.col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    position: relative;
    width: 100%;
    padding-right: var(--spacing-sm);
    padding-left: var(--spacing-sm);
}

.col-1 { flex: 0 0 4.166667%; max-width: 4.166667%; }
.col-2 { flex: 0 0 8.333333%; max-width: 8.333333%; }
.col-3 { flex: 0 0 12.5%; max-width: 12.5%; }
.col-4 { flex: 0 0 16.666667%; max-width: 16.666667%; }
.col-5 { flex: 0 0 20.833333%; max-width: 20.833333%; }
.col-6 { flex: 0 0 25%; max-width: 25%; }
.col-7 { flex: 0 0 29.166667%; max-width: 29.166667%; }
.col-8 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.col-9 { flex: 0 0 37.5%; max-width: 37.5%; }
.col-10 { flex: 0 0 41.666667%; max-width: 41.666667%; }
.col-11 { flex: 0 0 45.833333%; max-width: 45.833333%; }
.col-12 { flex: 0 0 50%; max-width: 50%; }

@media (min-width: 768px) {
    .col-md-1 { flex: 0 0 4.166667%; max-width: 4.166667%; }
    .col-md-2 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .col-md-3 { flex: 0 0 12.5%; max-width: 12.5%; }
    .col-md-4 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .col-md-5 { flex: 0 0 20.833333%; max-width: 20.833333%; }
    .col-md-6 { flex: 0 0 25%; max-width: 25%; }
    .col-md-7 { flex: 0 0 29.166667%; max-width: 29.166667%; }
    .col-md-8 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-md-9 { flex: 0 0 37.5%; max-width: 37.5%; }
    .col-md-10 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-md-11 { flex: 0 0 45.833333%; max-width: 45.833333%; }
    .col-md-12 { flex: 0 0 50%; max-width: 50%; }
}

/* 字体规范 */
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: var(--spacing-sm);
    font-weight: 600;
    line-height: 1.5;
}

h1 { font-size: 18px; font-weight: 600; }

h2 { font-size: 16px; font-weight: 500; }

h3 { font-size: 14px; font-weight: 500; }

p {
    margin-top: 0;
    margin-bottom: var(--spacing-sm);
    font-size: 14px;
    line-height: 1.5;
}

.text-sm {
    font-size: 12px;
    line-height: 1.5;
}

/* SaaS主界面样式 */
.saas-dashboard {
    font-family: 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* 主框架布局 */
.saas-main-frame {
    display: flex !important;
    flex-direction: row;
    height: 100vh;
    width: 100%;
    overflow-x: hidden;
    overflow-y: hidden;
    box-sizing: border-box;
    position: relative;
    opacity: 1 !important;
    z-index: 1 !important;
    flex-wrap: nowrap;
}
/* 鼠标悬停弹窗样式 */
.sidebar-tooltip {
    background-color: var(--sidebar-bg-color) !important;
    color: var(--white-color) !important;
    border-radius: var(--border-radius) !important;
    box-shadow: var(--shadow-lg) !important;
    padding: var(--spacing-xs) var(--spacing-sm) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* 考次概览悬停样式 */
.exam-overview-tooltip {
    background-color: var(--white-color) !important;
    color: var(--text-primary) !important;
    border-radius: var(--border-radius) !important;
    box-shadow: var(--shadow-md) !important;
    padding: var(--spacing-sm) var(--spacing-sm) !important;
    font-size: 12px !important;
    border: 1px solid var(--light-gray) !important;
}

/* 确保tooltip样式优先级 */
#tooltipContainer {
    z-index: 9999 !important;
    pointer-events: none !important;
}

/* tooltip动画效果增强 */
#tooltipContainer {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* 优化tooltip在不同屏幕尺寸下的显示 */
@media (max-width: 768px) {
    .sidebar-tooltip {
        position: fixed !important;
        left: 70px !important;
        right: auto !important;
        transform: none !important;
    }
    
    /* 移动端下拉菜单向下展开，不超出屏幕 */
    .dropdown-menu {
        position: fixed !important;
        top: auto !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        right: auto !important;
        min-width: 200px !important;
        max-width: calc(100vw - 32px) !important;
        z-index: 9999 !important;
    }
    
    /* 用户下拉菜单在移动端向下展开 */
    .user-avatar-dropdown .dropdown-menu {
        top: 100% !important;
        margin-top: 8px !important;
    }
}

/* SaaS主界面样式 */
.saas-dashboard {
    font-family: 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* 主框架布局 */
.saas-main-frame {
    display: flex !important;
    flex-direction: row;
    height: 100vh;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    position: relative;
    opacity: 1 !important;
    z-index: 1 !important;
    flex-wrap: nowrap;
}

/* 左侧导航栏 */
.saas-sidebar {
    width: 250px; /* 24列中的6列 */
    background-color: var(--sidebar-bg-color);
    color: var(--white-color);
    display: flex;
    flex-direction: column;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    min-height: 100vh;
    flex-shrink: 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    box-sizing: border-box;
}

/* 侧边栏收放状态 */
.saas-sidebar.collapsed {
    width: 65px;
    overflow: visible;
}

/* 侧边栏遮罩层 */
.sidebar-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 99;
    display: none;
    flex-shrink: 0; /* 确保不影响flex布局 */
    flex-grow: 0; /* 确保不影响flex布局 */
    flex-basis: 0; /* 确保不影响flex布局 */
}

.sidebar-overlay.show {
    display: block;
}

/* 侧边栏底部容器 */
.sidebar-footer {
    padding: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: auto;
    background-color: rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* 侧边栏收放按钮 */
.sidebar-toggle {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    outline: none !important;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 0.6rem;
    border-radius: 50% !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 100;
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.sidebar-toggle:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
    transform: scale(1.1);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
}

/* 透明按钮样式 */
.btn-transparent {
    background: transparent;
    border: none;
    outline: none;
}

/* 侧边栏头部 */
.sidebar-header {
    padding: 20px 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background-color: var(--sidebar-bg-color);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-height: 80px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.modal-dialog {
    max-width: 1200px!important;
}

/* 收缩状态下的侧边栏头部 */
.saas-sidebar.collapsed .sidebar-header {
    padding: 15px 0;
}

/* Logo容器 */
.logo-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Logo图片 */
.logo-image {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    width: 100%;
    height: 40px;
}

/* 横向logo默认显示，方形logo默认隐藏 */
.logo-image .logo-horizontal {
    height: 40px;
    width: auto;
    object-fit: contain;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    visibility: visible;
}

.logo-image .logo-square {
    height: 0;
    width: 0;
    object-fit: contain;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 0;
    visibility: hidden;
    position: absolute;
}

/* Logo文本 */
.logo-text {
    margin-top: 8px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    transform: translateY(0);
    overflow: hidden;
    height: auto;
}

.logo-text h4 {
    font-size: 1.1rem;
    margin: 0;
    color: #ffffff;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    letter-spacing: 0.5px;
}

/* 收缩状态下的样式 */
.saas-sidebar.collapsed .logo-container {
    /* 收起时只显示logo，隐藏文本 */
}

/* 收缩状态下隐藏文本，保留logo显示 */
.saas-sidebar.collapsed .logo-text {
    opacity: 0;
    transform: translateY(-10px);
    height: 0;
    margin-top: 0;
    overflow: hidden;
}

/* 收缩状态下切换logo：隐藏横向logo，显示方形logo */
.saas-sidebar.collapsed .logo-image .logo-horizontal {
    height: 0;
    opacity: 0;
    visibility: hidden;
}

.saas-sidebar.collapsed .logo-image .logo-square {
    height: 40px;
    width: 40px;
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

/* 收缩状态下优化logo显示 */
.saas-sidebar.collapsed .logo-image {
    transform: scale(1);
}
    }
    
    .saas-sidebar.open .logo-image .logo-square {
        display: none;
    }
    
    .saas-sidebar.open .logo-image {
        display: none;
    }
    
    .saas-sidebar.open .logo-text {
        display: none;
    }
    
    .saas-sidebar.collapsed .logo-image .logo-horizontal {
        display: none;
    }

/* 移动端适配：小屏幕下侧边栏显示时始终显示完整logo */
@media (max-width: 992px) {
    /* 侧边栏打开时显示完整logo */
    .saas-sidebar.open .logo-image .logo-horizontal {
        height: 40px;
        opacity: 1;
        visibility: visible;
    }
    
    .saas-sidebar.open .logo-image .logo-square {
        height: 0;
        width: 0;
        opacity: 0;
        visibility: hidden;
    }
    
    .saas-sidebar.open .logo-image {
        transform: scale(1);
    }
    
    .saas-sidebar.open .logo-text {
        opacity: 1;
        transform: translateY(0);
        height: auto;
        margin-top: 8px;
    }
    
    /* 侧边栏收窄时显示方形logo，与大屏模式保持一致 */
    .saas-sidebar.collapsed .logo-image .logo-horizontal {
        height: 0;
        opacity: 0;
        visibility: hidden;
    }
    
    .saas-sidebar.collapsed .logo-image .logo-square {
        height: 40px;
        width: 40px;
        opacity: 1;
        visibility: visible;
        transform: scale(1);
    }
    
    .saas-sidebar.collapsed .logo-image {
        transform: scale(1);
    }
    
    .saas-sidebar.collapsed .logo-text {
        opacity: 0;
        transform: translateY(-10px);
        height: 0;
        margin-top: 0;
        overflow: hidden;
    }
}

/* 侧边栏导航 */
.sidebar-nav {
    flex: 1;
    padding: 10px 0;
    overflow-y: auto;
        overflow-x: hidden;
    background-color: var(--sidebar-bg-color);
    margin-bottom: auto;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-nav .nav {
    padding: 0;
}

.sidebar-nav .nav-item {
    margin-bottom: 5px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-nav .nav-link {
    display: flex;
    align-items: center;
    padding: 12px 20px;
    color: rgba(255, 255, 255, 0.8);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 6px;
    font-size: 0.95rem;
    font-weight: 500;
    background-color: transparent;
    border: none;
    overflow: hidden;
    margin: 0 8px;
}

/* 导航链接中的文本部分 */
.sidebar-nav .nav-link span {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    opacity: 1;
    transform: translateX(0);
    white-space: nowrap;
    margin-left: 10px;
    font-weight: 500;
}

.sidebar-nav .nav-link:hover {
    background-color: rgba(0, 102, 204, 0.8);
    color: #ffffff;
    transform: translateX(2px);
}

.sidebar-nav .nav-link.active {
    background-color: var(--primary-color);
    color: #ffffff;
    border-left: 0;
    border-right: 3px solid #ffffff;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.3);
}

.sidebar-nav .nav-link i {
    margin-right: 10px;
    font-size: 1rem;
    width: 20px;
    text-align: center;
    color: rgba(255, 255, 255, 0.8);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
}

.sidebar-nav .nav-link:hover i,
.sidebar-nav .nav-link.active i {
    color: #ffffff;
}

/* 侧边栏收放状态下的导航链接样式 */
.saas-sidebar.collapsed .sidebar-nav .nav-link {
    padding: 12px 5px;
    justify-content: center;
    text-align: center;
    font-size: 0;
}

/* 收缩状态下的图标样式 */
.saas-sidebar.collapsed .sidebar-nav .nav-link i {
    margin-right: 0;
    font-size: 1.3rem;
    display: inline-block;
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 1;
}

/* 收缩状态下的激活导航项 */
.saas-sidebar.collapsed .sidebar-nav .nav-link.active {
    border-left: 0;
    border-right: 3px solid #ffffff;
}

/* 确保收放按钮在所有状态下都能正常点击 */
.sidebar-toggle {
    pointer-events: all !important;
    cursor: pointer !important;
}

/* 优化收缩状态下的导航项间距 */
.saas-sidebar.collapsed .nav-item {
    margin-bottom: 8px;
}

/* 优化收缩状态下的导航链接悬停效果 */
.saas-sidebar.collapsed .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.15);
    transform: scale(1.05);
}

/* 确保侧边栏内部收放按钮在所有状态下都显示 */
.saas-sidebar .sidebar-toggle {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* 右侧内容容器 */
.right-content-container {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 0 !important;
    width: calc(100% - 250px) !important;
    margin-left: 250px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-sizing: border-box;
    padding: 0;
    opacity: 1 !important;
    z-index: 1 !important;
}

/* 侧边栏折叠状态下的右侧内容容器 */
.saas-sidebar.collapsed ~ .right-content-container {
    flex: 1 1 0 !important;
    width: calc(100% - 65px) !important;
    margin-left: 65px;
}

/* 侧边栏隐藏状态下的右侧内容容器 */
.saas-sidebar[style*="display: none"] ~ .right-content-container {
    width: 100% !important;
    margin-left: 0 !important;
}

.sidebar-nav .nav {
    display: none;
}

.sidebar-nav .nav-item {
    display: none;
}

.sidebar-nav .nav-link {
    display: none;
}

.sidebar-nav .nav-link span {
    display: none;
}

.sidebar-nav .nav-link:hover {
    display: none;
}

.sidebar-nav .nav-link.active {
    display: none;
}

.sidebar-nav .nav-link i {
    display: none;
}

.sidebar-nav .nav-link:hover i,
.sidebar-nav .nav-link.active i {
    display: none;
}

.saas-sidebar.collapsed .sidebar-nav .nav-link {
    display: none;
}

.saas-sidebar.collapsed .sidebar-nav .nav-link i {
    display: none;
}

.saas-sidebar.collapsed .sidebar-nav .nav-link.active {
    border-left: 0;
    border-right: 3px solid #ffffff;
}

/* 确保收放按钮在所有状态下都能正常点击 */
.sidebar-toggle {
    pointer-events: all !important;
    cursor: pointer !important;
}

/* 优化收缩状态下的导航项间距 */
.saas-sidebar.collapsed .nav-item {
    margin-bottom: 8px;
}

/* 优化收缩状态下的导航链接悬停效果 */
.saas-sidebar.collapsed .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.15);
    transform: scale(1.05);
}

/* 确保侧边栏内部收放按钮在所有状态下都显示 */
.saas-sidebar .sidebar-toggle {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* 右侧内容容器 */
.right-content-container {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 0 !important;
    width: calc(100% - 250px) !important;
    margin-left: 250px;
    overflow: hidden;
    transition: all 0.3s ease;
    box-sizing: border-box;
    padding: 0;
    opacity: 1 !important;
    z-index: 1 !important;
}

/* 侧边栏折叠状态下的右侧内容容器 */
.saas-sidebar.collapsed ~ .right-content-container {
    flex: 1 1 0 !important;
    width: calc(100% - 65px) !important;
    margin-left: 65px;
}

/* 侧边栏隐藏状态下的右侧内容容器 */
.saas-sidebar[style*="display: none"] ~ .right-content-container {
    width: 100% !important;
    margin-left: 0 !important;
}

/* 右侧主内容区 */
.saas-main-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 0 !important;
    transition: all 0.3s ease;
    overflow: hidden;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    opacity: 1 !important;
    z-index: 1 !important;
}

/* 修复移动端布局 */
@media (max-width: 992px) {
    /* 调整小屏模式下的布局，让主工作区可以滚动 */
    .saas-main-frame {
        height: 100vh;
        overflow: hidden;
    }
    
    /* 侧边栏隐藏状态下的右侧内容容器 */
    .saas-sidebar[style*="display: none"] ~ .right-content-container {
        width: 100% !important;
        margin-left: 0 !important;
    }
    
    .right-content-container {
        height: auto;
        overflow: visible;
    }
    
    /* 移除小屏模式下的固定高度限制，使用flex布局 */
    .saas-main-content {
        height: auto;
        min-height: auto;
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
}

/* 顶部导航栏 */
.saas-header {
    background-color: var(--white-color);
    box-shadow: var(--shadow-sm);
    z-index: 90;
    position: fixed;
    top: 0;
    right: 0;
    left: 250px;
    height: 60px;
    display: flex;
    align-items: center;
    padding: 0 var(--spacing-sm);
    transition: all 0.3s ease;
}

/* 侧边栏折叠状态下的顶部导航栏 */
.saas-sidebar.collapsed ~ .right-content-container .saas-header {
    left: 0;
}

.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    flex-wrap: nowrap;
    width: 100%;
    box-sizing: border-box;
}

/* 确保page-title和header-collapsible-container内的元素垂直对齐 */
.page-title,
.header-collapsible-container {
    display: flex;
    align-items: center;
    align-content: center;
    margin: 0;
    padding: 0;
}

/* 确保header-collapsible-container内的div没有多余的间距 */
.header-collapsible-container > div {
    margin-bottom: 0;
    display: flex;
    align-items: center;
    align-content: center;
}

/* 移除header-collapsible-container内的额外缩进 */
.header-collapsible-container {
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}

/* 确保.header-collapsible-container在宽屏模式下内容排列在一行 */
.header-collapsible-container {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    margin-left: auto;
}

.page-title {
    display: flex;
    align-items: center;
    margin-right: 20px;
}

.header-logo {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header-logo-image {
    height: 32px;
    width: auto;
    object-fit: contain;
}

.header-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.3;
    letter-spacing: 0.5px;
}

.page-title h5 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
    line-height: 1.3;
    display: flex;
    align-items: center;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 0 0 auto;
    margin-left: auto;
}

/* 确保header-actions中的nav-item水平排列 */
.header-actions .nav-item {
    display: inline-flex;
    margin-right: 8px;
    margin-bottom: 0;
}

/* 调整移动端头部元素间距 */
@media (max-width: 768px) {
    /* 调整去报名按钮大小，适应移动端 */
    #goToRegistrationBtn {
        font-size: 0.8rem;
        padding: 6px 10px;
        margin-right: 8px !important;
    }
    
    /* 调整logo尺寸 */
    .logo-image {
        height: 32px !important;
    }
    
    .logo-image .logo-horizontal {
        height: 32px !important;
    }
    
    .logo-text h4 {
        font-size: 0.9rem !important;
    }
    
    /* 移动端header-actions居中显示 */
    .header-actions {
        margin-left: 0;
        width: 100%;
        justify-content: center;
        order: 2;
        display: flex !important;
    }
    
    /* 调整通知和个人中心图标的大小和间距 */
    .notification-dropdown .nav-link,
    .user-avatar-dropdown .nav-link {
        padding: 6px;
        width: 32px;
        height: 32px;
    }
    
    .user-avatar {
        width: 32px;
        height: 32px;
    }
    
    .avatar-icon {
        font-size: 1rem;
    }
    
    /* 移动端下拉菜单向下展开，不超出屏幕 */
    .dropdown-menu {
        position: fixed !important;
        top: auto !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        right: auto !important;
        min-width: 200px !important;
        max-width: calc(100vw - 32px) !important;
        z-index: 9999 !important;
    }
    
    /* 用户下拉菜单在移动端向下展开 */
    .user-avatar-dropdown .dropdown-menu {
        top: 100% !important;
        margin-top: 8px !important;
    }
    
    /* 调整考次选择器按钮大小 */
    .exam-selector-dropdown .dropdown-toggle {
        font-size: 0.8rem;
        padding: 8px 12px;
        height: 36px;
    }
    
    /* 调整状态切换控件大小 */
    .exam-status-switch .current-status-display {
        padding: 6px 10px;
        font-size: 0.8rem;
    }
    
    /* 调整移动端通知徽章位置 */
    .notification-dropdown .notification-badge {
        top: 1px;
        right: 1px;
        font-size: 0.65rem;
        min-width: 16px;
        padding: 1px 5px;
    }
}

/* 顶部导航区按钮样式 - 按照UI.MD规范 */
#goToRegistrationBtn {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    border-radius: 4px;
    font-size: 14px;
    font-weight: 400;
    padding: 6px 16px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    outline: none !important;
    box-shadow: none !important;
}

#goToRegistrationBtn:hover {
    background-color: var(--primary-light);
    border-color: var(--primary-light);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(22, 93, 255, 0.3);
    outline: none !important;
}

#goToRegistrationBtn:active {
    background-color: var(--primary-dark);
    border-color: var(--primary-dark);
    transform: translateY(0);
    outline: none !important;
}

#goToRegistrationBtn:focus {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    outline: 2px solid var(--primary-color) !important;
    outline-offset: 2px !important;
    box-shadow: none !important;
}

/* 顶部导航区图标样式 - 按照UI.MD规范（线性极简图标，24×24px） */
.notification-dropdown .nav-link,
.user-avatar-dropdown .nav-link {
    width: 36px;
    height: 36px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
    transition: all 0.3s ease;
    outline: none !important;
    box-shadow: none !important;
}

.notification-dropdown .nav-link:hover,
.notification-dropdown .nav-link:focus,
.user-avatar-dropdown .nav-link:hover,
.user-avatar-dropdown .nav-link:focus {
    background-color: var(--light-color);
    color: var(--primary-color);
    outline: none !important;
    box-shadow: none !important;
}

.notification-dropdown .nav-link:focus-within,
.user-avatar-dropdown .nav-link:focus-within {
    outline: none !important;
    box-shadow: none !important;
}

/* 图标大小统一为24×24px */
.notification-dropdown .nav-link i,
.user-avatar-dropdown .nav-link i,
.avatar-icon {
    font-size: 24px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 通知徽章样式 - 按照UI.MD规范 */
.notification-dropdown .notification-badge {
    position: absolute;
    top: 0;
    right: 0;
    background-color: var(--danger-color);
    color: var(--white-color);
    font-size: 12px;
    font-weight: 400;
    padding: 2px 6px;
    border-radius: 10px;
    min-width: 18px;
    height: 18px;
    text-align: center;
    line-height: 14px;
    box-shadow: 0 2px 4px rgba(245, 63, 63, 0.3);
    z-index: 10;
}

/* 用户头像样式 - 按照UI.MD规范 */
.user-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: transparent;
    color: var(--text-color);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    outline: none !important;
    box-shadow: none !important;
}

.user-avatar:hover,
.user-avatar:focus {
    background-color: transparent;
    color: var(--primary-color);
    outline: none !important;
    box-shadow: none !important;
}

/* 隐藏Bootstrap默认下拉箭头 */
.user-avatar-dropdown .dropdown-toggle::after {
    display: none !important;
}

/* 用户下拉菜单样式 - 按照UI.MD规范 */
.user-avatar-dropdown .dropdown-menu {
    border: 1px solid var(--border-color);
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    padding: 8px 0;
    min-width: 160px;
}

.user-avatar-dropdown .dropdown-item {
    font-size: 14px;
    font-weight: 400;
    color: var(--text-primary);
    padding: 8px 16px;
    transition: all 0.2s ease;
}

.user-avatar-dropdown .dropdown-item:hover {
    background-color: var(--light-color);
    color: var(--primary-color);
}

.user-avatar-dropdown .dropdown-divider {
    margin: 8px 0;
    border-color: var(--border-color);
}

/* 隐藏考次选择器的Bootstrap默认下拉箭头 */
.exam-selector-dropdown .dropdown-toggle::after {
    display: none !important;
}

/* 考试选择器样式优化 */
.exam-selector-dropdown {
    position: relative;
}

.exam-selector-dropdown .dropdown-toggle {
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 0.875rem;
    height: 36px;
    min-height: 36px;
    outline: none !important;
    box-shadow: none !important;
}

.exam-selector-dropdown .dropdown-menu {
    border-radius: 8px;
    box-shadow: var(--shadow-md);
    border: none;
    z-index: 110;
}

/* 优化项目选择器下拉菜单 */
#examDropdown {
    background-color: transparent; /* 移除背景色 */
    border: none; /* 移除边框 */
    color: var(--text-primary);
    transition: all 0.3s ease;
    outline: none !important;
    box-shadow: none !important;
}

#examDropdown:hover {
    background-color: var(--primary-color);
    border: none; /* 悬停时也移除边框 */
    color: var(--white-color);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.3) !important;
}

#examDropdown:focus, #examDropdown:focus-within {
    outline: none !important;
    box-shadow: none !important;
    border: none; /* 聚焦时也移除边框 */
}

/* 优化搜索框样式 */
.search-box input {
    padding-right: 30px;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    font-size: 0.85rem;
    width: 250px;
    transition: all 0.3s ease;
    height: 36px;
}

.search-box input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(13, 71, 161, 0.25);
    width: 300px;
}

/* 搜索框样式 */
.search-box {
    position: relative;
    margin-right: 15px;
    display: flex;
    align-items: center;
}

.search-toggle-container {
    display: flex;
    align-items: center;
    gap: 8px;
}

.search-box input {
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    font-size: 0.9rem;
    width: 0;
    opacity: 0;
    transition: all 0.3s ease;
    height: 36px;
}

.search-box input.show {
    width: 250px;
    opacity: 1;
}

.search-box input:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.2rem rgba(13, 71, 161, 0.25);
    width: 300px;
}

/* 搜索切换按钮 */
.search-toggle-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 6px;
    background-color: var(--primary-color);
    color: white;
    border: none;
    transition: all 0.3s ease;
}

.search-toggle-btn:hover {
    background-color: var(--primary-light);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.3);
    color: white;
}

.search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--gray-color);
    pointer-events: none;
}



.notification-item {
    display: flex;
    align-items: flex-start;
}

.notification-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    flex-shrink: 0;
}

.notification-content {
    flex: 1;
}

.notification-title {
    font-weight: 600;
    font-size: 0.9rem;
    margin-bottom: 2px;
}

.notification-text {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 2px;
}

.notification-time {
    font-size: 0.75rem;
    color: var(--text-light);
}

/* 主仪表盘样式 - 确保在页脚上方显示 */
.main-dashboard {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 0 !important;
    overflow-y: hidden;
    padding: var(--spacing-sm);
    background-color: var(--lighter-gray);
    box-sizing: border-box;
    min-height: calc(100vh - 60px);
    margin-top: 60px;
    border-radius: 0;
    border: none;
    position: relative;
    opacity: 1 !important;
    z-index: 1 !important;
}

/* 侧边栏折叠状态下的主仪表盘 */
.saas-sidebar.collapsed ~ .right-content-container .main-dashboard {
    flex: 1 1 0 !important;
}

/* 侧边栏隐藏状态下的仪表盘容器 */
.saas-sidebar[style*="display: none"] ~ .right-content-container .main-dashboard {
    width: 100% !important;
}

/* 确保dashboardContainer在main-dashboard内正确显示 */
#dashboardContainer {
    flex: 1 1 auto !important;
    min-height: calc(100vh - 60px);
    height: 100% !important;
    display: flex !important;
    overflow: hidden !important;
    background-color: var(--lighter-gray);
    opacity: 1 !important;
    z-index: 1 !important;
    box-sizing: border-box;
    padding: 0;
    min-width: 0 !important;
}


/* 仪表盘卡片样式 */
.dashboard-cards {
    margin-bottom: var(--spacing-md);
}

.dashboard-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--white-color);
    border-radius: var(--border-radius);
    padding: var(--spacing-md);
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    margin-bottom: var(--spacing-sm);
    min-height: 120px;
}

.dashboard-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.dashboard-card .card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.dashboard-card .card-value {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 12px;
}

.dashboard-card .card-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.dashboard-card .card-title {
    font-size: 14px;
    color: var(--text-secondary);
}

.dashboard-card .card-trend {
    font-size: 12px;
    display: flex;
    align-items: center;
}

.dashboard-card .card-icon {
    font-size: 14px;
    color: var(--primary-color);
    opacity: 0.8;
}

/* 快速操作入口样式 */
.quick-actions {
    margin-bottom: var(--spacing-md);
}

.quick-actions .card {
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
    border: none;
}

.quick-actions .card-header {
    background-color: var(--white-color);
    border-bottom: 1px solid var(--border-color);
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    padding: var(--spacing-sm) var(--spacing-sm);
}

.quick-actions .card-header h5 {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
}

.quick-actions .card-body {
    padding: var(--spacing-sm);
}

.quick-action-item {
    display: flex;
    align-items: center;
    padding: var(--spacing-sm);
    background-color: var(--lighter-gray);
    border-radius: var(--border-radius);
    transition: var(--transition);
    text-decoration: none;
    color: var(--text-primary);
    margin-bottom: var(--spacing-sm);
}

.quick-action-item:hover {
    background-color: var(--primary-color);
    color: var(--white-color);
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.quick-action-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--primary-color);
    color: var(--white-color);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: var(--spacing-sm);
    flex-shrink: 0;
}

.quick-action-item:hover .quick-action-icon {
    background-color: var(--white-color);
    color: var(--primary-color);
}

.quick-action-content .quick-action-title {
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 3px;
}

.quick-action-content .quick-action-text {
    font-size: 12px;
    color: var(--text-secondary);
}

.quick-action-item:hover .quick-action-text {
    color: rgba(255, 255, 255, 0.8);
}

/* 中间内容区样式 */
.middle-content {
    margin-bottom: var(--spacing-md);
}

.middle-content .card {
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
    border: none;
    margin-bottom: var(--spacing-sm);
}

.middle-content .card-header {
    background-color: var(--white-color);
    border-bottom: 1px solid var(--border-color);
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    padding: var(--spacing-sm) var(--spacing-sm);
}

.middle-content .card-header h5 {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
}

.middle-content .card-body {
    padding: var(--spacing-sm);
}

/* 近期项目列表样式 */
.recent-projects {
    max-height: 500px;
    overflow-y: auto;
}

.project-item {
    background-color: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: var(--spacing-sm);
    margin-bottom: var(--spacing-sm);
    transition: var(--transition);
}

.project-item:hover {
    box-shadow: var(--shadow-sm);
    transform: translateY(-2px);
}

.project-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.project-name {
    font-weight: 500;
    font-size: 14px;
    color: var(--text-primary);
}

.project-status {
    font-size: 12px;
    padding: 3px 8px;
    border-radius: 12px;
    font-weight: 500;
}

.project-info {
    margin-bottom: var(--spacing-sm);
}

.project-date {
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 10px;
}

.project-date i {
    margin-right: 5px;
    color: var(--primary-color);
}

.project-progress .progress {
    height: 6px;
    border-radius: 3px;
    background-color: var(--lighter-gray);
}

.project-progress .progress-bar {
    border-radius: 3px;
}

.project-actions {
    display: flex;
    justify-content: flex-end;
}

.project-actions .btn {
    font-size: 12px;
    padding: 6px 12px;
    border-radius: var(--border-radius);
}

/* 实时动态样式 */
.bottom-content .card {
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
    border: none;
}

.bottom-content .card-header {
    background-color: var(--white-color);
    border-bottom: 1px solid var(--border-color);
    border-radius: var(--border-radius) var(--border-radius) 0 0;
    padding: var(--spacing-sm) var(--spacing-sm);
}

.bottom-content .card-header h5 {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-primary);
}

.bottom-content .card-body {
    padding: var(--spacing-sm);
}

.activity-feed {
    max-height: 300px;
    overflow-y: auto;
}

.activity-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: var(--spacing-sm);
    padding-bottom: var(--spacing-sm);
    border-bottom: 1px solid var(--lighter-gray);
}

.activity-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.activity-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--primary-color);
    color: var(--white-color);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: var(--spacing-sm);
    flex-shrink: 0;
}

.activity-content {
    flex: 1;
}

.activity-title {
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 3px;
    color: var(--text-primary);
}

.activity-text {
    font-size: 12px;
    color: var(--text-secondary);
    margin-bottom: 5px;
}

.activity-time {
    font-size: 12px;
    color: var(--text-light);
}

/* 响应式设计 */
@media (max-width: 1200px) {
    .saas-sidebar {
        width: 220px;
    }
    
    .search-box input {
        width: 200px;
    }
    
    .search-box input:focus {
        width: 250px;
    }
}

@media (max-width: 992px) {
    .saas-main-frame {
        flex-direction: column;
        overflow: hidden;
    }

/* 侧边栏隐藏状态下的右侧内容容器 */
.saas-sidebar[style*="display: none"] ~ .right-content-container {
    width: 100% !important;
    margin-left: 0 !important;
}

/* 右侧主内容区 */
.saas-main-content {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 0 !important;
    transition: all 0.3s ease;
    overflow: hidden;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    opacity: 1 !important;
    z-index: 1 !important;
}

/* 修复移动端布局 */
@media (max-width: 992px) {
    /* 调整小屏模式下的布局，让主工作区可以滚动 */
    .saas-main-frame {
        height: 100vh;
        overflow: hidden;
    }
    
    /* 侧边栏隐藏状态下的右侧内容容器 */
    .saas-sidebar[style*="display: none"] ~ .right-content-container {
        width: 100% !important;
        margin-left: 0 !important;
    }
    
    .right-content-container {
        height: auto;
        overflow: visible;
    }
    
    /* 移除小屏模式下的固定高度限制，使用flex布局 */
    .saas-main-content {
        height: auto;
        min-height: auto;
        flex: 1;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }
}

/* 确保页脚在小屏模式下跟随内容 */
.footer {
    position: relative;
    margin-top: auto;
    height: 40px;
    min-height: 30px;
}

@media (max-width: 992px) {
    .page-title {
        flex-wrap: wrap;
        display: flex;
        align-items: center;
    }
    
    /* 侧边栏隐藏状态下的仪表盘容器 */
.saas-sidebar[style*="display: none"] ~ .right-content-container .main-dashboard {
    width: 100% !important;
}
    
    /* 考次切换控件优先显示，位于第二行 */
    .exam-selector-dropdown {
        margin-bottom: 8px;
        margin-right: 0 !important;
        width: 100%;
        order: 2;
        flex: 1 0 100%;
    }
    
    /* 状态切换控件 */
    .exam-status-switch {
        margin-bottom: 0;
        margin-right: 8px !important;
        order: 2;
    }
}

@media (max-width: 768px) {
    .header-content {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }
    
    .page-title {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px;
        align-items: center;
        flex: 0 1 auto;
        justify-content: center;
        min-width: 0;
    }
    
    /* 考次切换控件在同一行显示，允许收缩 */
    .exam-selector-dropdown {
        margin-bottom: 0;
        margin-right: 8px !important;
        width: auto;
        order: 2;
        flex: 1 1 auto;
        min-width: 100px;
    }
    
    /* 状态切换控件默认隐藏，放入可折叠容器 */
    .exam-status-switch {
        display: none;
    }
    
    /* 确保考次ID默认隐藏，放入可折叠容器 */
    .page-title h5 {
        display: none;
    }
    
    /* 头部操作区在移动端显示 */
    .header-actions {
        display: flex;
        margin-left: 0;
        width: 100%;
        justify-content: center;
        order: 2;
        flex: 0 0 auto;
    }
    
    /* 确保个人中心和通知图标可见 */
    .notification-dropdown,
    .user-avatar-dropdown {
        display: flex !important;
    }
    
    /* 可折叠容器在移动端默认折叠，只有在不折叠时才显示 */
    .header-collapsible-container {
        visibility: hidden;
        width: 100%;
        order: 100;
        flex-direction: column;
        align-items: flex-start;
        background-color: var(--white-color);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        padding: 10px;
        margin-top: 10px;
        border-radius: 8px;
        position: relative;
        z-index: 100;
        flex-basis: 100%;
        height: 0;
        overflow: hidden;
    }
    
    .header-collapsible-container:not(.collapsed) {
        visibility: visible;
        height: auto;
        overflow: visible;
    }
    
    /* 移动端header-actions始终显示，不受折叠容器影响 */
    .header-collapsible-container .header-actions {
        visibility: visible !important;
        display: flex !important;
        position: fixed;
        top: 10px;
        right: 10px;
        width: auto;
        margin: 0;
        padding: 0;
        box-shadow: none;
        background: transparent;
        z-index: 1000;
        height: auto;
        overflow: visible;
    }
    
    /* 移动端下拉菜单z-index更高，确保能显示 */
    .user-avatar-dropdown .dropdown-menu {
        z-index: 10000 !important;
        position: fixed !important;
        top: 50px !important;
        right: 10px !important;
        left: auto !important;
        transform: none !important;
        min-width: 200px !important;
        max-width: calc(100vw - 32px) !important;
    }
    
    /* 移动端更多操作按钮隐藏 */
    #mobileHeaderToggle {
        display: none !important;
    }
    
    /* 移动端可折叠容器内部元素垂直排列 */
    .header-collapsible-container > div {
        width: 100%;
        margin-bottom: 10px;
    }
    
    /* 统一右下角悬浮按钮样式 */
    .toggle-workspace-btn,
    .function-map-floating-btn {
        bottom: 80px !important;
        right: 15px !important;
        width: 50px !important;
        height: 50px !important;
        font-size: 1.3rem !important;
    }
    
    /* 调整工作区按钮位置，确保与功能地图按钮垂直对齐 */
    .toggle-workspace-btn {
        bottom: 145px !important; /* 功能地图按钮bottom(80px) + 按钮高度(50px) + 间距(15px) */
    }
    
    /* 侧边菜单按钮 */
    .sidebar-toggle-mobile {
        order: 1;
    }
    
    /* 搜索框样式调整 */
    .search-box {
        margin-right: 8px;
    }
    
    .search-box input {
        width: 150px;
    }
    
    .search-box input.show {
        width: 150px;
    }
    
    .search-box input:focus {
        width: 180px;
    }
    
    .dashboard-card {
        flex-direction: column;
        text-align: center;
    }
    
    .dashboard-card .card-icon {
        margin-left: 0;
        margin-top: 15px;
    }
    
    .quick-action-item {
        flex-direction: column;
        text-align: center;
    }
    
    .quick-action-icon {
        margin-right: 0;
        margin-bottom: 10px;
    }
    
    .activity-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    
    .activity-icon {
        margin-right: 0;
        margin-bottom: 10px;
    }
    
    /* 优化功能卡片在小屏幕上的显示 */
    #prePublishContainer,
    #registrationContainer,
    #preExamContainer,
    #postExamContainer,
    .function-cards-container {
        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)) !important;
        gap: 10px !important;
        padding: 10px !important;
    }
    
    .function-card {
        padding: 15px 10px !important;
        height: auto !important;
        min-height: 100px !important;
    }
    
    .function-name {
        font-size: 0.8rem !important;
    }
    
    .function-icon {
        font-size: 1.2rem !important;
    }
}

/* 页面头部样式 */
.header {
    background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    color: var(--white-color);
    padding: 2rem 0;
    border-radius: 0 0 20px 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.header h1 {
    font-size: 1.8rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.header p {
    font-size: 1rem;
    opacity: 0.9;
}

/* 卡片样式优化 */
.card {
    border: none;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
    overflow: hidden;
}

/* 考试流程卡片特殊样式，允许悬停弹窗显示 */
.card.exam-flow-card {
    overflow: visible !important;
}

.card.exam-flow-card .card-body {
    overflow: visible;
}

.card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.card-header {
    background-color: var(--white-color);
    border-bottom: none;
    font-weight: 600;
    padding: 0.75rem 1rem;
    border-radius: 8px 8px 0 0 !important;
}

.card-body {
    padding: 1rem;
}

/* 步骤指示器样式 */
.step-indicator {
    display: flex;
    justify-content: space-between;
    margin: 2rem 0 1.5rem 0;
    position: relative;
}

.step-indicator::before {
    content: '';
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    height: 4px;
    background-color: var(--light-gray);
    z-index: 1;
}

.step {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
    flex: 1;
}

.step-circle {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--light-gray);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
    font-weight: bold;
    color: var(--gray-color);
    border: 3px solid var(--white-color);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.step.active .step-circle {
    background-color: var(--primary-color);
    color: var(--white-color);
    transform: scale(1.1);
}

.step.completed .step-circle {
    background-color: var(--success-color);
    color: var(--white-color);
}

.step-label {
    font-size: 0.875rem;
    color: var(--gray-color);
    text-align: center;
    max-width: 80px;
}

.step.active .step-label,
.step.completed .step-label {
    color: var(--dark-color);
    font-weight: 500;
}

/* 文件上传区域样式 */
.upload-area {
    border: 2px dashed var(--light-gray);
    border-radius: 8px;
    padding: 2rem;
    text-align: center;
    background-color: #fdfdfd;
    transition: all 0.3s ease;
    cursor: pointer;
}

.upload-area:hover {
    border-color: var(--primary-color);
    background-color: var(--light-color);
}

.upload-area.dragover {
    border-color: var(--success-color);
    background-color: rgba(40, 167, 69, 0.1);
}

.upload-icon {
    font-size: 3rem;
    color: var(--primary-color);
    margin-bottom: 1rem;
    opacity: 0.7;
}

/* 文件列表样式 */
.file-list {
    margin-top: 1.5rem;
}

.file-item {
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
    background-color: var(--white-color);
    border-radius: 6px;
    margin-bottom: 0.75rem;
    border: 1px solid var(--light-gray);
    transition: all 0.2s ease;
}

.file-item:hover {
    background-color: #f8f9fa;
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.file-icon {
    font-size: 1.5rem;
    margin-right: 0.75rem;
    color: var(--primary-color);
}

.file-placeholder {
    min-height: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 1rem;
    border: 1px solid var(--light-gray);
    border-radius: 6px;
    background-color: #f8f9fa;
    transition: all 0.3s ease;
}

.file-placeholder:hover {
    background-color: #e9ecef;
}

/* 按钮样式优化 */
.btn {
    transition: all 0.3s ease;
    border-radius: 6px;
    font-weight: 500;
}

.btn-primary {
    background-color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

.btn-primary:hover {
    background-color: var(--primary-light);
    border-color: var(--primary-light);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

/* 黄色按钮样式，用于确认操作 */
.yellow {
    background-color: #ffc107;
    border-color: #ffc107;
    color: #212529;
    font-weight: 500;
}

.yellow:hover {
    background-color: #ffca2c;
    border-color: #ffc720;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3);
}

#startParseBtn {
    transition: all 0.3s ease;
}

#startParseBtn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

/* 配置按钮网格样式 */
.config-buttons-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 15px;
    margin-bottom: 30px;
}

.config-button {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 20px 15px;
    text-align: center;
    transition: all 0.3s ease;
    cursor: pointer;
    height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.config-button:hover {
    background-color: #e9ecef;
    border-color: #adb5bd;
    transform: translateY(-3px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.config-button i {
    color: var(--primary-color);
    margin-bottom: 10px;
    font-size: 1.5rem;
}

/* 提示信息样式 */
.file-hint-container {
    padding: 2rem 1rem;
    border-radius: 8px;
    background-color: #f8fafc;
    border: 1px dashed #e2e8f0;
    text-align: center;
}

.file-empty-icon {
    opacity: 0.3;
    transition: opacity 0.3s ease;
    font-size: 3rem;
    margin-bottom: 1rem;
}

.coffee-message {
    text-align: center;
    padding: 1rem;
    background-color: #fffbeb;
    border-radius: 8px;
    margin: 1.5rem 0;
    border-left: 4px solid var(--warning-color);
}

/* 进度指示器样式增强 */
.progress-container {
    margin: 1.5rem 0;
    padding: 1rem;
    background-color: var(--white-color);
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* 登录模态框样式 */
#loginModal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    justify-content: center;
    align-items: center;
    backdrop-filter: blur(5px);
}

.login-modal-content {
    background-color: var(--white-color);
    border-radius: 12px;
    width: 90%;
    max-width: 400px;
    padding: 2rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    text-align: center;
    animation: fadeIn 0.3s ease-out;
}

/* 登录方式选项卡样式 */
.login-tabs {
    display: flex;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--light-gray);
}

.login-tab {
    flex: 1;
    padding: 10px 0;
    text-align: center;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    transition: all 0.3s ease;
    font-weight: 500;
    color: var(--text-secondary);
}

.login-tab.active {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
    background-color: #f8f9fa;
}

.login-tab:hover {
    color: var(--primary-color);
    background-color: #f8f9fa;
}

/* 登录面板样式 */
.login-panel {
    display: none;
}

.login-panel.active {
    display: block;
}

/* 二维码登录面板样式 */
#qrcodeLoginPanel {
    text-align: center;
}

.qrcode-container {
    background-color: var(--white-color);
    padding: 1rem;
    display: inline-block;
    margin: 1.5rem 0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    min-height: 188px;
    min-width: 188px;
}

/* 邮件登录表单样式 */
#emailLoginForm {
    margin: 0 auto;
}

/* 邮件验证码倒计时样式 */
#emailVcodeCountdown {
    font-size: 12px;
    color: var(--danger-color);
}

.login-actions {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

/* 结果模态框样式 */
.result-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1050;
    backdrop-filter: blur(5px);
}

.result-modal {
    background-color: var(--white-color);
    border-radius: 8px;
    width: 90%;
    max-width: 600px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    animation: fadeIn 0.3s ease-out;
}

.result-modal .modal-header {
    padding: 1.25rem;
    border-bottom: 1px solid var(--light-gray);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.result-modal .modal-body {
    padding: 1.25rem;
}

.result-modal .modal-footer {
    padding: 1rem 1.25rem;
    border-top: 1px solid var(--light-gray);
    text-align: right;
}

/* URL项目样式 */
.url-item {
    margin-bottom: 1rem;
}

.url-item label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: var(--dark-color);
}

.url-actions {
    display: flex;
    gap: 0.75rem;
}

.url-actions input {
    flex: 1;
    padding: 0.5rem 0.75rem;
    border: 1px solid #ced4da;
    border-radius: 4px;
}

.url-actions button {
    padding: 0.5rem 1rem;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-weight: 500;
}

.copy-btn {
    background-color: var(--gray-color);
    color: var(--white-color);
}

.copy-btn:hover, .copy-btn.copied {
    background-color: #5a6268;
}

.open-btn {
    background-color: var(--success-color);
    color: var(--white-color);
}

.open-btn:hover {
    background-color: #218838;
}

/* 表单样式 */
.form-check {
    transition: background-color 0.2s ease;
    padding: 0.5rem 2rem;
    margin-left: 1rem;
    border-radius: 6px;
    margin-bottom: 0.5rem;
    cursor: pointer;
}

.form-check:hover {
    background-color: #f1f5f9;
}

.form-check-input {
    margin-top: 0.3rem;
    margin-right: 0.75rem;
}

.form-check-label {
    cursor: pointer;
    padding-left: 0.25rem;
}

/* 预览区域样式 */
.preview-section {
    margin-top: 1.5rem;
}

.preview-tabs {
    display: flex;
    border-bottom: 1px solid var(--light-gray);
    margin-bottom: 1.5rem;
}

.preview-tab {
    padding: 0.75rem 1.5rem;
    background: none;
    border: none;
    cursor: pointer;
    font-weight: 500;
    color: var(--gray-color);
    border-bottom: 3px solid transparent;
    transition: all 0.3s ease;
}

.preview-tab:hover {
    color: var(--primary-color);
    background-color: #f8f9fa;
}

.preview-tab.active {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
    background-color: var(--white-color);
}

/* 动画效果 */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: scale(0.95);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

.animate-fade-in {
    animation: fadeIn 0.3s ease-out;
}

.animate-slide-in {
    animation: slideIn 0.3s ease-out;
}

/* 页脚样式 */
.footer {
    text-align: center;
    padding: 0.75rem 0;
    margin-top: auto;
    color: var(--text-secondary);
    border-top: 1px solid var(--light-gray);
    background-color: var(--white-color);
    font-size: 0.875rem;
    width: 100%;
    box-sizing: border-box;
    z-index: 10;
    box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.05);
    display: block !important; /* 确保footer显示 */
    opacity: 1 !important; /* 确保footer不透明 */
    visibility: visible !important; /* 确保footer可见 */
    height: auto; /* 确保footer高度自适应 */
    min-height: 60px; /* 确保footer有最小高度 */
    flex-shrink: 0; /* 确保footer不会被压缩 */
    position: relative;
    overflow: hidden;
    height: 40px;
    min-height: 30px;
    display: block !important; /* 确保footer显示 */
    opacity: 1 !important; /* 确保footer不透明 */
}

/* 政务客户专用样式优化 */
.saas-main-frame {
    background-color: var(--lighter-gray);
}

/* 优化侧边栏样式 */
.saas-sidebar {
    background-color: var(--sidebar-bg-color);
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
}

.sidebar-nav .nav-link {
    border-radius: 6px;
    margin: 0 8px;
}

.sidebar-nav .nav-link.active {
    background-color: var(--primary-color);
    border-left: none;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.3);
}

/* 优化顶部导航栏样式 */
.saas-header {
    background-color: var(--white-color);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.header-actions .btn {
    border-radius: 6px;
    font-weight: 500;
}

/* 优化dashboard容器样式 */
#dashboardContainer {
    background-color: var(--lighter-gray);
    padding: 0;
    border-radius: 8px;
}

/* 功能地图样式增强 */
.function-map-modal {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2000;
}

.function-map-modal-overlay {
    background-color: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(5px);
}

.function-map-modal-content {
    border-radius: 16px;
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
    max-width: 900px;
    width: 95%;
    max-height: 90vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background-color: var(--white-color);
    animation: slideInFromTop 0.3s ease-out;
}

/* 动画效果 */
@keyframes slideInFromTop {
    from {
        opacity: 0;
        transform: translateY(-50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.function-map-modal-header {
    background-color: var(--primary-color);
    color: var(--white-color);
    padding: 20px 24px;
    border-bottom: none;
}

.function-map-modal-header h5 {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 600;
    display: flex;
    align-items: center;
}

.function-map-modal-header h5 i {
    margin-right: 10px;
    font-size: 1.4rem;
}

.function-map-modal-body {
    padding: 24px;
    overflow-y: auto;
    max-height: calc(90vh - 80px);
}

/* 功能地图阶段样式 */
.phase-section-model {
    background-color: var(--white-color);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-left: 4px solid var(--primary-color);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.phase-section-model:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

/* 阶段头部样式 */
.phase-header-model {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 8px 0;
    transition: all 0.3s ease;
}

.phase-header-model:hover {
    color: var(--primary-color);
}

.section-title-model {
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
}

.section-title-model i {
    margin-right: 12px;
    font-size: 1.2rem;
    color: var(--primary-color);
}

.phase-toggle-btn {
    transition: all 0.3s ease;
    color: var(--text-secondary);
}

.phase-toggle-btn:hover {
    color: var(--primary-color);
    transform: rotate(180deg);
}

/* 功能卡片容器样式 */
.function-cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 16px;
    padding: 16px 0;
    margin-top: 8px;
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 功能卡片样式增强 */
.function-card {
    background-color: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 20px 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    text-align: center;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.function-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--primary-color), var(--primary-light));
    transform: scaleX(0);
    transition: transform 0.3s ease;
}

.function-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    border-color: var(--primary-color);
    background-color: var(--primary-color);
    color: var(--white-color);
}

.function-card:hover::before {
    transform: scaleX(1);
}

.function-card:hover .function-icon {
    color: var(--white-color);
    transform: scale(1.2);
}

.function-card:hover .function-name {
    color: var(--white-color);
}

/* 功能图标样式 */
.function-icon {
    font-size: 1.8rem;
    color: var(--primary-color);
    margin-bottom: 12px;
    transition: all 0.3s ease;
}

/* 功能名称样式 */
.function-name {
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--text-primary);
    transition: all 0.3s ease;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 功能地图响应式设计 */
@media (max-width: 768px) {
    .function-map-modal-content {
        width: 98%;
        margin: 10px;
    }
    
    .function-cards-container {
        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
        gap: 12px;
        padding: 12px 0;
    }
    
    .function-card {
        padding: 16px 12px;
        min-height: 100px;
    }
    
    .function-icon {
        font-size: 1.5rem;
        margin-bottom: 8px;
    }
    
    .function-name {
        font-size: 0.8rem;
    }
    
    .phase-section-model {
        padding: 16px;
        margin-bottom: 16px;
    }
    
    .section-title-model {
        font-size: 1rem;
    }
}

/* 工作区管理样式优化 */
.module-workspace {
    position: absolute;
    background-color: var(--white-color);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    min-width: 400px;
    min-height: 300px;
    z-index: 1500;
}

/* 工作区显示边框的类 */
.module-workspace.show-border {
    border-color: rgba(0, 102, 204, 0.8) !important;
    box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2) !important;
}

/* 工作区拖拽时的样式 */
.module-workspace.dragging {
    cursor: move;
    opacity: 0.9;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25) !important;
    transform: scale(1.02);
    z-index: 3000;
}

/* 工作区调整大小时的样式 */
.module-workspace.resizing {
    cursor: nwse-resize;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.2) !important;
    z-index: 3000;
}

/* 工作区头部设置为拖动区域 */
.workspace-header {
    cursor: move;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    background: transparent;
    color: var(--white-color);
    border-bottom: 1px solid var(--primary-dark);
    border-radius: 12px 12px 0 0;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

/* 优化卡片样式 */
.card {
    border-radius: 12px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
}

.card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

/* 优化按钮样式 */
.btn {
    border-radius: 6px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.btn-primary {
    background-color: var(--primary-color);
    border: 1px solid var(--primary-color);
}

.btn-primary:hover {
    background-color: var(--primary-light);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
}

/* 优化表单样式 */
.form-control {
    border-radius: 6px;
    border: 1px solid var(--border-color);
    transition: all 0.3s ease;
}

.form-control:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(0, 102, 204, 0.1);
}

/* 优化通知样式 */
.notification-dropdown .nav-link {
    border-radius: 6px;
}

.notification-badge {
    background-color: var(--danger-color);
    color: var(--white-color);
    border-radius: 50%;
    font-size: 11px;
    min-width: 18px;
    padding: 2px 6px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* 优化用户头像样式 */
.user-avatar {
    background-color: transparent;
    color: var(--text-color);
    border-radius: 50%;
    transition: all 0.3s ease;
}

.user-avatar:hover {
    background-color: transparent;
    color: var(--primary-color);
    transform: translateY(-1px);
    box-shadow: none;
}

/* 优化功能卡片样式 */
.function-card {
    background-color: var(--white-color);
    border-radius: 10px;
    padding: 20px 16px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    cursor: pointer;
}

.function-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    background-color: var(--primary-color);
    color: var(--white-color);
}

.function-card:hover .function-icon {
    color: var(--white-color);
}

/* 优化考试流程样式 */
.exam-flow-container {
    background-color: var(--white-color);
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* 优化模态框样式 */
.modal-content {
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* 优化登录模态框样式 */
.login-modal-content {
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
    background-color: var(--white-color);
}

.login-tabs {
    border-bottom: 1px solid var(--light-gray);
}

.login-tab.active {
    border-bottom-color: var(--primary-color);
    color: var(--primary-color);
    font-weight: 600;
}

/* 优化文件选择模态框样式 */
#fileTypeModal .modal-content {
    border-radius: 12px;
}

/* 优化加载提示样式 */
.parsing-alert {
    background-color: var(--white-color);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

/* 移动端模态框优化 */
@media (max-width: 768px) {
    .modal-dialog {
        max-width: 100% !important;
        margin: 0 !important;
        width: 100% !important;
        padding: 0 !important;
    }
    
    .modal-dialog.modal-lg {
        max-width: 100% !important;
    }
    
    .modal-content {
        max-height: 100vh !important;
        height: 100vh !important;
        overflow-y: auto !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    .modal-body {
        max-height: calc(100vh - 120px) !important;
        overflow-y: auto !important;
        padding: 16px !important;
    }
    
    .modal-header {
        padding: 12px 16px !important;
        position: sticky;
        top: 0;
        background: white;
        z-index: 10;
    }
    
    .modal-footer {
        padding: 12px 16px !important;
        position: sticky;
        bottom: 0;
        background: white;
        z-index: 10;
    }
    
    .modal-footer .btn {
        flex: 1 0 45%;
        min-width: 100px;
    }
}

/* 优化响应式设计 */
@media (max-width: 768px) {
    .header-content {
        padding: 10px;
    }
    
    #dashboardContainer {
        padding: 0;
    }
    
    .dashboard-card {
        padding: 16px;
    }
}

/* 刷新项目概览按钮样式 */
#refreshProjectOverview:hover {
    background-color: rgba(108, 117, 125, 0.1);
    color: rgba(108, 117, 125, 1);
    cursor: pointer;
}

/* 工作区标题 */
.workspace-title {
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.workspace-title i {
    font-size: 1.1rem;
    opacity: 0.9;
}

/* 工作区内容区域 */
.workspace-content {
    padding: 16px;
    overflow: auto;
    height: calc(100% - 60px);
    background-color: var(--white-color);
}

/* 工作区调整大小手柄 */
.workspace-resize-handle {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 20px;
    height: 20px;
    cursor: nwse-resize;
    background-color: var(--primary-color);
    border-top-left-radius: 8px;
    box-shadow: -2px -2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    z-index: 10;
}

.workspace-resize-handle::after {
    content: '';
    position: absolute;
    bottom: 4px;
    right: 4px;
    width: 8px;
    height: 8px;
    border-right: 2px solid white;
    border-bottom: 2px solid white;
    opacity: 0.8;
}

.workspace-resize-handle:hover {
    background-color: var(--primary-light);
    transform: scale(1.2);
    box-shadow: -3px -3px 6px rgba(0, 0, 0, 0.15);
}

/* 工作区切换按钮样式 */
.toggle-workspace-btn {
    position: fixed;
    bottom: 80px;
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: var(--primary-color);
    color: white;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
    z-index: 1400;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.toggle-workspace-btn:hover {
    background-color: var(--primary-light);
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 102, 204, 0.4);
}

.toggle-workspace-btn:active {
    transform: translateY(-1px);
}

/* 模块数量徽章 */
.module-count-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background-color: var(--danger-color);
    color: white;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    font-size: 0.75rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

.module-count-badge:hover {
    transform: scale(1.1);
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.3);
}

/* 功能地图悬浮按钮样式 */
.function-map-floating-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: var(--success-color);
    color: white;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
    z-index: 1400;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.function-map-floating-btn:hover {
    background-color: #218838;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4);
}

.function-map-floating-btn:active {
    transform: translateY(-1px);
}

/* 工作区响应式设计 */
@media (max-width: 768px) {
    .module-workspace {
        min-width: 300px;
        min-height: 250px;
        left: 10px !important;
        right: 10px !important;
        top: 10px !important;
        bottom: 10px !important;
        width: auto !important;
        height: auto !important;
    }
    
    .workspace-header {
        padding: 10px 14px;
    }
    
    .workspace-content {
        padding: 12px;
    }
    
    .workspace-title {
        font-size: 0.9rem;
    }
    
    .workspace-actions .btn {
        font-size: 0.75rem;
        padding: 5px 10px;
    }
    
    .toggle-workspace-btn,
    .function-map-floating-btn {
        width: 50px;
        height: 50px;
        font-size: 1.3rem;
    }
    
    .toggle-workspace-btn {
        bottom: 70px;
    }
}

/* 工作区头部设置为拖动区域 */
.workspace-header {
    cursor: move;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    background-color: var(--white-color);
    border-bottom: 1px solid var(--light-gray);
    border-radius: 8px 8px 0 0;
}

/* 工作区头部操作按钮容器 */
.workspace-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* 按钮样式 */
.workspace-actions .btn {
    font-size: 0.8rem;
    padding: 4px 8px;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* 主要按钮样式 */
.workspace-actions .btn-primary {
    background-color: var(--primary-color);
    color: white;
}

.workspace-actions .btn-primary:hover {
    background-color: var(--primary-light);
}

/* 次要按钮样式 */
.workspace-actions .btn-secondary {
    background-color: var(--gray-color);
    color: white;
}

.workspace-actions .btn-secondary:hover {
    background-color: #5a6268;
}

/* 危险按钮样式 */
.workspace-actions .btn-danger {
    background-color: var(--danger-color);
    color: white;
}

.workspace-actions .btn-danger:hover {
    background-color: #c82333;
}

/* 小型按钮样式 */
.workspace-actions .btn-sm {
    font-size: 0.75rem;
    padding: 2px 6px;
}



/* 工作区关闭按钮样式 */
.close-btn {
    background: transparent;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
    color: var(--text-secondary);
    padding: 2px 6px;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.close-btn:hover {
    background-color: var(--danger-color);
    color: white;
}

/* Bootbox弹窗关闭按钮样式 */
.bootbox-close-button {
    background: transparent;
    border: none;
    outline: none;
    font-size: 18px;
    cursor: pointer;
    color: #4E5969;
    padding: 4px 8px;
    border-radius: 4px;
    transition: all 0.2s ease;
    line-height: 1;
}

.bootbox-close-button:hover {
    background-color: #F5F7FA;
    color: #1D2129;
}

.bootbox-close-button:focus {
    outline: none;
    box-shadow: none;
}

.bootbox-close-button .fa-times {
    display: inline-block;
    width: 16px;
    height: 16px;
    font-size: 16px;
}

/* 模块工作区悬浮呼出按钮样式 */
.toggle-workspace-btn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: var(--primary-color);
    color: white;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.toggle-workspace-btn:hover {
    background-color: var(--primary-light);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.toggle-workspace-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

/* 工作区显示时的按钮样式 */
.toggle-workspace-btn.active {
    background-color: var(--danger-color);
}

.toggle-workspace-btn.active:hover {
    background-color: #ef5350;
}

/* 模块数量标记样式 */
.module-count-badge {
    position: absolute;
    top: -6px;
    right: -6px;
    background-color: var(--danger-color);
    color: white;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    font-size: 0.7rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
}

/* 功能地图悬浮图标样式 */
.function-map-floating-btn {
    position: fixed;
    bottom: 90px;
    right: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: var(--info-color);
    color: white;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    opacity: 1;
    animation: fadeInUp 0.3s ease-out;
    outline: none !important;
    padding: 0;
}

.function-map-floating-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
    background-color: var(--info-color);
}

.function-map-floating-btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    background-color: var(--info-color);
}

/* 功能地图展开状态下的悬浮按钮样式 */
.function-map-floating-btn.active {
    background-color: var(--danger-color);
    color: white;
    border: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.function-map-floating-btn.active:hover {
    background-color: #ef5350;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

/* 功能地图悬浮图标动画 */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeOutDown {
    from {
        opacity: 1;
        transform: translateY(0);
    }
    to {
        opacity: 0;
        transform: translateY(20px);
    }
}

.function-map-floating-btn.fade-out {
    animation: fadeOutDown 0.3s ease-out forwards;
}

/* 响应式设计 - 已合并到上方媒体查询 */

/* 按钮激活状态下的数量标记样式 */
.toggle-workspace-btn.active .module-count-badge {
    background-color: white;
    color: var(--danger-color);
}

.footer .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.footer p {
    margin: 0;
    line-height: 1.6;
    font-weight: 400;
}

/* 移动端侧边栏切换按钮样式 */
.sidebar-toggle-mobile {
    display: none !important;
    margin-right: 10px;
    visibility: hidden !important;
    opacity: 0 !important;
}

@media (max-width: 992px) {
    /* 隐藏汉堡按钮 */
    .sidebar-toggle-mobile {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
    
    /* 调整小屏模式下的布局，让主工作区可以滚动 */
    .saas-main-frame {
        height: 100vh;
        overflow: hidden;
    }
    
    .right-content-container {
        height: 100vh;
        overflow: auto;
    }
    
    /* 移除小屏模式下的固定高度限制 */
    .saas-main-content {
        height: auto;
        min-height: calc(100vh - 50px);
    }
    
    /* 调整主仪表盘的内边距，适应小屏 */
    .main-dashboard {
        padding: 0;
    }
    
    /* 确保页脚在小屏模式下跟随内容 */
    .footer {
        position: relative;
        margin-top: auto;
    }
}

/* 手绘旅游地图风格样式 */

/* 地图背景样式 */
.main-frame {
    min-height: calc(100vh - 56px);
    background-color: #f0f5f0;
    background-image: 
        radial-gradient(#e0e8e0 1px, transparent 1px),
        radial-gradient(#e0e8e0 1px, transparent 1px);
    background-size: 20px 20px;
    background-position: 0 0, 10px 10px;
    overflow-y: auto;
}

.main-content {
    padding: 10px;
    max-width: 1400px;
    margin: 0 auto;
}

/* 考次概览卡片样式 - 简化设计 */
.overview-card {
    margin-bottom: 10px;
    background-color: rgba(255, 255, 255, 0.9);
    border: 1px solid #d0e0d0;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    overflow: hidden;
}

.overview-card .card-header {
    background-color: rgba(0, 123, 255, 0.05);
    border-bottom: 1px solid #d0e0d0;
    padding: 0.4rem 0.8rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #2c3e50;
}

.overview-card .card-body {
    padding: 0.5rem 0.8rem;
}

.overview-item {
    text-align: center;
    padding: 5px;
    border-radius: 4px;
    transition: all 0.2s ease;
}

.overview-item:hover {
    background-color: rgba(0, 123, 255, 0.05);
}

.overview-item .item-value {
    font-size: 1rem;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 1px;
}

.overview-item .item-label {
    font-size: 0.75rem;
    color: #7f8c8d;
    text-transform: uppercase;
    letter-spacing: 0.2px;
}

/* 功能地图样式 - 地图式布局 */
.function-map {
    margin-top: 10px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid #d0e0d0;
    border-radius: 6px;
    padding: 10px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* 阶段区域样式 - 地图区域风格 */
.phase-section {
    background-color: rgba(255, 255, 255, 0.95);
    border: 1px dashed #b0c0b0;
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 10px;
    transition: all 0.2s ease;
    min-height: 100px;
    position: relative;
    overflow: visible;
}

/* 不同阶段使用不同背景色 */
.phase-section:nth-child(1) {
    background-color: rgba(255, 248, 220, 0.8);
}

.phase-section:nth-child(2) {
    background-color: rgba(224, 255, 224, 0.8);
}

.phase-section:nth-child(3) {
    background-color: rgba(224, 240, 255, 0.8);
}

.phase-section:nth-child(4) {
    background-color: rgba(255, 224, 224, 0.8);
}

/* Model风格阶段区域样式 */
.phase-section-model {
    background-color: rgba(255, 255, 255, 0.95);
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    margin-bottom: 10px;
    transition: all 0.3s ease;
    overflow: hidden;
}

/* 不同阶段使用不同背景色 - Model风格 */
.phase-section-model:nth-child(1) {
    border-left: 4px solid #ed8936; /* 警告色，报名前 */
}

.phase-section-model:nth-child(2) {
    border-left: 4px solid #2e7d32; /* 成功色，报名中 */
}

.phase-section-model:nth-child(3) {
    border-left: 4px solid #0288d1; /* 信息色，考试前 */
}

.phase-section-model:nth-child(4) {
    border-left: 4px solid #d32f2f; /* 危险色，考试后 */
}

/* 阶段标题样式 - Model风格 */
.phase-header-model {
    background-color: #f8f9fa;
    padding: 12px 16px;
    margin: 0;
    border-bottom: 1px solid #e0e0e0;
    transition: all 0.3s ease;
}

.phase-header-model:hover {
    background-color: #e9ecef;
}

/* 阶段标题文本样式 - Model风格 */
.section-title-model {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    color: #2c3e50;
    display: flex;
    align-items: center;
    gap: 8px;
}

.section-title-model i {
    color: #0d47a1;
    font-size: 1.1rem;
}

.phase-section:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

/* 阶段标题样式 - 地图区域标签 */
.section-title {
    font-size: 0.85rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 10px;
    padding: 3px 8px;
    background-color: rgba(255, 255, 255, 0.8);
    border: 1px solid #d0e0d0;
    border-radius: 3px;
    display: inline-block;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.section-title i {
    color: var(--primary-color);
    margin-right: 5px;
    font-size: 0.75rem;
}

/* 功能卡片包装器样式 */
.function-card-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

/* 功能卡片容器样式 - 紧凑网格布局 */
#prePublishContainer,
#registrationContainer,
#preExamContainer,
#postExamContainer,
.function-cards-container {
    gap: 15px;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    align-content: start;
    min-height: 0;
    padding: 16px;
    margin: 0;
}

/* 功能卡片样式 - 透明设计 */
.function-card {
    background: transparent !important;
    border: none !important;
    border-radius: 8px;
    padding: 20px 15px;
    text-align: center;
    transition: all 0.3s ease;
    height: auto;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    box-shadow: none !important;
    animation: popIn 0.3s ease-out;
    animation-fill-mode: both;
    position: relative;
    color: var(--gray-color);
    outline: none !important;
}

/* 功能卡片图标 */
.function-icon {
    font-size: 1.5rem;
    color: var(--gray-color);
    margin-bottom: 10px;
    transition: all 0.3s ease;
}

/* 功能卡片名称 */
.function-name {
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--text-primary);
    margin: 0;
    line-height: 1.3;
    max-width: 100%;
    word-wrap: break-word;
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-align: center;
    transition: all 0.3s ease;
}

/* 悬停效果 - 仅改变文字和图标颜色 */
.function-card:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: none !important;
    border: none !important;
    background: transparent !important;
    transition: all 0.3s ease;
}

.function-card:hover .function-icon {
    transform: scale(1.1);
    color: var(--primary-color);
    transition: all 0.3s ease;
}

.function-card:hover .function-name {
    color: var(--primary-color);
    transition: all 0.3s ease;
}

/* 功能地图折叠展开样式 */
.function-map-toggle {
    cursor: pointer;
    transition: transform 0.3s ease;
}

.function-map-toggle.collapsed {
    transform: rotate(180deg);
}

#functionMapBody {
    transition: max-height 0.3s ease, opacity 0.3s ease;
    overflow: hidden;
    max-height: 2000px;
    opacity: 1;
}

#functionMapBody.collapsed {
    max-height: 0;
    opacity: 0;
    padding: 0;
}

/* 阶段折叠展开样式 */
.phase-toggle-header {
    cursor: pointer;
    transition: all 0.2s ease;
}

.phase-toggle-header:hover {
    background-color: rgba(0, 0, 0, 0.02);
}

.phase-toggle-btn {
    transition: transform 0.3s ease;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    color: var(--text-secondary) !important;
    padding: 0 !important;
    margin: 0 !important;
}

.phase-toggle-btn:hover {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--primary-color) !important;
}

.phase-toggle-btn.collapsed {
    transform: rotate(-90deg);
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.phase-toggle-btn:focus {
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border: none !important;
}

.phase-content {
    transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
    overflow: hidden;
    max-height: 2000px;
    opacity: 1;
    padding: 16px;
    margin: 0;
    min-height: 0;
}

.phase-content.collapsed {
    max-height: 0;
    opacity: 0;
    padding: 0;
    margin: 0;
}

/* 错开动画延迟 */
.function-card:nth-child(1) { animation-delay: 0.02s; }
.function-card:nth-child(2) { animation-delay: 0.04s; }
.function-card:nth-child(3) { animation-delay: 0.06s; }
.function-card:nth-child(4) { animation-delay: 0.08s; }
.function-card:nth-child(5) { animation-delay: 0.1s; }
.function-card:nth-child(6) { animation-delay: 0.12s; }
.function-card:nth-child(7) { animation-delay: 0.14s; }
.function-card:nth-child(8) { animation-delay: 0.16s; }
.function-card:nth-child(9) { animation-delay: 0.18s; }
.function-card:nth-child(10) { animation-delay: 0.2s; }
.function-card:nth-child(11) { animation-delay: 0.22s; }
.function-card:nth-child(12) { animation-delay: 0.24s; }
.function-card:nth-child(13) { animation-delay: 0.26s; }
.function-card:nth-child(14) { animation-delay: 0.28s; }
.function-card:nth-child(15) { animation-delay: 0.3s; }
.function-card:nth-child(16) { animation-delay: 0.32s; }

/* 动画效果 - 卡片弹出效果 */
@keyframes popIn {
    from {
        opacity: 0;
        transform: scale(0.8) translateY(5px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* 考次选择器样式 - 简化设计 */
.exam-selector {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

.exam-selector .form-control,
.exam-selector .form-select {
    border-radius: 3px;
    border: 1px solid #d0e0d0;
    transition: all 0.2s ease;
    font-size: 0.85rem;
    height: 28px;
    background-color: rgba(255, 255, 255, 0.9);
}

.exam-selector .form-control:focus,
.exam-selector .form-select:focus {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 0.1rem rgba(13, 71, 161, 0.25);
}

/* 按钮样式优化 */
.btn {
    border-radius: 6px;
    font-size: 0.85rem;
    padding: 8px 16px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.btn-primary {
    background-color: var(--primary-color);
    border: 1px solid var(--primary-dark);
}

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

/* 响应式设计优化 */
@media (max-width: 1400px) {
    #prePublishContainer,
    #registrationContainer,
    #preExamContainer,
    #postExamContainer {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 8px;
    }
    
    .function-card {
        min-height: 90px;
    }
    
    .function-name {
        font-size: 0.75rem;
    }
    
    .function-icon {
        font-size: 1.1rem;
    }
}

@media (max-width: 1200px) {
    .overview-item .item-value {
        font-size: 0.9rem;
    }
    
    #prePublishContainer,
    #registrationContainer,
    #preExamContainer,
    #postExamContainer {
        grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
        gap: 8px;
    }
    
    .function-card {
        min-height: 90px;
    }
    
    .function-name {
        font-size: 0.7rem;
    }
    
    .function-icon {
        font-size: 1rem;
    }
}

@media (max-width: 992px) {
    .main-content {
        padding: 8px;
    }
    
    .phase-section {
        padding: 6px;
    }
    
    #prePublishContainer,
    #registrationContainer,
    #preExamContainer,
    #postExamContainer {
        grid-template-columns: repeat(auto-fill, minmax(95px, 1fr));
        gap: 8px;
    }
    
    .function-card {
        min-height: 95px;
    }
    
    .function-name {
        font-size: 0.7rem;
        line-height: 1.2;
    }
    
    .function-icon {
        font-size: 0.9rem;
    }
    
    .section-title {
        font-size: 0.75rem;
    }
}

@media (max-width: 768px) {
    .overview-item {
        margin-bottom: 5px;
    }
    
    .exam-selector {
        gap: 4px;
    }
    
    .exam-selector .form-control,
    .exam-selector .form-select {
        flex: 1;
        min-width: 100px;
        font-size: 0.75rem;
        height: 26px;
    }
    
    #prePublishContainer,
    #registrationContainer,
    #preExamContainer,
    #postExamContainer {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
        gap: 8px;
    }
    
    .function-card {
        min-height: 100px;
    }
    
    .function-name {
        font-size: 0.75rem;
        line-height: 1.3;
    }
    
    .function-icon {
        font-size: 0.9rem;
    }
}

@media (max-width: 576px) {
    #prePublishContainer,
    #registrationContainer,
    #preExamContainer,
    #postExamContainer {
        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
        gap: 8px;
    }
    
    .function-card {
        min-height: 105px;
    }
    
    .function-name {
        font-size: 0.8rem;
        line-height: 1.3;
    }
    
    .function-icon {
        font-size: 1rem;
    }
    
    .section-title {
        font-size: 0.7rem;
        padding: 1px 4px;
    }
}

/* 动画应用 */
.phase-section {
    animation: popIn 0.3s ease-out;
}

.function-card {
    animation: popIn 0.3s ease-out;
    animation-fill-mode: both;
}

/* 错开动画延迟 */
.function-card:nth-child(1) { animation-delay: 0.02s; }
.function-card:nth-child(2) { animation-delay: 0.04s; }
.function-card:nth-child(3) { animation-delay: 0.06s; }
.function-card:nth-child(4) { animation-delay: 0.08s; }
.function-card:nth-child(5) { animation-delay: 0.1s; }
.function-card:nth-child(6) { animation-delay: 0.12s; }
.function-card:nth-child(7) { animation-delay: 0.14s; }
.function-card:nth-child(8) { animation-delay: 0.16s; }
.function-card:nth-child(9) { animation-delay: 0.18s; }
.function-card:nth-child(10) { animation-delay: 0.2s; }
.function-card:nth-child(11) { animation-delay: 0.22s; }
.function-card:nth-child(12) { animation-delay: 0.24s; }
.function-card:nth-child(13) { animation-delay: 0.26s; }
.function-card:nth-child(14) { animation-delay: 0.28s; }
.function-card:nth-child(15) { animation-delay: 0.3s; }
.function-card:nth-child(16) { animation-delay: 0.32s; }

/* 滚动条样式 - 美化设计 */
.main-frame::-webkit-scrollbar {
    width: 5px;
}

.main-frame::-webkit-scrollbar-track {
    background: #e8f0e8;
    border-radius: 2.5px;
}

.main-frame::-webkit-scrollbar-thumb {
    background: #b0c8b0;
    border-radius: 2.5px;
}

.main-frame::-webkit-scrollbar-thumb:hover {
    background: #90b090;
}

/* 减少空白区域 */
body {
    margin: 0;
    padding: 0;
}

/* 地图风格装饰 */
.phase-section::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    background-image: 
        linear-gradient(45deg, transparent 48%, #d0e0d0 49%, #d0e0d0 51%, transparent 52%),
        linear-gradient(-45deg, transparent 48%, #d0e0d0 49%, #d0e0d0 51%, transparent 52%);
    background-size: 10px 10px;
    opacity: 0.1;
    z-index: -1;
}

/* 功能卡片悬停效果增强 */
.function-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(52, 152, 219, 0.05);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.function-card:hover::after {
    opacity: 1;
}

/* 移除多余的margin */
.mb-5 {
    margin-bottom: 0 !important;
}

/* 移除Bootstrap默认的row-cols类，使用自定义grid布局 */
.row {
    margin: 0 !important;
}

.row-cols-1,
.row-cols-md-2,
.row-cols-lg-3 {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr)) !important;
    gap: 5px !important;
}

.g-3 {
    gap: 5px !important;
}

/* 确保功能名称单行显示 */
.card-title {
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
}

/* 数据项样式 */
.data-item {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f1f5f9;
}

.data-item:last-child {
    border-bottom: none;
}

/* 成功标签样式 */
.success-badge {
    display: inline-flex;
    align-items: center;
    background-color: #ecfdf5;
    color: var(--success-color);
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 500;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

/* 时间线样式 */
.timeline {
    position: relative;
    padding-left: 2rem;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: var(--light-gray);
}

.timeline-item {
    position: relative;
    margin-bottom: 1.5rem;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -2rem;
    top: 0.5rem;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--primary-color);
    border: 2px solid var(--white-color);
    box-shadow: 0 0 0 2px var(--primary-color);
}

/* 响应式设计 */
@media (max-width: 768px) {
    .header {
        padding: 1.5rem 0;
    }
    
    .header h1 {
        font-size: 1.5rem;
    }
    
    .step-label {
        font-size: 0.75rem;
        max-width: 60px;
    }
    
    .step-circle {
        width: 32px;
        height: 32px;
        font-size: 0.875rem;
    }
    
    .preview-tabs {
        flex-wrap: wrap;
    }
    
    .preview-tab {
        flex: 1;
        min-width: 100px;
        text-align: center;
        padding: 0.5rem 0.75rem;
    }
    
    .upload-area {
        padding: 1.5rem 1rem;
    }
    
    /* 招聘流程组件样式 */
    /* 流程容器 */
    .exam-flow-container-inner {
        padding: 10px 0 !important;
    }
}

/* 顶部条响应式优化 */
/* 默认隐藏折叠菜单 */
.more-dropdown {
    display: none;
}

/* 中屏优化（1024px-1200px） */
@media (max-width: 1200px) {
    /* 隐藏考次状态开关，显示折叠菜单 */
    .exam-status-switch {
        display: none;
    }
    
    .more-dropdown {
        display: block;
    }
}

/* 小屏优化（768px-1023px） */
@media (max-width: 992px) {
    /* 隐藏去报名按钮 */
    #goToRegistrationBtn {
        display: none;
    }
    
    /* 通知中心保持显示 */
    .notification-dropdown {
        display: flex;
    }
    
    /* 个人中心保持显示 */
    .user-avatar-dropdown {
        display: flex;
    }
    
    /* 缩小搜索框宽度 */
    .search-box {
        width: 180px;
    }
    
    /* 缩小考次选择器按钮宽度 */
    .exam-selector-dropdown .btn {
        padding: 0.25rem 0.5rem;
        font-size: 0.875rem;
    }
    
    #currentExamName {
        font-size: 0.8rem;
    }
}

/* 移动端优化（<768px） */
@media (max-width: 768px) {
    /* 考次选择器优先显示，不隐藏 */
    .exam-selector-dropdown {
        display: flex;
    }
    
    /* 搜索框根据情况显示 */
    .search-box {
        display: none;
    }
    
    /* 缩小页面标题字体 */
    .page-title h5 {
        font-size: 0.9rem;
    }
    
    /* 确保header-actions保持水平排列 */
    .header-actions {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        align-items: center;
        flex-wrap: nowrap;
        width: auto;
    }
    
    /* 确保个人中心和通知消息图标保持水平排列 */
    .header-actions .nav-item {
        display: inline-flex;
        margin-right: 8px;
    }
    
    /* 显示折叠菜单中的搜索框 */
    .dropdown-search {
        display: block;
        width: 100%;
    }
}

/* 考次概览流程图样式 - 节点样式 */
.exam-flow-container {
    position: relative;
    background-color: #f8f9fa;
    border-radius: 12px;
    padding: 15px 20px;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #667eea #f8f9fa;
    margin-top: 15px;
    height: auto;
    min-height: 120px;
}

/* 优化滚动条样式（WebKit浏览器） */
.exam-flow-container::-webkit-scrollbar {
    height: 8px;
}

.exam-flow-container::-webkit-scrollbar-track {
    background: #f8f9fa;
    border-radius: 4px;
}

.exam-flow-container::-webkit-scrollbar-thumb {
    background: #667eea;
    border-radius: 4px;
}

.exam-flow-container::-webkit-scrollbar-thumb:hover {
    background: #764ba2;
}

/* 内部流程容器 */
.exam-flow-container-inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0;
    white-space: nowrap;
    width: max-content;
}

/* 流程项（节点或连线） */
.exam-flow-item {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}

/* 流程节点容器 */
.exam-flow-node {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 140px;
    width: 140px;
    position: relative;
    margin: 0;
    cursor: pointer;
    transition: all 0.3s ease;
    z-index: 10;
    flex-shrink: 0;
}

/* 节点主体样式 */
.exam-flow-node-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    font-size: 1.2rem;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
    transition: all 0.3s ease;
    position: relative;
    z-index: 2;
}

/* 节点图标 */
.exam-flow-node-icon {
    font-size: 1.5rem;
    margin-bottom: 8px;
    color: white;
    position: relative;
    z-index: 2;
}

/* 节点名称 */
.exam-flow-node-name {
    margin-top: 10px;
    margin-bottom: 0;
    text-align: center;
    font-size: 0.85rem;
    font-weight: 500;
    color: #2c3e50;
    line-height: 1.3;
    white-space: normal;
    word-wrap: break-word;
    max-width: 140px;
    background-color: white;
    padding: 6px 10px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    z-index: 1;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    height: 3.5em;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 当前节点样式 */
.exam-flow-node.current .exam-flow-node-circle {
    background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    transform: scale(1.2);
    box-shadow: 0 6px 20px rgba(240, 147, 251, 0.6);
    animation: pulse 1.5s ease-in-out infinite;
}

/* 已完成节点样式 */
.exam-flow-node.completed .exam-flow-node-circle {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

/* 待处理节点样式 */
.exam-flow-node.pending .exam-flow-node-circle {
    background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
}

/* 未开始节点样式 */
.exam-flow-node.not-started .exam-flow-node-circle {
    background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
}

/* 连接线样式 */
.exam-flow-line {
    display: block;
    flex: 1;
    min-width: 60px;
    height: 3px;
    background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);
    margin: 0;
    position: relative;
    overflow: visible;
    transition: all 0.3s ease;
    z-index: 1;
    align-self: center;
}

/* 隐藏旧的连接器样式 */
.exam-flow-connector,
.exam-flow-connector-wrapper {
    display: none;
}

/* 连接线箭头 */
.exam-flow-line::before {
    content: '';
    position: absolute;
    right: -8px;
    top: -3px;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 8px solid #667eea;
    z-index: 15;
    display: block;
    opacity: 1;
    clip-path: none;
    overflow: visible;
}

/* 连接线流动动画 */
.exam-flow-line::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,1), transparent);
    animation: flow 2s infinite;
    z-index: 10;
    opacity: 0.8;
    box-shadow: 0 0 10px rgba(255,255,255,0.8);
}

/* 已完成的连接线 */
.exam-flow-line.completed {
    background: linear-gradient(90deg, #4facfe 0%, #00f2fe 100%);
}

.exam-flow-line.completed::before {
    border-left-color: #4facfe;
}

/* 待处理的连接线 */
.exam-flow-line.pending {
    background: linear-gradient(90deg, #fa709a 0%, #fee140 100%);
}

.exam-flow-line.pending::before {
    border-left-color: #fa709a;
}

/* 未开始的连接线 */
.exam-flow-line.not-started {
    background: linear-gradient(90deg, #a8edea 0%, #fed6e3 100%);
}

.exam-flow-line.not-started::before {
    border-left-color: #a8edea;
}

/* 节点悬停效果 */
.exam-flow-node:hover .exam-flow-node-circle {
    transform: scale(1.1);
    box-shadow: 0 8px 25px rgba(102, 126, 234, 0.6);
}

.exam-flow-node:hover .exam-flow-node-name {
    transform: translateY(-5px);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
}

/* 节点详情弹窗 */
.exam-flow-node-detail {
    display: none;
    position: absolute;
    bottom: -120px;
    left: 50%;
    transform: translateX(-50%);
    background: white;
    color: #333;
    padding: 12px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    z-index: 2000;
    min-width: 180px;
    text-align: center;
    font-size: 0.85rem;
    line-height: 1.4;
    margin-bottom: 10px;
}

.exam-flow-node:hover .exam-flow-node-detail {
    display: block;
    animation: fadeInUp 0.3s ease;
}

/* 脉冲动画 */
@keyframes pulse {
    0% {
        box-shadow: 0 4px 15px rgba(240, 147, 251, 0.4);
        transform: scale(1.2);
    }
    50% {
        box-shadow: 0 6px 25px rgba(240, 147, 251, 0.8);
        transform: scale(1.25);
    }
    100% {
        box-shadow: 0 4px 15px rgba(240, 147, 251, 0.4);
        transform: scale(1.2);
    }
}

/* 流动动画 */
@keyframes flow {
    0% { left: -100%; }
    100% { left: 100%; }
}

/* 淡入动画 */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate(-50%, 10px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}

/* 移动端响应式设计 */
@media (max-width: 768px) {
    /* 移动端垂直排列流程图 */
    .exam-flow-container-inner {
        flex-direction: column !important;
        align-items: center !important;
        gap: 20px !important;
        overflow-x: visible !important;
        white-space: normal !important;
    }
    
    /* 节点垂直排列 */
    .exam-flow-node {
        flex-direction: row !important;
        min-width: 250px !important;
        margin: 10px 0 !important;
    }
    
    /* 节点名称在右侧 */
    .exam-flow-node-name {
        margin-top: 0 !important;
        margin-left: 15px !important;
        min-width: 150px !important;
    }
    
    /* 确保容器在移动端也能正确显示 */
    .exam-flow-container {
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

}

/* 垂直流动动画 */
@keyframes vertical-flow {
    0% { top: -100%; }
    100% { top: 100%; }
}

/* 流程图背景装饰 
.exam-flow-container::before {
    content: '';
    position: absolute;
    top: -20px;
    left: -20px;
    right: -20px;
    bottom: -20px;
    background: radial-gradient(circle at 20% 50%, rgba(102, 126, 234, 0.05) 0%, transparent 50%),
                radial-gradient(circle at 80% 20%, rgba(118, 75, 162, 0.05) 0%, transparent 50%),
                radial-gradient(circle at 40% 80%, rgba(63, 129, 241, 0.05) 0%, transparent 50%);
    z-index: 0;
    border-radius: 12px;
}
*/
/* 超小屏优化（<576px） */
@media (max-width: 576px) {
    /* 隐藏页面标题中的文字，只显示图标 */
    .page-title h5 {
        font-size: 0;
    }
    
    /* 确保header-actions保持水平排列 */
    .header-actions {
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        align-items: center;
        flex-wrap: nowrap;
        width: auto;
    }
    
    /* 调整按钮间距 */
    .header-actions .nav-item {
        margin-right: 0.25rem;
        display: inline-flex;
    }
    
    /* 调整折叠菜单按钮尺寸 */
    .more-dropdown .nav-link {
        padding: 0.25rem 0.5rem;
    }
}

/* 折叠菜单内控件样式 */
.dropdown-switch {
    margin-right: 0;
    margin-bottom: 0;
}

.dropdown-search {
    display: none;
    width: 100%;
}

/* 确保折叠菜单内的考次状态开关正常工作 */
.dropdown-item .switch-container {
    width: 100%;
}

/* 折叠菜单标题样式 */
.dropdown-header {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--text-secondary);
    padding: 0;
    margin-bottom: 0.5rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}




.config-buttons-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.config-button {
    height: 100px;
    padding: 15px 10px;
}

.data-item {
    display: flex;
    justify-content: space-between;
    padding: 0.75rem 0;
    border-bottom: 1px solid #f1f5f9;
}

.success-badge {
    display: inline-flex;
    align-items: center;
    background-color: #ecfdf5;
    color: var(--success-color);
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.875rem;
    font-weight: 500;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

.timeline {
    position: relative;
    padding-left: 2rem;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    background-color: #e2e8f0;
}

.timeline-item {
    position: relative;
    margin-bottom: 1.5rem;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -2rem;
    top: 0.5rem;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: var(--primary-color);
    border: 2px solid white;
    box-shadow: 0 0 0 2px var(--primary-color);
}

.file-hint {
    color: #94a3b8;
    text-align: center;
    padding: 1rem;
    font-size: 0.9rem;
}

@media (max-width: 768px) {
    .step-label {
        font-size: 0.75rem;
    }
    
    .preview-tabs {
        flex-wrap: wrap;
    }
    
    .preview-tab {
        flex: 1;
        min-width: 120px;
        text-align: center;
    }
}

/* 表单样式 */
.form-check {
    transition: background-color 0.2s ease;
    padding: 0.5rem 2rem;
    margin-left: 1rem;
    border-radius: 6px;
    margin-bottom: 0.5rem;
    cursor: pointer;
}

.form-check:hover {
    background-color: #f1f5f9;
}

.form-check-input {
    margin-top: 0.3rem;
    margin-right: 0.75rem;
}

.form-check-label {
    cursor: pointer;
    padding-left: 0.25rem;
}

/* 登录模态框样式 */
#loginModal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    justify-content: center;
    align-items: center;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.login-modal-content {
    background-color: white;
    border-radius: 12px;
    width: 90%;
    max-width: 400px;
    padding: 2rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.qrcode-container {
    background-color: white;
    padding: 1rem;
    display: inline-block;
    margin: 1.5rem 0;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);

    min-height: 188px;
    min-width: 188px;
}

.qrcode-image {
    width: 200px;
    height: 200px;
}

.login-hint {
    color: #64748b;
    margin: 1rem 0;
    font-size: 0.95rem;
}

.login-actions {
    margin-top: 1.5rem;
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

.login-timer {
    color: var(--primary-color);
    font-weight: 500;
    margin: 1rem 0;
}

.login-success {
    display: none;
    padding: 1.5rem;
}

.success-icon {
    font-size: 4rem;
    color: var(--success-color);
    margin-bottom: 1rem;
}

.result-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 1050;
}

.result-modal {
    background-color: white;
    border-radius: 8px;
    width: 90%;
    max-width: 600px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.result-modal .modal-header {
    padding: 16px 20px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.result-modal .modal-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.result-modal .close-btn {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #666;
}

.result-modal .close-btn:hover {
    color: #000;
}

.result-modal .modal-body {
    padding: 20px;
}

.result-modal .url-item {
    margin-bottom: 16px;
}

.result-modal .url-item label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
}

.result-modal .url-actions {
    display: flex;
    gap: 8px;
}

.result-modal .url-actions input {
    flex: 1;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    color: #333;
}

.result-modal .url-actions button {
    padding: 8px 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s;
}

.result-modal .copy-btn {
    background-color: var(--primary-color);
    color: white;
}

.result-modal .open-btn {
    background-color: #28a745;
    color: white;
}

.result-modal .copy-btn:hover,
.result-modal .open-btn:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

.result-modal .copy-btn.copied {
    background-color: #6c757d;
}

.result-modal .modal-footer {
    padding: 16px 20px;
    border-top: 1px solid #eee;
    display: flex;
    justify-content: flex-end;
}

.result-modal .modal-footer .close-btn {
    padding: 8px 16px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background-color: white;
}

.result-modal .modal-footer .close-btn:hover {
    background-color: #f5f5f5;
}

/* 正在解析提示样式 */
.parsing-alert {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    z-index: 1060; /* 确保在结果弹窗上方 */
    transition: opacity 0.3s ease;
}

.parsing-spinner {
    width: 50px;
    height: 50px;
    border: 5px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    border-top-color: white;
    animation: spin 1s ease-in-out infinite;
}

.parsing-alert p {
    color: white;
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    padding: 0 20px;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Model风格阶段区域样式 */
/* 优化阶段区域样式 */
.phase-section-model {
    background-color: var(--white-color);
    border: 1px solid var(--light-gray);
    border-radius: 8px;
    margin: 0 0 20px 0;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    border-left: 4px solid var(--primary-color);
}

/* 不同阶段使用不同左侧边框颜色和背景色 */
.phase-section-model:nth-child(1) {
    border-left-color: #fbbf24;
    background-color: rgba(251, 191, 36, 0.05);
}

.phase-section-model:nth-child(2) {
    border-left-color: #34d399;
    background-color: rgba(52, 211, 153, 0.05);
}

.phase-section-model:nth-child(3) {
    border-left-color: #60a5fa;
    background-color: rgba(96, 165, 250, 0.05);
}

.phase-section-model:nth-child(4) {
    border-left-color: #f472b6;
    background-color: rgba(244, 114, 182, 0.05);
}

.phase-section-model:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

/* 优化阶段标题区域样式 */
.phase-header-model {
    background-color: transparent;
    border-bottom: 1px solid var(--light-gray);
    padding: 16px 20px;
    display: flex;
    align-items: center;
    transition: all 0.3s ease;
}
        
        /* 优化阶段标题样式 */
        .section-title-model {
            margin: 0;
            font-size: 16px;
            font-weight: 600;
            color: var(--dark-color);
            line-height: 1.3;
            display: flex;
            align-items: center;
            gap: 12px;
        }
        
        /* 优化阶段标题图标样式 */
        .section-title-model i {
            color: var(--primary-color);
            font-size: 20px;
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.3s ease;
        }
        
        /* 优化不同阶段标题的图标颜色，与左侧边框颜色对应 */
        .phase-section-model:nth-child(1) .section-title-model i {
            color: #fbbf24;
        }
        
        .phase-section-model:nth-child(2) .section-title-model i {
            color: #34d399;
        }
        
        .phase-section-model:nth-child(3) .section-title-model i {
            color: #60a5fa;
        }
        
        .phase-section-model:nth-child(4) .section-title-model i {
            color: #f472b6;
        }
        
        /* 优化功能卡片容器样式 */
        .function-cards-container {
            gap: 15px;
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
            align-content: flex-start;
            padding: 16px 20px;
            min-height: 100px;
        }
        


        /* 登录二维码布局 */
        #loginModal {
            display: flex;
        }
        
        /* 登录二维码容器样式 */
        #LoginEwm {
            background-color: white;
            padding: 1rem;
            display: block;
            margin: 1.5rem auto;
            border-radius: 8px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            width: 200px;
            height: 200px;
            position: relative;
            overflow: hidden;
        }
        
        /* 确保二维码居中显示 */
        #LoginEwm canvas {
            display: block;
            margin: 0 auto;
            width: 100%;
            height: 100%;
        }
        
        /* 加载提示样式 */
        .qrcode-loading {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: #f0f0f0;
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 10;
        }

        /* 模块工作区样式 - 保持与WorkspaceManager.js一致 */
        .module-workspace {
            /* 移除全屏覆盖层样式，保留z-index确保显示层级 */
            z-index: 2000;
        }
        
        /* 提高所有Bootstrap模态框的z-index，确保显示在模块工作区上层 */
        .modal {
            z-index: 3000 !important;
        }
        
        /* 确保所有模态框背景也显示在模块工作区上层 */
        .modal-backdrop {
            z-index: 2999 !important;
        }
        
        /* 特别针对文件类型选择弹窗，确保其始终显示在最上层 */
        #fileTypeModal {
            z-index: 3000 !important;
        }
        
        .module-workspace > div.workspace-container {
            background-color: var(--white-color, #ffffff);
            width: 98%;
            height: 98%;
            border-radius: 10px;
            display: flex;
            flex-direction: column;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
            animation: slideIn 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
            overflow: hidden;
        }
        
        /* 工作区头部 */
        .workspace-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 16px 24px;
            background-color: var(--primary-color, #0d47a1);
            border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            border-top-left-radius: 10px;
            border-top-right-radius: 10px;
        }
        
        .workspace-header h3 {
            margin: 0;
            font-size: 1.125rem;
            color: white;
            font-weight: 600;
        }
        
        /* 关闭按钮 */
        .close-btn {
            background: rgba(255, 255, 255, 0.2);
            border: none;
            font-size: 20px;
            cursor: pointer;
            color: white;
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            transition: all 0.2s ease;
            font-family: 'Helvetica Neue', Arial, sans-serif;
        }
        
        .close-btn:hover {
            background: rgba(255, 255, 255, 0.3);
            transform: scale(1.1);
        }
        
        .close-btn:active {
            transform: scale(0.95);
        }
        
        /* 标签栏 */
        .workspace-tabs {
            background-color: transparent;
            padding: 0 24px;
            flex-shrink: 0;
        }
        
        .tabs-list {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            gap: 8px;
            overflow-x: auto;
            overflow-y: hidden;
            padding: 8px 0;
            background-color: transparent;
            transition: all 0.3s ease;
        }
        
        .tabs-list li {
            display: inline-flex;
            align-items: center;
            background-color: transparent;
            border: 1px solid transparent;
            margin: 0;
            font-size: 0.9rem;
            color: var(--text-secondary, #6c757d);
            cursor: pointer;
            transition: all 0.3s ease;
            border-radius: 6px 6px 0 0;
            padding: 8px 16px;
        }
        
        .tabs-list li.active {
            background-color: transparent;
            color: var(--primary-color, #0d47a1);
            font-weight: 500;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            border-top: 2px solid var(--primary-color, #0d47a1);
            border-left: 1px solid #dee2e6;
            border-right: 1px solid #dee2e6;
            border-bottom: 1px solid transparent;
            margin-bottom: -1px;
            z-index: 10;
        }
        
        .tabs-list li:hover {
            background-color: rgba(255, 255, 255, 0.8);
            color: var(--primary-color, #0d47a1);
            border-color: #dee2e6;
        }
        
        /* 关闭标签按钮 */
        .tab-close {
            margin-left: 8px;
            opacity: 0.7;
            transition: all 0.3s ease;
            border: none;
            background: transparent;
            color: var(--text-secondary);
            cursor: pointer;
            padding: 4px;
            font-size: 1.2rem;
            line-height: 1;
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            font-weight: bold;
        }
        
        .tab-close:hover {
            opacity: 1;
            color: var(--white-color);
            background-color: var(--danger-color);
            transform: scale(1.1);
            box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3);
        }
        
        /* 确保moduleManager.js中创建的tab-close-btn也使用优化后的样式 */
        .tab-close-btn {
            margin-left: 8px;
            opacity: 0.7;
            transition: all 0.3s ease;
            border: none;
            background: transparent;
            color: var(--text-secondary);
            cursor: pointer;
            padding: 4px;
            font-size: 1.2rem;
            line-height: 1;
            width: 24px;
            height: 24px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            font-weight: bold;
        }
        
        .tab-close-btn:hover {
            opacity: 1;
            color: var(--white-color);
            background-color: var(--danger-color);
            transform: scale(1.1);
            box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3);
        }
        
        /* 工作区内容 */
        .workspace-content {
            flex: 1;
            overflow: hidden;
            position: relative;
        }
        
        #moduleTabContents {
            width: 100%;
            height: 100%;
            position: relative;
            overflow: hidden;
        }
        
        .module-tab-content {
            width: 100%;
            height: 100%;
            display: none;
            overflow: hidden;
        }
        
        .module-tab-content.active {
            display: block;
        }
        
        /* 模块iframe样式 */
        .module-iframe {
            width: 100%;
            height: 100%;
            border: none;
            transition: opacity 0.3s ease;
        }
        
        /* 工作区底部 */
        .workspace-footer {
            background-color: #f8f9fa;
            border-top: 1px solid #dee2e6;
            padding: 12px 24px;
            display: flex;
            justify-content: flex-end;
            gap: 8px;
        }
        
        /* 工作区按钮样式 */
        .workspace-footer button {
            padding: 8px 16px;
            border-radius: 6px;
            border: 1px solid #dee2e6;
            background-color: white;
            color: var(--text-primary, #2c3e50);
            cursor: pointer;
            font-size: 0.85rem;
            transition: all 0.2s ease;
        }
        
        .workspace-footer button:hover {
            background-color: var(--primary-color, #0d47a1);
            color: white;
            border-color: var(--primary-color, #0d47a1);
        }
        
        /* 动画效果 */
        @keyframes fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }
        
        @keyframes slideIn {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        
        /* 加载指示器样式 */
        .module-loading-indicator {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: rgba(255, 255, 255, 0.9);
            z-index: 10;
            flex-direction: column;
            border-radius: 8px;
        }
        
        .module-loading-indicator > div {
            text-align: center;
            width: 100%;
            max-width: 300px;
        }
        
        #loading-spinner {
            width: 50px;
            height: 50px;
            margin: 0 auto;
            border: 4px solid #f3f3f3;
            border-top: 4px solid var(--primary-color, #0d47a1);
            border-radius: 50%;
            animation: spin 1s linear infinite;
        }
        
        #loading-text {
            margin-top: 16px;
            font-size: 16px;
            color: #495057;
            font-weight: 500;
        }
        
        #loading-progress {
            width: 0%;
            height: 100%;
            background-color: var(--primary-color, #0d47a1);
            transition: width 0.3s ease;
        }
        
        #loading-status {
            margin-top: 8px;
            font-size: 12px;
            color: #6c757d;
        }
        
        /* 错误通知样式 */
        .error-notification {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 90%;
            max-width: 400px;
            background-color: #fff;
            border: 1px solid #ffc107;
            border-radius: 8px;
            padding: 20px;
            text-align: center;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
            z-index: 20;
        }
        
        .error-notification h3 {
            margin: 0 0 12px 0;
            color: #343a40;
            font-size: 18px;
        }
        
        .error-notification p {
            margin: 0 0 8px 0;
            color: #495057;
        }
        
        .error-notification button {
            padding: 8px 16px;
            background-color: var(--primary-color, #0d47a1);
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
            margin-right: 8px;
        }
        
        .error-notification button:last-child {
            margin-right: 0;
            background-color: #6c757d;
        }
        
        .error-notification button:hover {
            opacity: 0.9;
        }

/* 自定义下拉列表样式 */
.custom-select-container {
    position: relative;
}

.custom-select-list {
    margin: 0;
    padding: 0;
    list-style: none;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    background-color: var(--white-color);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
}

.custom-select-item {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 0.875rem;
    color: var(--text-primary);
    transition: all 0.2s ease;
}

.custom-select-item:hover {
    background-color: var(--lighter-gray);
    color: var(--primary-color);
}

.custom-select-item.active {
    background-color: var(--primary-color);
    color: var(--white-color);
}

.custom-select-item:first-child {
    color: var(--text-secondary);
    font-style: italic;
}

.custom-select-item:first-child:hover {
    background-color: var(--lighter-gray);
    color: var(--text-secondary);
}

/* 考次状态开关样式 */
.exam-status-switch {
    display: flex;
    align-items: center;
    margin-right: 20px;
    height: 36px;
    position: relative;
    cursor: pointer;
    outline: none !important;
    margin-bottom: 0; /* 移除可能的底部边距 */
}

/* 确保考次状态控件与考次切换控件在同一行对齐 */
.exam-status-switch .current-status-display {
    display: flex;
    align-items: center;
    justify-content: space-between;
    vertical-align: middle;
    line-height: 1; /* 确保行高一致 */
    margin: 0; /* 移除可能的外边距 */
}

/* 确保考次切换控件的高度与状态控件完全一致 */
#examDropdown {
    line-height: 1; /* 确保行高一致 */
    vertical-align: middle;
    margin-bottom: 0; /* 移除可能的底部边距 */
}

/* 当前状态显示样式 */
.current-status-display {
    display: flex;
    align-items: center;
    padding: 8px 12px; /* 与考次切换控件统一内边距 */
    background-color: transparent; /* 移除背景色 */
    color: var(--text-primary); /* 与考次切换控件统一文字色 */
    border: none; /* 移除边框 */
    border-radius: 6px;
    font-size: 0.85rem; /* 与考次切换控件统一字体大小 */
    font-weight: 500;
    transition: all 0.3s ease;
    min-width: 80px;
    justify-content: space-between;
    gap: 8px;
    outline: none !important;
    box-shadow: none !important;
    height: 36px; /* 与考次切换控件统一高度 */
    min-height: 36px;
}

.exam-status-switch:focus-within {
    outline: none !important;
    box-shadow: none !important;
}

.status-text {
    white-space: nowrap;
}

.status-arrow {
    font-size: 0.75rem;
    opacity: 0.7;
    transition: all 0.3s ease;
}

/* 状态选择面板样式 */
.status-select-panel {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 4px;
    background-color: var(--white-color);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 8px;
    min-width: 120px;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-5px);
    transition: all 0.3s ease;
    border: 1px solid var(--light-gray);
}

/* 菜单显示状态 - 仅通过JavaScript控制 */
.exam-status-switch.active .status-select-panel {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* 状态选项样式 */
.status-options {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.status-option {
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.85rem;
    transition: all 0.3s ease;
    text-align: left;
    color: var(--text-primary);
    background-color: var(--white-color);
    border: 1px solid transparent;
}

.status-option:hover {
    background-color: var(--lighter-gray);
    color: var(--primary-color);
    border-color: var(--light-gray);
}

.status-option.active {
    background-color: var(--primary-color);
    color: var(--white-color);
    border-color: var(--primary-color);
}

/* 当前状态显示的颜色样式 */
.current-status-display.status-config {
    background-color: transparent; /* 移除背景色 */
    color: var(--primary-color);
    border: none; /* 移除边框 */
}

.current-status-display.status-test {
    background-color: transparent; /* 移除背景色 */
    color: var(--warning-color);
    border: none; /* 移除边框 */
}

.current-status-display.status-publish {
    background-color: transparent; /* 移除背景色 */
    color: var(--success-color);
    border: none; /* 移除边框 */
}

/* 悬停时当前状态显示的变化 */
.exam-status-switch:hover .current-status-display,
.exam-status-switch:focus-within .current-status-display,
.exam-status-switch.active .current-status-display {
    color: var(--white-color);
    transform: translateY(-1px); /* 与考次切换控件统一悬停效果 */
    box-shadow: 0 4px 12px rgba(13, 71, 161, 0.3); /* 与考次切换控件统一悬停阴影 */
}

/* 覆盖悬停时的状态颜色 */
.exam-status-switch:hover .current-status-display.status-config,
.exam-status-switch:focus-within .current-status-display.status-config,
.exam-status-switch.active .current-status-display.status-config {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.exam-status-switch:hover .current-status-display.status-test,
.exam-status-switch:focus-within .current-status-display.status-test,
.exam-status-switch.active .current-status-display.status-test {
    background-color: var(--warning-color);
    border-color: var(--warning-color);
}

.exam-status-switch:hover .current-status-display.status-publish,
.exam-status-switch:focus-within .current-status-display.status-publish,
.exam-status-switch.active .current-status-display.status-publish {
    background-color: var(--success-color);
    border-color: var(--success-color);
}

/* 未选中状态的基础样式统一 */
.current-status-display:not(.status-config):not(.status-test):not(.status-publish) {
    background-color: transparent; /* 移除背景色 */
    border: none; /* 移除边框 */
    color: var(--text-primary);
}

/* 状态选项的颜色样式 */
.status-option.status-config {
    background-color: rgba(13, 71, 161, 0.05);
    color: var(--primary-color);
}

.status-option.status-test {
    background-color: rgba(237, 137, 54, 0.05);
    color: var(--warning-color);
}

.status-option.status-publish {
    background-color: rgba(46, 125, 50, 0.05);
    color: var(--success-color);
}

/* 悬停时箭头旋转 */
.exam-status-switch:hover .status-arrow,
.exam-status-switch:focus-within .status-arrow,
.exam-status-switch.active .status-arrow {
    opacity: 1;
    transform: rotate(180deg);
}

/* 移动端适配 */
@media (max-width: 768px) {
    .exam-status-switch {
        margin-right: 10px;
    }
    
    .current-status-display {
        padding: 6px 12px;
        min-width: 70px;
        font-size: 0.8rem;
    }
    
    .status-select-panel {
        min-width: 100px;
    }
}

/*列表翻页样式*/
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 0px!important;
  border-radius: 4px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.42857143;
  color: #428bca;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #ddd;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  color: #2a6496;
  background-color: #eee;
  border-color: #ddd;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: #fff;
  cursor: default;
  background-color: #428bca;
  border-color: #428bca;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #999;
  cursor: not-allowed;
  background-color: #fff;
  border-color: #ddd;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 10px 16px;
  font-size: 18px;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 10px;
  font-size: 12px;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
}
.pager {
  padding-left: 0;
  margin: 20px 0;
  text-align: center;
  list-style: none;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #eee;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #999;
  cursor: not-allowed;
  background-color: #fff;
}


.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
    z-index: 2;
    color: #fff!important;
    cursor: default;
    background-color: #165DFF!important;
    border-color: #165DFF!important;
}
.pagination > li > a, .pagination > li > span {
    position: relative;
    float: left;
    padding: 6px 12px;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #165DFF!important;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #ddd;
}
.pagination-jump>li>a, .pagination-jump>li>input, .pagination-jump>li>span {
    position: relative;
    float: left;
    margin-left: -1px;
    line-height: 1.42857143;
    color: #165DFF!important;
    text-decoration: none;
    background-color: #fff;
}



.fixed-table-container input[type=radio],.fixed-table-container input[type=checkbox] {
    margin: 0 auto!important
}


.pull-left {
    float: left !important;
}
.pull-right {
    float: right !important;
}
.fixed-table-pagination .pagination-detail,.fixed-table-pagination div.pagination {
    margin-top: 10px;
    margin-bottom: 10px
}

.fixed-table-pagination div.pagination .pagination {
    margin: 0;
}

.fixed-table-pagination .pagination a {
    padding: 6px 12px;
    line-height: 1.428571429
}

.fixed-table-pagination .pagination-info {
    line-height: 34px;
    margin-right: 5px
}

.fixed-table-pagination .btn-group {
    position: relative;
    display: inline-block;
    vertical-align: middle
}

.fixed-table-pagination .dropup .dropdown-menu {
    margin-bottom: 0
}

.fixed-table-pagination .page-list {
    display: inline-block
}

.fixed-table-toolbar .columns-left {
    margin-right: 5px
}

.fixed-table-toolbar .columns-right {
    margin-left: 5px
}

.fixed-table-toolbar .columns label {
    display: block;
    padding: 3px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.428571429
}

.fixed-table-toolbar .bars,.fixed-table-toolbar .columns,.fixed-table-toolbar .search {
    position: relative;
    margin-top: 0px;
    margin-bottom: 10px;
    line-height: 34px
}

.fixed-table-pagination li.disabled a {
    pointer-events: none;
    cursor: default
}

.fixed-table-loading {
    display: none;
    position: absolute;
    top: 42px;
    padding-top: 100px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99;
    background-color: #fff;
    text-align: center
}

.fixed-table-body .card-view .title {
    font-weight: 700;
    display: inline-block;
    min-width: 30%;
    text-align: left!important
}

.table td,.table th {
    vertical-align: middle
}

.fixed-table-toolbar .dropdown-menu {
    text-align: left;
    max-height: 300px;
    overflow: auto
}

.fixed-table-toolbar .btn-group>.btn-group {
    display: inline-block;
    margin-left: -1px!important
}

.fixed-table-toolbar .btn-group>.btn-group>.btn {
    border-radius: 0
}

.fixed-table-toolbar .btn-group>.btn-group:first-child>.btn {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px
}

.fixed-table-toolbar .btn-group>.btn-group:last-child>.btn {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px
}

.bootstrap-table .table>thead>tr>th {
    vertical-align: bottom;
    border-bottom: 1px solid #ddd
}

.bootstrap-table .table thead>tr>th {
    padding: 0;
    margin: 0
}

.bootstrap-table .fixed-table-footer tbody>tr>td {
    padding: 0!important
}

.bootstrap-table .fixed-table-footer .table {
    border-bottom: none;
    border-radius: 0;
    padding: 0!important
}

.pull-right .dropdown-menu {
    right: 0;
    left: auto
}

p.fixed-table-scroll-inner {
    width: 100%;
    height: 200px
}

div.fixed-table-scroll-outer {
    top: 0;
    left: 0;
    visibility: hidden;
    width: 200px;
    height: 150px;
    overflow: hidden
}

.fixed-table-header table {
    float: left!important;
}

/*列表翻页样式-结束*/


/*表单样式*/

.table_form {
    width: 100%;
    margin: 0px;
    border-collapse: collapse;
    table-layout: fixed;
    /* border: #a0c6e5; */
    /* border: #4f9451; */
    border: #85ab86;
}
.table_form ._value>.form-control {
    border: 0px solid #e5e5e5;
}
.table_form ._name {
    background-color: #ffffff !important;
    color: #3665a9 !important;
    font-weight: 500 !important;
    font-size: 13px !important;
    padding: 2px 10px 2px 2px;
    text-align: right;
    border: #a0c6e5 1px solid !important;
    background-color: #ffffff!important;
  }
.table_form ._value {
    border: #a0c6e5 1px solid !important;
}
.table_form ._value .showlist {
    border: 0px solid #fafafa;
    background-color: #F9F9F9;
    margin-top: 0px;
    color: #000000;
    cursor: no-drop;
    height: auto;
    padding-left: 5px;
    height: auto;
    min-height: 32px;
    border-radius: 0px;
}
.table_form .required {
    color: #F00;
    padding-right: 5px;
    top: 3px;
    font-weight: bold;
    position: relative;
}


.table_form ._title {
  background-color: #f0faff!important;
  color: #2776ee!important;
}

.tab-list .table thead tr {
  background-color: #f0faff!important;
  border: 1px solid #ffffff!important;
}

.table_form {
  border: #a0c6e5!important;
}
  
  .table_form tr{
    line-height: 35px!important;
  }
  
  .table_form .btn {
    line-height: 22px!important;
  }
  
  .table_form ._value textarea {
    min-height: 40px!important;
  }
  
  
/*表单样式结束*/



/***
Toastr Notifications
***/
.toast {
    -webkit-box-shadow: none !important;
     -moz-box-shadow: none !important;
          box-shadow: none !important;
}

.toast {
  background-color: #030303;
}
.toast-success {
  background-color: #51a351;
}
.toast-error {
  background-color: #bd362f;
}
.toast-info {
  background-color: #2f96b4;
}
.toast-warning {
  background-color: #f89406;
}

.toast .toast-close-button {
  display: inline-block;
  margin-top: 0px;
  margin-right: 0px;
  text-indent: -100000px;
  width: 11px;
  height: 16px;
  background-repeat: no-repeat !important;
  background-image: url("../images/portlet-remove-icon-white.png") !important;
}

.toast-top-center {
  top: 200px;
  margin: 0 auto;
  left: 50%;
  margin-left: -150px;
}

.toast-bottom-center {
  bottom: 12px;
  margin: 0 auto;
  left: 50%;
  margin-left: -150px;
}