.sidebar-custom {
    background: #6ea8fe !important;
    min-height: 100vh;
    width: 200px;
    max-width: 220px;
    min-width: 160px;
    border-radius: 0 0 0 12px;
    box-shadow: 2px 0 8px rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
    padding-top: 0px;
}
.sidebar-custom .nav {
    flex-direction: column;
    flex: 1 1 auto;
}
.sidebar-custom .nav-link {
    color: #fff !important;
    font-size: 17px;
    margin-bottom: 10px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    transition: background 0.2s, color 0.2s;
    padding: 8px 18px;
}
.sidebar-custom .nav-link i {
    margin-right: 10px;
    font-size: 20px;
}
.sidebar-custom .nav-link.active,
.sidebar-custom .nav-link:hover {
    background: rgba(255,255,255,0.18) !important;
    color: #fff !important;
    text-decoration: none;
} 

/* 列表表格美化 */
.table {
    border-radius: 14px !important;
    overflow: hidden;
    box-shadow: 0 4px 24px 0 rgba(80, 120, 255, 0.10), 0 1.5px 6px 0 rgba(80, 120, 255, 0.08);
    background: #fff;
    border: none !important;
}
.table thead {
    background: linear-gradient(90deg, #6ea8fe 0%, #a685ff 100%);
    color: #fff;
    font-size: 1.08em;
}
.table th, .table td {
    border: none !important;
    padding: 14px 16px !important;
    vertical-align: middle !important;
}
.table tbody tr {
    transition: box-shadow 0.2s, background 0.2s;
}
.table tbody tr:hover {
    background: linear-gradient(90deg, #e3f0ff 0%, #f3eaff 100%);
    box-shadow: 0 2px 12px 0 rgba(80, 120, 255, 0.10);
}

/* ID列宽度优化 */
.table th:first-child, .table td:first-child {
    min-width: 48px;
    max-width: 72px;
    width: 60px;
    text-align: center;
    word-break: break-all;
}

/* 新闻管理列表标题列宽度进一步提升 */
.news-title-col {
    min-width: 320px;
    max-width: 700px;
    width: 480px;
    white-space: normal;
    word-break: break-all;
}
/* 新闻管理列表其他列宽度进一步缩短 */
.news-table th:not(.news-title-col), .news-table td:not(.news-title-col) {
    min-width: 10px;
    max-width: 20px;
    width: auto;
    text-align: center;
    word-break: break-all;
}

/* 按钮美化 */
.btn-primary, .btn-success, .btn-warning, .btn-danger, .btn-secondary {
    border: none;
    border-radius: 8px !important;
    font-weight: 500;
    box-shadow: 0 2px 8px 0 rgba(80, 120, 255, 0.10);
    transition: background 0.2s, box-shadow 0.2s, transform 0.15s;
}
.btn-primary {
    background: linear-gradient(90deg, #6ea8fe 0%, #a685ff 100%) !important;
    color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus {
    background: linear-gradient(90deg, #5a8dee 0%, #8e6fff 100%) !important;
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 4px 16px 0 rgba(80, 120, 255, 0.18);
}
.btn-success {
    background: linear-gradient(90deg, #42e695 0%, #3bb2b8 100%) !important;
    color: #fff !important;
}
.btn-success:hover, .btn-success:focus {
    background: linear-gradient(90deg, #2ecf7f 0%, #2a8fa0 100%) !important;
    transform: translateY(-2px) scale(1.04);
}
.btn-warning {
    background: linear-gradient(90deg, #ffd86f 0%, #fc6262 100%) !important;
    color: #fff !important;
}
.btn-warning:hover, .btn-warning:focus {
    background: linear-gradient(90deg, #ffb347 0%, #ff5858 100%) !important;
    transform: translateY(-2px) scale(1.04);
}
.btn-danger {
    background: linear-gradient(90deg, #ff5858 0%, #ffae70 100%) !important;
    color: #fff !important;
}
.btn-danger:hover, .btn-danger:focus {
    background: linear-gradient(90deg, #ff3b3b 0%, #ff8c42 100%) !important;
    transform: translateY(-2px) scale(1.04);
}
.btn-secondary {
    background: linear-gradient(90deg, #b2bfd6 0%, #6ea8fe 100%) !important;
    color: #fff !important;
}
.btn-secondary:hover, .btn-secondary:focus {
    background: linear-gradient(90deg, #a0aec0 0%, #5a8dee 100%) !important;
    transform: translateY(-2px) scale(1.04);
}

/* 分页美化 */
.pagination .page-link {
    border-radius: 6px !important;
    margin: 0 2px;
    color: #6ea8fe;
    border: none;
    transition: background 0.2s, color 0.2s;
}
.pagination .page-item.active .page-link {
    background: linear-gradient(90deg, #6ea8fe 0%, #a685ff 100%) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px 0 rgba(80, 120, 255, 0.10);
}
.pagination .page-link:hover {
    background: #e3f0ff;
    color: #6ea8fe;
}

/* 输入框美化 */
.input-group .form-control {
    border-radius: 6px !important;
    border: 1px solid #e3eaf2;
    transition: border 0.2s, box-shadow 0.2s;
}
.input-group .form-control:focus {
    border: 1.5px solid #6ea8fe;
    box-shadow: 0 2px 8px 0 rgba(80, 120, 255, 0.10);
} 

/* 科技感图片悬浮放大效果 */
.tech-hover-img {
    transition: transform 0.35s cubic-bezier(.23,1.02,.32,1), box-shadow 0.28s, filter 0.28s;
    box-shadow: 0 2px 8px rgba(80,120,255,0.10);
    cursor: pointer;
    will-change: transform, box-shadow, filter;
}
.tech-hover-img:hover {
    transform: scale(1.12) rotateZ(-1deg);
    box-shadow: 0 8px 32px 0 rgba(80,120,255,0.18), 0 0 16px 0 #a685ff55;
    filter: brightness(1.08) saturate(1.15) drop-shadow(0 0 8px #6ea8fe88);
    z-index: 2;
} 

/* 前台教师卡片科技感美化 */
.teacher-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 4px 24px 0 rgba(80, 120, 255, 0.10), 0 1.5px 6px 0 rgba(80, 120, 255, 0.08);
    border: 2px solid transparent;
    transition: box-shadow 0.28s, border 0.28s, transform 0.22s;
    position: relative;
    overflow: hidden;
    width: 320px;
}
.teacher-card:hover {
    box-shadow: 0 8px 32px 0 rgba(80,120,255,0.18), 0 0 24px 0 #a685ff55;
    border: 2px solid #6ea8fe;
    transform: translateY(-4px) scale(1.04);
    z-index: 2;
}
.teacher-avatar {
    width: 100px;
    height: 100px;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: 12px;
    border: 3px solid #6ea8fe;
    background: linear-gradient(135deg, #6ea8fe 0%, #a685ff 100%);
    box-shadow: 0 2px 12px 0 rgba(80, 120, 255, 0.13);
    transition: border 0.22s, box-shadow 0.22s;
}
.teacher-card:hover .teacher-avatar {
    border: 3px solid #a685ff;
    box-shadow: 0 4px 24px 0 #a685ff55;
}
.teacher-section h4 {
    font-size: 1.25rem;
    font-weight: bold;
    background: linear-gradient(90deg, #6ea8fe 0%, #a685ff 100%);
    color: #fff !important;
    border-radius: 8px;
    padding: 8px 18px;
    display: inline-block;
    box-shadow: 0 2px 8px 0 rgba(80, 120, 255, 0.10);
    margin-bottom: 18px !important;
    position: relative;
}
.teacher-section h4:after {
    content: '';
    display: block;
    height: 4px;
    width: 60px;
    background: linear-gradient(90deg, #6ea8fe 0%, #a685ff 100%);
    border-radius: 2px;
    margin: 8px auto 0 auto;
    opacity: 0.7;
    animation: teacher-title-underline 1.2s infinite alternate;
}
@keyframes teacher-title-underline {
    0% { width: 60px; opacity: 0.7; }
    100% { width: 100px; opacity: 1; }
}
.teacher-name {
    font-size: 1.18rem;
    font-weight: bold;
    color: #6ea8fe;
    letter-spacing: 1px;
    margin-bottom: 4px;
}
.teacher-intro {
    color: #555;
    font-size: 1.01rem;
    margin-top: 8px;
    min-height: 48px;
    line-height: 1.7;
}
.teacher-list {
    gap: 36px;
} 

.latest-course-img.tech-hover-img:hover {
    z-index: 30;
    position: relative;
} 

/* 新闻栏目美化 */
.news-list-table h2 {
    font-size: 1.6rem;
    font-weight: bold;
    color: #6ea8fe;
    margin-bottom: 28px;
    letter-spacing: 1px;
}
.news-list-table .table th, .news-list-table .table td {
    vertical-align: middle;
    font-size: 1.08rem;
}
.news-title-link {
    color: #2196f3;
    font-weight: 600;
    font-size: 1.13rem;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: color 0.18s;
}
.news-title-link:hover {
    color: #a685ff;
    text-decoration: underline;
}
.news-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #888;
    font-size: 0.98rem;
}
.news-meta i {
    color: #6ea8fe;
    font-size: 1.08rem;
    margin-right: 2px;
} 