/* ============================================================
   积分系统 - 专业主题覆盖层 (professional-theme)
   设计语言：深藏青 + 香槟金点缀 / 现代商务 / 克制留白
   加载位置：index.html head 末尾（覆盖 __all-v19.css 默认冬季卡通风）
   ============================================================ */

/* ---------- 全局 ---------- */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif !important;
    background: linear-gradient(180deg, #eef2f7 0%, #f6f8fb 45%, #ffffff 100%) !important;
    color: #1f2937;
    letter-spacing: 0.2px;
}

/* 隐藏节日装饰（灯笼等）——专业场景下不再需要 */
.lantern,
.lantern.left,
.lantern.right {
    display: none !important;
}

/* ---------- 顶部导航 ---------- */
.fixed-header {
    background: linear-gradient(90deg, #101f38 0%, #1b3350 55%, #24405f 100%) !important;
    border-bottom: 2px solid rgba(201, 162, 39, 0.55) !important;
    box-shadow: 0 6px 24px rgba(16, 31, 56, 0.28) !important;
    padding: 8px 24px !important;
    height: 72px !important;
}

.header-title {
    font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif !important;
    font-size: 1.45em !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    background: linear-gradient(90deg, #ffffff 0%, #f3e8c1 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    text-shadow: none !important;
}

/* 校徽容器：白底圆盘，突出专业感 */
.logo {
    width: 52px !important;
    height: 52px !important;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
    flex-shrink: 0;
}

.logo svg {
    width: 100%;
    height: 100%;
}
.logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
    display: block;
    background: #ffffff;
}

/* 班级切换器 */
.class-switcher select {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 8px !important;
    color: #16324f !important;
    font-weight: 600 !important;
    padding: 7px 14px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

.class-switcher select:hover,
.class-switcher select:focus {
    border-color: rgba(255, 255, 255, 0.9) !important;
    background: #ffffff !important;
}

.class-switcher button {
    background: rgba(255, 255, 255, 0.16) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
}

.class-switcher button:hover {
    background: rgba(255, 255, 255, 0.3) !important;
}

/* 头部功能按钮：圆角胶囊 */
.fullscreen-btn,
.admin-btn,
.logout-btn {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.28) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    padding: 8px 16px !important;
    font-family: inherit !important;
    font-size: 13px !important;
    transition: all 0.2s ease !important;
}

.fullscreen-btn:hover,
.admin-btn:hover,
.logout-btn:hover {
    background: rgba(255, 255, 255, 0.22) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
}

/* 倒计时文本 */
.exam-countdown {
    color: #f3e8c1 !important;
    font-weight: 600;
}

/* 教师信息 */
.teacher-name {
    color: #ffffff !important;
    font-weight: 600;
}

.profile-avatar {
    background: rgba(255, 255, 255, 0.15) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}

/* ---------- 主布局 ---------- */
.main-container {
    padding-top: 96px !important;
}

/* 侧边栏：白色商务卡片 */
.sidebar {
    background: #ffffff !important;
    backdrop-filter: none !important;
    border: 1px solid #e3e8f0 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 28px rgba(22, 50, 79, 0.08) !important;
    padding: 18px 16px !important;
}

/* 导航模块：去掉金色卡通边框 */
.nav-module {
    background: #ffffff !important;
    border: 1px solid #edf0f5 !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 10px rgba(22, 50, 79, 0.05) !important;
    margin-bottom: 16px !important;
    overflow: hidden;
}

.nav-module h3 {
    font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #16324f !important;
    padding: 12px 14px !important;
    border-left: 3px solid #c9a227;
    background: linear-gradient(90deg, #f7f9fc 0%, #ffffff 100%) !important;
}

.nav-module h3 span {
    font-size: 13px !important;
}

/* 导航按钮 */
.nav-btn {
    background: #f2f5f9 !important;
    border: 1px solid #e3e8f0 !important;
    border-radius: 8px !important;
    color: #334155 !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    padding: 8px 12px !important;
    transition: all 0.2s ease !important;
    text-align: left;
}

.nav-btn:hover {
    background: #e8eef6 !important;
    border-color: #c9d4e2 !important;
    color: #16324f !important;
    transform: translateX(2px);
}

/* ---------- 内容区工具栏 ---------- */
.content-area,
.main-content {
    background: transparent !important;
}

.controls {
    background: #ffffff !important;
    border: 1px solid #e3e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 6px 22px rgba(22, 50, 79, 0.07) !important;
    padding: 12px 16px !important;
}

.controls button {
    background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 3px 10px rgba(30, 58, 95, 0.25) !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.controls button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 16px rgba(30, 58, 95, 0.35) !important;
}

.controls button.delete-btn {
    background: linear-gradient(135deg, #b91c1c 0%, #dc2626 100%) !important;
    box-shadow: 0 3px 10px rgba(220, 38, 38, 0.3) !important;
}

/* 下拉菜单按钮 */
.dropdown-toggle,
.import-btn {
    background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%) !important;
    color: #ffffff !important;
    border-radius: 8px !important;
    border: none !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.dropdown-menu {
    border-radius: 10px !important;
    box-shadow: 0 12px 32px rgba(16, 31, 56, 0.18) !important;
    border: 1px solid #e3e8f0 !important;
}

/* 字母定位 */
.letter-filter-btn {
    background: #f2f5f9 !important;
    border: 1px solid #e3e8f0 !important;
    color: #334155 !important;
    border-radius: 8px !important;
    font-family: inherit !important;
}

.letter-filter-panel {
    background: #ffffff !important;
    border: 1px solid #e3e8f0 !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 28px rgba(16, 31, 56, 0.14) !important;
}

/* 搜索框 */
.search-box {
    border: 1px solid #d6dee8 !important;
    border-radius: 8px !important;
    padding: 9px 14px !important;
    font-family: inherit !important;
    background: #f8fafc !important;
    transition: all 0.2s ease !important;
}

.search-box:focus {
    border-color: #2c5282 !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(44, 82, 130, 0.12);
    outline: none;
}

/* ---------- 学生卡片 ---------- */
.master-card,
.student-card {
    background: #ffffff !important;
    border: 1px solid #e8ecf2 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 16px rgba(22, 50, 79, 0.06) !important;
    transition: all 0.25s ease !important;
}

.master-card:hover,
.student-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 32px rgba(22, 50, 79, 0.12) !important;
    border-color: #c9d4e2 !important;
}

/* ---------- Toast ---------- */
.toast {
    font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif !important;
    border-radius: 10px !important;
}

/* ---------- 滚动条（现代细滚动条） ---------- */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-thumb {
    background: #c3ccd8;
    border-radius: 8px;
}

::-webkit-scrollbar-thumb:hover {
    background: #a8b4c4;
}

::-webkit-scrollbar-track {
    background: transparent;
}

/* ---------- 实时排行榜面板 ---------- */
.rankings {
    background: #ffffff !important;
    backdrop-filter: none !important;
    border: 1px solid #e3e8f0 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 28px rgba(22, 50, 79, 0.08) !important;
    font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif !important;
}

.rankings h3 {
    font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif !important;
    font-size: 1.35em !important;
    color: #16324f !important;
    text-shadow: none !important;
    letter-spacing: 0.5px !important;
    border-left: 4px solid #c9a227;
    padding-left: 12px;
}

.ranking-toggle button,
.ranking-period-toggle button {
    background: #f2f5f9 !important;
    border: 1px solid #e3e8f0 !important;
    border-radius: 8px !important;
    color: #475569 !important;
    font-family: inherit !important;
    font-weight: 500 !important;
}

.ranking-toggle button:hover,
.ranking-period-toggle button:hover {
    background: #e8eef6 !important;
    border-color: #c9d4e2 !important;
}

.ranking-toggle button.active,
.ranking-period-toggle button.active {
    background: linear-gradient(135deg, #1e3a5f 0%, #2c5282 100%) !important;
    border-color: #1e3a5f !important;
    color: #ffffff !important;
    box-shadow: 0 3px 10px rgba(30, 58, 95, 0.28) !important;
}

.ranking-item {
    background: #ffffff !important;
    border: 1px solid #edf0f5 !important;
    border-radius: 12px !important;
    font-family: "Segoe UI", "Microsoft YaHei", "PingFang SC", sans-serif !important;
    color: #334155 !important;
    box-shadow: 0 2px 8px rgba(22, 50, 79, 0.05) !important;
}

.ranking-item:hover {
    border-color: #c9d4e2 !important;
    box-shadow: 0 6px 16px rgba(22, 50, 79, 0.1) !important;
}

/* 前三名：精致金属色（微调渐变方向与边框） */
.ranking-item.rank-first {
    background: linear-gradient(135deg, #d4af37 0%, #b8860b 100%) !important;
    border-color: #d4af37 !important;
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.3) !important;
}

.ranking-item.rank-second {
    background: linear-gradient(135deg, #c0c6cd 0%, #9aa4ae 100%) !important;
    border-color: #c0c6cd !important;
    box-shadow: 0 6px 20px rgba(154, 164, 174, 0.3) !important;
}

.ranking-item.rank-third {
    background: linear-gradient(135deg, #cd7f32 0%, #a05a2c 100%) !important;
    border-color: #cd7f32 !important;
    box-shadow: 0 6px 20px rgba(160, 90, 44, 0.3) !important;
}

