        /* 全局变量定义 - 采用浅色现代化配色方案 */
        :root {
            --primary-color: #4F46E5; /* 主色调：靛蓝色 */
            --secondary-color: #EC4899; /* 辅助色：粉色 */
            --accent-color: #0EA5E9; /* 强调色：天蓝色 */
            --dark-color: #1F2937; /* 深色文本 */
            --light-color: #F9FAFB; /* 浅色背景 */
            --text-color: #1F2937; /* 文本颜色 */
            --text-muted: #6B7280; /* 次要文本颜色 */
            --card-bg: #FFFFFF; /* 卡片背景 */
            --card-hover: #F3F4F6; /* 卡片悬停背景 */
            --border-color: #E5E7EB; /* 边框颜色 */
        }
        
        /* 基础样式重置 */
        body {
            background: linear-gradient(135deg, var(--light-color) 0%, #F3F4F6 100%);
            color: var(--text-color);
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }
        
        /* 公告样式 */
        .announcement-container {
            background: linear-gradient(90deg, rgba(79, 70, 229, 0.05), rgba(236, 72, 153, 0.05));
            border-radius: 0.75rem;
            padding: 0.5rem 1rem;
            margin-bottom: 1rem;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
            overflow: hidden;
            position: relative;
        }
        
        .announcement-scroll {
            display: flex;
            align-items: center;
            white-space: nowrap;
            animation: scrollAnnouncement 20s linear infinite;
        }
        
        .announcement-scroll:hover {
            animation-play-state: paused;
        }
        
        @keyframes scrollAnnouncement {
            0% { transform: translateX(100%); }
            100% { transform: translateX(-100%); }
        }
        
        .announcement-icon {
            color: var(--secondary-color);
            margin-right: 0.5rem;
            font-size: 1.2rem;
        }
        
        .announcement-item {
            margin-right: 2rem;
            display: inline-flex;
            align-items: center;
        }
        
        .announcement-date {
            color: var(--text-muted);
            font-size: 0.85rem;
            margin-right: 0.5rem;
        }
        
        .announcement-content {
            font-weight: 500;
        }
        
        .announcement-important {
            color: var(--secondary-color);
            font-weight: 600;
        }
        
        /* 卡片样式 */
        .card {
            background: var(--card-bg);
            border: 1px solid rgba(79, 70, 229, 0.1);
            border-radius: 0.75rem;
            transition: all 0.3s ease;
            margin: 0.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
        }
        
        .card:hover {
            transform: translateY(-5px);
            box-shadow: 0 8px 30px rgba(79, 70, 229, 0.15);
        }
        
        .card.selected {
            background: linear-gradient(135deg, rgba(79, 70, 229, 0.05) 0%, rgba(236, 72, 153, 0.05) 100%);
            border: 2px solid var(--secondary-color);
            box-shadow: 0 0 15px rgba(236, 72, 153, 0.2);
        }
        
        /* 导航栏样式 */
        .nav-tabs .nav-link {
            color: var(--text-muted);
            border: none;
            border-bottom: 2px solid transparent;
            font-weight: 500;
            transition: all 0.3s ease;
        }
        
        .nav-tabs .nav-link:hover {
            color: var(--primary-color);
        }
        
        .nav-tabs .nav-link.active {
            color: var(--primary-color);
            background: rgba(79, 70, 229, 0.05);
            border-bottom: 2px solid var(--primary-color);
        }
        
        /* 按钮样式 */
        .btn-primary {
            background: linear-gradient(135deg, var(--primary-color) 0%, #4338CA 100%);
            border: none;
            color: white;
            font-weight: 500;
            transition: all 0.3s ease;
        }
        
        .btn-primary:hover {
            background: linear-gradient(135deg, #4338CA 0%, var(--primary-color) 100%);
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(79, 70, 229, 0.3);
        }
        
        .btn-warning {
            background: linear-gradient(135deg, var(--secondary-color) 0%, #DB2777 100%);
            border: none;
            color: white;
            font-weight: 500;
            transition: all 0.3s ease;
        }
        
        .btn-warning:hover {
            background: linear-gradient(135deg, #DB2777 0%, var(--secondary-color) 100%);
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(236, 72, 153, 0.3);
        }
        
        .btn-danger {
            background: linear-gradient(135deg, #EF4444 0%, #B91C1C 100%);
            border: none;
            color: white;
            font-weight: 500;
            transition: all 0.3s ease;
        }
        
        .btn-danger:hover {
            background: linear-gradient(135deg, #B91C1C 0%, #EF4444 100%);
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3);
        }
        
        /* 输入框样式 */
        .form-control {
            background: rgba(255, 255, 255, 0.8);
            border: 1px solid rgba(79, 70, 229, 0.2);
            color: var(--text-color);
            transition: all 0.3s ease;
        }
        
        .form-control:focus {
            background: rgba(255, 255, 255, 1);
            border-color: var(--primary-color);
            box-shadow: 0 0 0 0.2rem rgba(79, 70, 229, 0.2);
            color: var(--text-color);
        }
        
        /* 面板样式 */
        .bg-light {
            background: rgba(243, 244, 246, 0.8) !important;
        }
        
        .bg-white {
            background: var(--card-bg) !important;
            backdrop-filter: blur(10px);
            border-radius: 0.75rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
        }
        
        /* 进度条样式 */
        .progress {
            background: rgba(79, 70, 229, 0.05);
            border-radius: 0.5rem;
        }
        
        .progress-bar {
            background: linear-gradient(90deg, var(--primary-color) 0%, var(--accent-color) 100%);
        }
        
        /* 自定义滚动条 */
        ::-webkit-scrollbar {
            width: 8px;
            height: 8px;
        }
        
        ::-webkit-scrollbar-track {
            background: rgba(79, 70, 229, 0.03);
            border-radius: 4px;
        }
        
        ::-webkit-scrollbar-thumb {
            background: rgba(79, 70, 229, 0.2);
            border-radius: 4px;
        }
        
        ::-webkit-scrollbar-thumb:hover {
            background: rgba(79, 70, 229, 0.3);
        }
        
        /* 动画效果 */
        .fade-in {
            animation: fadeIn 0.5s ease-in-out;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }
        
        /* 布局调整 */
        .left-panel {
            height: 35vh;
            overflow-y: auto;
        }
        
        .right-panel {
            height: 30vh;
        }
        
        /* 文字样式 */
        .text-danger {
            color: #EF4444 !important;
        }
        
        .text-primary {
            color: var(--primary-color) !important;
        }
        
        .text-info {
            color: var(--accent-color) !important;
        }
        
        .badge {
            font-weight: 500;
            padding: 0.4em 0.6em;
            border-radius: 0.5rem;
        }
        
        .badge-primary {
            background: rgba(79, 70, 229, 0.1);
            color: var(--primary-color);
        }
        
        .badge-warning {
            background: rgba(236, 72, 153, 0.1);
            color: var(--secondary-color);
        }