*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5}#root{height:100%}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.mb-4{margin-bottom:32px}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.ml-0{margin-left:0}.ml-1{margin-left:8px}.ml-2{margin-left:16px}.ml-3{margin-left:24px}.mr-0{margin-right:0}.mr-1{margin-right:8px}.mr-2{margin-right:16px}.mr-3{margin-right:24px}.p-0{padding:0}.p-1{padding:8px}.p-2{padding:16px}.p-3{padding:24px}.p-4{padding:32px}@media (max-width: 575px){.hidden-xs{display:none!important}}@media (max-width: 767px){.hidden-sm{display:none!important}}@media (max-width: 991px){.hidden-md{display:none!important}}@media (max-width: 1199px){.hidden-lg{display:none!important}}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-in{animation:slideIn .3s ease-in-out}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.loading-container{display:flex;align-items:center;justify-content:center;min-height:200px}.empty-container{text-align:center;padding:48px 24px;color:#999}.error-container{text-align:center;padding:48px 24px;color:#f5222d}.ant-layout{background:#f0f2f5}.ant-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f;border:1px solid #f0f0f0}.ant-btn{border-radius:6px;font-weight:500;transition:all .3s ease-in-out}.ant-btn:hover{transform:translateY(-1px)}.ant-input,.ant-input-password{border-radius:6px}.ant-select-selector{border-radius:6px!important}.ant-pagination-item{border-radius:6px}.ant-tag{border-radius:4px}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;box-shadow:0 2px 8px #0000000f;height:64px;position:fixed;top:0;left:0;right:0;z-index:1000}.app-header .header-left{display:flex;align-items:center;gap:16px}.app-header .header-left .menu-trigger{display:none;border:none;font-size:18px;color:#666}.app-header .header-left .menu-trigger:hover{color:#1890ff}.app-header .header-left .logo{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:#1890ff}.app-header .header-left .logo img{width:32px;height:32px}.app-header .header-center{flex:1;display:flex;justify-content:center}.app-header .header-center .main-menu{background:transparent;border:none}.app-header .header-center .main-menu .ant-menu-item{margin:0 8px;border-radius:6px}.app-header .header-center .main-menu .ant-menu-item:hover{background:#f0f8ff}.app-header .header-center .main-menu .ant-menu-item.ant-menu-item-selected{background:#e6f7ff;color:#1890ff}.app-header .header-right{display:flex;align-items:center;gap:16px}.app-header .header-right .user-info{cursor:pointer;padding:4px 8px;border-radius:6px;transition:background-color .3s}.app-header .header-right .user-info:hover{background:#f5f5f5}.app-header .header-right .user-info .username{font-size:14px;color:#333}@media (max-width: 768px){.app-header{padding:0 16px}.app-header .header-left .menu-trigger{display:block}.app-header .header-center,.app-header .header-right .username{display:none}}@media (max-width: 480px){.app-header .header-left .logo span{display:none}}.app-sidebar{background:#001529;position:fixed;left:0;top:64px;bottom:0;z-index:999;overflow-y:auto;transition:all .3s}.app-sidebar .sidebar-header{padding:24px 16px;text-align:center;border-bottom:1px solid #1f1f1f}.app-sidebar .sidebar-header .user-info{text-align:center}.app-sidebar .sidebar-header .user-info .ant-typography{display:block;margin:0;color:#fff}.app-sidebar .sidebar-header .user-info .user-role{font-size:12px;color:#8c8c8c!important}.app-sidebar .sidebar-menu{background:transparent;border:none;margin-top:16px}.app-sidebar .sidebar-menu .ant-menu-item{margin:4px 8px;border-radius:6px;height:40px;line-height:40px;color:#bfbfbf}.app-sidebar .sidebar-menu .ant-menu-item:hover,.app-sidebar .sidebar-menu .ant-menu-item.ant-menu-item-selected{background:#1890ff;color:#fff}.app-sidebar .sidebar-menu .ant-menu-item.ant-menu-item-selected:after{display:none}.app-sidebar .sidebar-menu .ant-menu-item .ant-menu-item-icon{font-size:16px}.app-sidebar .sidebar-menu .ant-menu-submenu .ant-menu-submenu-title{color:#bfbfbf;margin:4px 8px;border-radius:6px;height:40px;line-height:40px}.app-sidebar .sidebar-menu .ant-menu-submenu .ant-menu-submenu-title:hover,.app-sidebar .sidebar-menu .ant-menu-submenu.ant-menu-submenu-selected .ant-menu-submenu-title{background:#1890ff;color:#fff}@media (max-width: 768px){.app-sidebar{transform:translate(-100%)}.app-sidebar.ant-layout-sider-collapsed{transform:translate(0)}}.app-sidebar .ant-menu-item:hover,.app-sidebar .ant-menu-submenu-title:hover,.app-sidebar .ant-menu-item-selected{background:#1890ff!important;color:#fff!important}.main-layout{min-height:100vh;background:#f0f2f5}.main-layout .layout-content{background:transparent}.main-layout .main-content{transition:margin-left .3s;background:#f0f2f5;min-height:calc(100vh - 64px)}@media (max-width: 768px){.main-layout .main-content.with-sidebar{margin-left:0!important}}.main-layout .main-content .content-wrapper{padding:24px;min-height:calc(100vh - 64px)}@media (max-width: 768px){.main-layout .main-content .content-wrapper{padding:16px}}@media (max-width: 768px){.main-layout .main-content{margin-left:0!important}}.main-content::-webkit-scrollbar{width:6px}.main-content::-webkit-scrollbar-track{background:#f1f1f1}.main-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.main-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.home-page .home-banner{margin-bottom:32px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.home-page .home-banner .banner-item{position:relative;height:400px;display:flex;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2)}.home-page .home-banner .banner-item .banner-content{flex:1;padding:0 48px;color:#fff;z-index:2}.home-page .home-banner .banner-item .banner-content h2{font-size:36px;font-weight:700;margin-bottom:16px;color:#fff}.home-page .home-banner .banner-item .banner-content p{font-size:18px;margin-bottom:24px;opacity:.9}.home-page .home-banner .banner-item .banner-content .ant-btn{height:48px;padding:0 32px;font-size:16px;border-radius:24px}.home-page .home-banner .banner-item .banner-image{flex:1;height:100%;display:flex;align-items:center;justify-content:center}.home-page .home-banner .banner-item .banner-image img{max-width:100%;max-height:100%;object-fit:cover}.home-page .home-content .stats-section{margin-bottom:32px}.home-page .home-content .stats-section .ant-card{text-align:center;border-radius:12px;box-shadow:0 2px 8px #0000000f;transition:transform .3s,box-shadow .3s}.home-page .home-content .stats-section .ant-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.home-page .home-content .featured-courses{border-radius:12px;box-shadow:0 2px 8px #0000000f}.home-page .home-content .featured-courses .ant-card-head{border-bottom:1px solid #f0f0f0}.home-page .home-content .featured-courses .course-cover{position:relative;height:200px;overflow:hidden}.home-page .home-content .featured-courses .course-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.home-page .home-content .featured-courses .course-cover .course-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.home-page .home-content .featured-courses .course-cover .course-overlay .anticon{font-size:48px;color:#fff}.home-page .home-content .featured-courses .ant-card:hover .course-cover img{transform:scale(1.05)}.home-page .home-content .featured-courses .ant-card:hover .course-cover .course-overlay{opacity:1}.home-page .home-content .featured-courses .course-description{color:#666;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-page .home-content .featured-courses .course-meta{display:flex;gap:16px;margin-bottom:12px;color:#999;font-size:12px}.home-page .home-content .featured-courses .course-meta span{display:flex;align-items:center;gap:4px}.home-page .home-content .featured-courses .course-price{display:flex;align-items:center;gap:8px}.home-page .home-content .featured-courses .course-price .price{font-size:18px;font-weight:600;color:#f5222d}.home-page .home-content .featured-courses .course-price .original-price{font-size:14px;color:#999;text-decoration:line-through}.home-page .home-content .live-streams{border-radius:12px;box-shadow:0 2px 8px #0000000f}.home-page .home-content .live-streams .ant-card-head{border-bottom:1px solid #f0f0f0}.home-page .home-content .live-streams .ant-list-item{padding:16px 0;border-bottom:1px solid #f0f0f0}.home-page .home-content .live-streams .ant-list-item:last-child{border-bottom:none}.home-page .home-content .live-streams .ant-list-item .ant-list-item-meta-title{margin-bottom:8px}.home-page .home-content .live-streams .ant-list-item .ant-list-item-meta-description p{margin-bottom:4px;color:#666}@media (max-width: 768px){.home-page .home-banner .banner-item{height:300px;flex-direction:column;text-align:center}.home-page .home-banner .banner-item .banner-content{padding:24px;order:2}.home-page .home-banner .banner-item .banner-content h2{font-size:24px}.home-page .home-banner .banner-item .banner-content p{font-size:14px}.home-page .home-banner .banner-item .banner-image{order:1;height:150px}.home-page .home-content .stats-section .ant-col{margin-bottom:16px}}.login-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.login-page .login-container{width:100%;max-width:400px}.login-page .login-container .login-card{border-radius:16px;box-shadow:0 20px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.login-page .login-container .login-card .login-header{text-align:center;margin-bottom:32px}.login-page .login-container .login-card .login-header h2{font-size:28px;font-weight:700;color:#333;margin-bottom:8px}.login-page .login-container .login-card .login-header p{color:#666;font-size:14px}.login-page .login-container .login-card .ant-form-item{margin-bottom:20px}.login-page .login-container .login-card .ant-form-item .ant-input,.login-page .login-container .login-card .ant-form-item .ant-input-password{height:48px;border-radius:8px;border:1px solid #e8e8e8;transition:all .3s}.login-page .login-container .login-card .ant-form-item .ant-input:hover,.login-page .login-container .login-card .ant-form-item .ant-input:focus,.login-page .login-container .login-card .ant-form-item .ant-input-password:hover,.login-page .login-container .login-card .ant-form-item .ant-input-password:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.login-page .login-container .login-card .ant-form-item .ant-input .ant-input-prefix,.login-page .login-container .login-card .ant-form-item .ant-input-password .ant-input-prefix{color:#999;margin-right:8px}.login-page .login-container .login-card .ant-form-item .ant-input-password{height:auto}.login-page .login-container .login-card .login-button{height:48px;border-radius:8px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#1890ff,#096dd9);border:none;margin-top:8px}.login-page .login-container .login-card .login-button:hover{background:linear-gradient(135deg,#40a9ff,#1890ff);transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.login-page .login-container .login-card .login-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.login-page .login-container .login-card .login-options .ant-btn-link{color:#666;font-size:14px}.login-page .login-container .login-card .login-options .ant-btn-link:hover{color:#1890ff}.login-page .login-container .login-card .ant-divider{color:#999;font-size:12px;margin:24px 0}.login-page .login-container .login-card .ant-divider:before,.login-page .login-container .login-card .ant-divider:after{border-top-color:#e8e8e8}.login-page .login-container .login-card .third-party-login{text-align:center;margin-bottom:24px}.login-page .login-container .login-card .third-party-login .third-party-btn{height:40px;border-radius:20px;border:1px solid #e8e8e8;background:#fff;color:#666;transition:all .3s}.login-page .login-container .login-card .third-party-login .third-party-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.login-page .login-container .login-card .third-party-login .third-party-btn.wechat:hover{border-color:#07c160;color:#07c160}.login-page .login-container .login-card .third-party-login .third-party-btn.qq:hover{border-color:#12b7f5;color:#12b7f5}.login-page .login-container .login-card .register-link{text-align:center;color:#666;font-size:14px}.login-page .login-container .login-card .register-link a{color:#1890ff;font-weight:600}.login-page .login-container .login-card .register-link a:hover{text-decoration:underline}@media (max-width: 480px){.login-page{padding:16px}.login-page .login-container .login-card .login-header h2{font-size:24px}}.register-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.register-page .register-container{width:100%;max-width:450px}.register-page .register-container .register-card{border-radius:16px;box-shadow:0 20px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.register-page .register-container .register-card .register-header{text-align:center;margin-bottom:32px}.register-page .register-container .register-card .register-header h2{font-size:28px;font-weight:700;color:#333;margin-bottom:8px}.register-page .register-container .register-card .register-header p{color:#666;font-size:14px}.register-page .register-container .register-card .ant-form-item{margin-bottom:20px}.register-page .register-container .register-card .ant-form-item .ant-input,.register-page .register-container .register-card .ant-form-item .ant-input-password,.register-page .register-container .register-card .ant-form-item .ant-select-selector{height:48px;border-radius:8px;border:1px solid #e8e8e8;transition:all .3s}.register-page .register-container .register-card .ant-form-item .ant-input:hover,.register-page .register-container .register-card .ant-form-item .ant-input:focus,.register-page .register-container .register-card .ant-form-item .ant-input-password:hover,.register-page .register-container .register-card .ant-form-item .ant-input-password:focus,.register-page .register-container .register-card .ant-form-item .ant-select-selector:hover,.register-page .register-container .register-card .ant-form-item .ant-select-selector:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.register-page .register-container .register-card .ant-form-item .ant-input .ant-input-prefix,.register-page .register-container .register-card .ant-form-item .ant-input-password .ant-input-prefix,.register-page .register-container .register-card .ant-form-item .ant-select-selector .ant-input-prefix{color:#999;margin-right:8px}.register-page .register-container .register-card .ant-form-item .ant-select{width:100%}.register-page .register-container .register-card .agreement{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:#666}.register-page .register-container .register-card .agreement input[type=checkbox]{margin-top:2px;width:16px;height:16px}.register-page .register-container .register-card .agreement label{cursor:pointer;line-height:1.5}.register-page .register-container .register-card .agreement label a{color:#1890ff;text-decoration:none}.register-page .register-container .register-card .agreement label a:hover{text-decoration:underline}.register-page .register-container .register-card .register-button{height:48px;border-radius:8px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#1890ff,#096dd9);border:none;margin-top:8px}.register-page .register-container .register-card .register-button:hover{background:linear-gradient(135deg,#40a9ff,#1890ff);transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.register-page .register-container .register-card .login-link{text-align:center;color:#666;font-size:14px}.register-page .register-container .register-card .login-link a{color:#1890ff;font-weight:600}.register-page .register-container .register-card .login-link a:hover{text-decoration:underline}@media (max-width: 480px){.register-page{padding:16px}.register-page .register-container .register-card .register-header h2{font-size:24px}}.courses-page .courses-header{text-align:center;margin-bottom:32px}.courses-page .courses-header h1{font-size:32px;font-weight:700;color:#333;margin-bottom:8px}.courses-page .courses-header p{color:#666;font-size:16px}.courses-page .courses-filters{background:#fff;padding:24px;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:24px}.courses-page .courses-content .course-card{border-radius:12px;overflow:hidden;transition:all .3s}.courses-page .courses-content .course-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.courses-page .courses-content .course-card .course-cover{position:relative;height:200px;overflow:hidden}.courses-page .courses-content .course-card .course-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.courses-page .courses-content .course-card .course-cover .course-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.courses-page .courses-content .course-card:hover .course-cover img{transform:scale(1.05)}.courses-page .courses-content .course-card:hover .course-cover .course-overlay{opacity:1}.courses-page .courses-content .course-card .ant-card-meta-title{font-size:16px;font-weight:600;margin-bottom:8px;color:#333}.courses-page .courses-content .course-card .course-description{color:#666;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.courses-page .courses-content .course-card .course-meta{display:flex;gap:16px;margin-bottom:12px;color:#999;font-size:12px}.courses-page .courses-content .course-card .course-meta span{display:flex;align-items:center;gap:4px}.courses-page .courses-content .course-card .course-price{display:flex;align-items:center;gap:8px}.courses-page .courses-content .course-card .course-price .price{font-size:18px;font-weight:600;color:#f5222d}.courses-page .courses-content .course-card .course-price .original-price{font-size:14px;color:#999;text-decoration:line-through}.courses-page .courses-content .pagination-container{text-align:center;margin-top:32px;padding:24px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000f}@media (max-width: 768px){.courses-page .courses-header h1{font-size:24px}.courses-page .courses-header p{font-size:14px}.courses-page .courses-filters{padding:16px}.courses-page .courses-content .course-card .course-cover{height:160px}}.course-detail-page .course-header{margin-bottom:24px}.course-detail-page .course-header .course-cover{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a}.course-detail-page .course-header .course-cover img{width:100%;height:300px;object-fit:cover}.course-detail-page .course-header .course-cover .course-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.course-detail-page .course-header .course-cover .course-overlay .anticon{font-size:48px;color:#fff}.course-detail-page .course-header .course-cover:hover .course-overlay{opacity:1}.course-detail-page .course-header .course-info h1{font-size:28px;font-weight:700;color:#333;margin-bottom:16px}.course-detail-page .course-header .course-info .course-description{color:#666;font-size:16px;line-height:1.6;margin-bottom:24px}.course-detail-page .course-header .course-info .course-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.course-detail-page .course-header .course-info .course-meta .meta-item{display:flex;align-items:center;gap:8px;color:#666;font-size:14px}.course-detail-page .course-header .course-info .course-meta .meta-item .anticon{color:#999}.course-detail-page .course-header .course-info .course-tags{margin-bottom:24px}.course-detail-page .course-header .course-info .course-tags .ant-tag{margin-bottom:8px}.course-detail-page .course-header .course-info .course-price{margin-bottom:24px}.course-detail-page .course-header .course-info .course-price .current-price{font-size:32px;font-weight:700;color:#f5222d;margin-right:12px}.course-detail-page .course-header .course-info .course-price .original-price{font-size:18px;color:#999;text-decoration:line-through}.course-detail-page .course-header .course-info .course-actions{display:flex;gap:12px;flex-wrap:wrap}.course-detail-page .course-header .course-info .course-actions .ant-btn{height:48px;padding:0 24px;font-size:16px;border-radius:8px}.course-detail-page .course-content .ant-tabs-tab{font-size:16px;font-weight:500}.course-detail-page .course-content .course-overview h3{font-size:18px;font-weight:600;color:#333;margin:24px 0 12px}.course-detail-page .course-content .course-overview h3:first-child{margin-top:0}.course-detail-page .course-content .course-overview p{color:#666;line-height:1.6;margin-bottom:16px}.course-detail-page .course-content .course-overview ul{color:#666;line-height:1.6;padding-left:20px}.course-detail-page .course-content .course-outline .lesson-number{width:32px;height:32px;background:#1890ff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.course-detail-page .course-content .course-outline .ant-list-item-meta-title{font-weight:500}.course-detail-page .course-content .course-outline .ant-list-item-meta-description{display:flex;align-items:center;gap:12px;color:#666}.course-detail-page .course-content .course-reviews .reviews-summary{margin-bottom:24px;padding:24px;background:#f8f9fa;border-radius:8px}.course-detail-page .course-content .course-reviews .reviews-summary .rating-overview .average-rating{display:flex;align-items:center;gap:12px}.course-detail-page .course-content .course-reviews .reviews-summary .rating-overview .average-rating .rating-score{font-size:32px;font-weight:700;color:#1890ff}.course-detail-page .course-content .course-reviews .reviews-summary .rating-overview .average-rating .rating-count{color:#666;font-size:14px}.course-detail-page .course-content .course-reviews .ant-list-item-meta-title{display:flex;align-items:center;gap:12px;font-weight:500}.course-detail-page .course-content .course-reviews .ant-list-item-meta-description p{color:#666;line-height:1.6;margin-bottom:8px}.course-detail-page .course-content .course-reviews .ant-list-item-meta-description .review-time{color:#999;font-size:12px}@media (max-width: 768px){.course-detail-page .course-header .course-cover img{height:200px}.course-detail-page .course-header .course-info h1{font-size:24px}.course-detail-page .course-header .course-info .course-meta{gap:12px}.course-detail-page .course-header .course-info .course-meta .meta-item{font-size:12px}.course-detail-page .course-header .course-info .course-price .current-price{font-size:24px}.course-detail-page .course-header .course-info .course-actions{flex-direction:column}.course-detail-page .course-header .course-info .course-actions .ant-btn{width:100%}}.profile-page .profile-header{text-align:center;margin-bottom:32px}.profile-page .profile-header h1{font-size:32px;font-weight:700;color:#333;margin-bottom:8px}.profile-page .profile-header p{color:#666;font-size:16px}.profile-page .ant-tabs .ant-tabs-tab{font-size:16px;font-weight:500}.profile-page .avatar-section{text-align:center;padding:24px}.profile-page .avatar-section .ant-avatar{border:4px solid #f0f0f0;box-shadow:0 4px 12px #0000001a}.profile-page .security-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #f0f0f0}.profile-page .security-item:last-child{border-bottom:none}.profile-page .security-item .security-info h4{margin:0 0 4px;font-size:16px;font-weight:600;color:#333}.profile-page .security-item .security-info p{margin:0;color:#666;font-size:14px}@media (max-width: 768px){.profile-page .profile-header h1{font-size:24px}.profile-page .profile-header p{font-size:14px}.profile-page .security-item{flex-direction:column;align-items:flex-start;gap:12px}.profile-page .security-item .security-info{width:100%}}.dashboard-page .dashboard-header{text-align:center;margin-bottom:32px}.dashboard-page .dashboard-header h1{font-size:32px;font-weight:700;color:#333;margin-bottom:8px}.dashboard-page .dashboard-header p{color:#666;font-size:16px}.dashboard-page .progress-card .overall-progress{margin-bottom:24px}.dashboard-page .progress-card .overall-progress .progress-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.dashboard-page .progress-card .overall-progress .progress-info h3{margin:0;font-size:18px;font-weight:600;color:#333}.dashboard-page .progress-card .overall-progress .progress-info .progress-percentage{font-size:24px;font-weight:700;color:#1890ff}.dashboard-page .progress-card .progress-actions{display:flex;gap:12px}.dashboard-page .recent-courses-card .course-title{display:flex;align-items:center;font-weight:600}.dashboard-page .recent-courses-card .course-meta{display:flex;gap:16px;margin-top:8px;color:#999;font-size:12px}.dashboard-page .recent-courses-card .course-meta span{display:flex;align-items:center;gap:4px}.dashboard-page .achievements-card .achievement-item{text-align:center;padding:16px;border-radius:8px;background:#f8f9fa;transition:all .3s}.dashboard-page .achievements-card .achievement-item:hover{background:#e6f7ff;transform:translateY(-2px)}.dashboard-page .achievements-card .achievement-item .achievement-icon{width:48px;height:48px;margin:0 auto 12px;background:#1890ff;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px}.dashboard-page .achievements-card .achievement-item .achievement-info h4{margin:0 0 4px;font-size:14px;font-weight:600;color:#333}.dashboard-page .achievements-card .achievement-item .achievement-info p{margin:0;font-size:12px;color:#666}@media (max-width: 768px){.dashboard-page .dashboard-header h1{font-size:24px}.dashboard-page .dashboard-header p{font-size:14px}.dashboard-page .progress-card .progress-actions{flex-direction:column}.dashboard-page .achievements-card .achievement-item{padding:12px}.dashboard-page .achievements-card .achievement-item .achievement-icon{width:40px;height:40px;font-size:20px}}.student-detail .info-card{margin-bottom:24px}.student-detail .info-card .student-avatar{text-align:center;padding:20px 0}.student-detail .info-card .student-avatar .student-name{font-size:18px;font-weight:600;color:#333;margin:12px 0 4px}.student-detail .info-card .student-avatar .student-username{font-size:14px;color:#999}.student-detail .info-card .ant-descriptions-item-label{font-weight:600;color:#666}.student-detail .stats-card{margin-bottom:24px}.student-detail .stats-card .ant-statistic-title{font-size:14px;color:#666}.student-detail .stats-card .ant-statistic-content{font-size:20px;font-weight:700}.student-detail .courses-card{margin-bottom:24px}.student-detail .courses-card .course-info{display:flex;align-items:center;gap:12px}.student-detail .courses-card .course-info .course-cover{width:60px;height:40px;object-fit:cover;border-radius:4px}.student-detail .courses-card .course-info .course-details{flex:1}.student-detail .courses-card .course-info .course-details .course-title{font-weight:600;color:#333;margin-bottom:4px}.student-detail .courses-card .course-info .course-details .course-desc{font-size:12px;color:#666;line-height:1.4}.student-detail .courses-card .course-progress .progress-text{font-size:12px;color:#666;margin-top:4px}.student-detail .courses-card .watch-time{color:#1890ff;font-size:12px}.student-detail .courses-card .last-watch{font-size:12px;color:#666}.student-detail .orders-card{margin-bottom:24px}.student-detail .orders-card .order-course{display:flex;align-items:center;gap:8px}.student-detail .orders-card .order-course .course-cover-small{width:40px;height:30px;object-fit:cover;border-radius:4px}.student-detail .timeline-card .timeline-item .timeline-title{font-weight:600;color:#333;margin-bottom:4px}.student-detail .timeline-card .timeline-item .timeline-time{font-size:12px;color:#999;margin-bottom:4px}.student-detail .timeline-card .timeline-item .timeline-progress{font-size:12px;color:#666}@media (max-width: 768px){.student-detail .info-card .student-avatar{padding:16px 0}.student-detail .stats-card .ant-statistic-content{font-size:16px}.student-detail .courses-card .course-info{flex-direction:column;text-align:center;gap:8px}.student-detail .courses-card .course-info .course-cover{width:80px;height:50px}.student-detail .orders-card .order-course{flex-direction:column;text-align:center;gap:4px}.student-detail .orders-card .order-course .course-cover-small{width:60px;height:40px}}.student-stats .overall-stats{margin-bottom:24px}.student-stats .overall-stats .ant-statistic-title{font-size:14px;color:#666}.student-stats .overall-stats .ant-statistic-content{font-size:20px;font-weight:700}.student-stats .lesson-usage{margin-bottom:24px}.student-stats .lesson-usage .usage-item{margin-bottom:16px}.student-stats .lesson-usage .usage-item .usage-label{font-weight:600;color:#333;margin-bottom:8px}.student-stats .watch-stats{margin-bottom:24px}.student-stats .watch-stats .course-info{display:flex;align-items:center;gap:8px}.student-stats .watch-stats .course-info .course-cover-small{width:40px;height:30px;object-fit:cover;border-radius:4px}.student-stats .watch-stats .watch-time{color:#1890ff;font-size:12px}.student-stats .watch-stats .watch-count{color:#52c41a;font-size:12px}.student-stats .watch-stats .last-watch{font-size:12px;color:#666}.student-stats .learning-trend{margin-bottom:24px}.student-stats .learning-trend .trend-chart .chart-placeholder{height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#f5f5f5;border-radius:8px;color:#999}.student-stats .learning-trend .trend-chart .chart-placeholder p{margin:8px 0;font-size:14px}.student-stats .course-completion .completion-list .completion-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #f0f0f0}.student-stats .course-completion .completion-list .completion-item:last-child{border-bottom:none}.student-stats .course-completion .completion-list .completion-item .course-info{display:flex;align-items:center;gap:12px;flex:1}.student-stats .course-completion .completion-list .completion-item .course-info .course-cover-small{width:60px;height:40px;object-fit:cover;border-radius:4px}.student-stats .course-completion .completion-list .completion-item .course-info .course-details{flex:1}.student-stats .course-completion .completion-list .completion-item .course-info .course-details .course-title{font-weight:600;color:#333;margin-bottom:8px}.student-stats .course-completion .completion-list .completion-item .course-info .course-details .course-progress{width:200px}.student-stats .course-completion .completion-list .completion-item .completion-status .completed{color:#52c41a;font-weight:600}.student-stats .course-completion .completion-list .completion-item .completion-status .in-progress{color:#1890ff;font-weight:600}@media (max-width: 768px){.student-stats .overall-stats .ant-statistic-content{font-size:16px}.student-stats .watch-stats .course-info{flex-direction:column;text-align:center;gap:4px}.student-stats .watch-stats .course-info .course-cover-small{width:60px;height:40px}.student-stats .course-completion .completion-list .completion-item{flex-direction:column;align-items:flex-start;gap:12px}.student-stats .course-completion .completion-list .completion-item .course-info,.student-stats .course-completion .completion-list .completion-item .course-info .course-details .course-progress{width:100%}.student-stats .course-completion .completion-list .completion-item .completion-status{align-self:flex-end}}.student-lessons .stats-row{margin-bottom:16px}.student-lessons .lessons-card .ant-card-head{border-bottom:1px solid #f0f0f0}.student-lessons .lesson-title{font-weight:500;color:#262626}.student-lessons .lesson-date{color:#595959;font-size:12px}.student-lessons .lesson-duration{color:#1890ff;font-weight:500}.student-lessons .lesson-duration .anticon{margin-right:4px}.student-lessons .replay-url .no-url{color:#bfbfbf;font-size:12px}.student-lessons .lesson-notes{color:#595959;font-size:12px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-lessons .ant-table .ant-table-thead>tr>th{background-color:#fafafa;font-weight:500}.student-lessons .ant-modal .ant-form-item{margin-bottom:16px}.student-management{padding:24px;background:#f5f5f5;min-height:100vh}.student-management .stats-row{margin-bottom:24px}.student-management .stats-row .ant-card{text-align:center}.student-management .stats-row .ant-card .ant-statistic-title{font-size:14px;color:#666}.student-management .stats-row .ant-card .ant-statistic-content{font-size:24px;font-weight:700}.student-management .search-card{margin-bottom:24px}.student-management .search-card .ant-row{align-items:center}.student-management .table-card .ant-table-thead>tr>th{background:#fafafa;font-weight:600}.student-management .table-card .student-info{display:flex;align-items:center;gap:12px}.student-management .table-card .student-info .student-details{flex:1}.student-management .table-card .student-info .student-details .student-name{font-weight:600;font-size:14px;color:#333;margin-bottom:4px}.student-management .table-card .student-info .student-details .student-username{font-size:12px;color:#999;margin-bottom:4px}.student-management .table-card .student-info .student-details .student-contact{font-size:12px;color:#666}.student-management .table-card .student-info .student-details .student-contact span{margin-right:8px}.student-management .table-card .lesson-stats .lesson-count{font-weight:600;color:#1890ff;margin-bottom:4px}.student-management .table-card .lesson-stats .lesson-used{font-size:12px;color:#666}.student-management .table-card .remaining-lessons .lesson-number{font-weight:600;color:#52c41a;margin-bottom:4px;display:block}.student-management .table-card .completion-rate .ant-progress-text{font-size:12px}.student-management .table-card .total-spent{font-weight:600;color:#cf1322}.student-management .ant-modal-body{max-height:70vh;overflow-y:auto}@media (max-width: 768px){.student-management{padding:16px}.student-management .stats-row .ant-col,.student-management .search-card .ant-col{margin-bottom:16px}.student-management .table-card .ant-table{font-size:12px}.student-management .table-card .student-info{flex-direction:column;text-align:center;gap:8px}}.lesson-replay{padding:24px;background:#f5f5f5;min-height:100vh}.lesson-replay .lesson-replay-loading,.lesson-replay .lesson-replay-error{display:flex;flex-direction:column;justify-content:center;align-items:center;height:400px;gap:16px}.lesson-replay .video-card .video-player .video-container{position:relative;background:#000;border-radius:8px;overflow:hidden;margin-bottom:16px}.lesson-replay .video-card .video-player .video-container video{display:block;width:100%;height:auto}.lesson-replay .video-card .video-player .video-controls{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#fafafa;border-radius:4px}.lesson-replay .video-card .video-player .video-controls .control-left{display:flex;align-items:center;gap:12px}.lesson-replay .video-card .video-player .video-controls .control-left .time-display{font-size:12px;color:#666;font-family:monospace}.lesson-replay .video-card .video-player .video-controls .control-center{flex:1;margin:0 16px}.lesson-replay .video-card .video-player .video-controls .control-right{display:flex;align-items:center}.lesson-replay .video-card .lesson-info{margin-bottom:24px}.lesson-replay .video-card .lesson-info .lesson-meta{margin-top:12px}.lesson-replay .video-card .chapters-section .chapter-item{cursor:pointer;padding:8px 12px;border-radius:4px;transition:background-color .2s}.lesson-replay .video-card .chapters-section .chapter-item:hover{background-color:#f0f0f0}.lesson-replay .view-record-card{margin-bottom:16px}.lesson-replay .view-record-card .record-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.lesson-replay .view-record-card .record-item:last-child{margin-bottom:0}.lesson-replay .video-settings-card{margin-bottom:16px}.lesson-replay .video-settings-card .setting-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.lesson-replay .video-settings-card .setting-item:last-child{margin-bottom:0}.lesson-replay .attachments-card .ant-list-item{padding:8px 0}@media (max-width: 768px){.lesson-replay{padding:16px}.lesson-replay .video-card .video-player .video-controls{flex-direction:column;gap:12px}.lesson-replay .video-card .video-player .video-controls .control-center{margin:0;width:100%}.lesson-replay .video-card .chapters-section .chapter-item{padding:12px}.lesson-replay .view-record-card,.lesson-replay .video-settings-card,.lesson-replay .attachments-card{margin-bottom:12px}.lesson-replay .view-record-card .record-item,.lesson-replay .view-record-card .setting-item,.lesson-replay .video-settings-card .record-item,.lesson-replay .video-settings-card .setting-item,.lesson-replay .attachments-card .record-item,.lesson-replay .attachments-card .setting-item{flex-direction:column;align-items:flex-start;gap:8px}}.my-courses{padding:24px}.my-courses .page-header{margin-bottom:32px;text-align:center}.my-courses .page-header h1{font-size:28px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.my-courses .page-header p{font-size:16px;color:#666;margin:0}.my-courses .my-courses-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px}.my-courses .my-courses-loading p{margin-top:16px;color:#666}.my-courses .empty-state{margin:80px 0;text-align:center}.my-courses .course-card{height:100%;transition:all .3s ease}.my-courses .course-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.my-courses .course-card .course-cover{position:relative;height:200px;overflow:hidden;cursor:pointer}.my-courses .course-card .course-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.my-courses .course-card .course-cover .course-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.my-courses .course-card .course-cover:hover img{transform:scale(1.05)}.my-courses .course-card .course-cover:hover .course-overlay{opacity:1}.my-courses .course-card .course-title{font-size:16px;font-weight:600;color:#1a1a1a;margin-bottom:8px;cursor:pointer;transition:color .3s ease}.my-courses .course-card .course-title:hover{color:#1890ff}.my-courses .course-card .course-info .course-teacher{color:#666;font-size:14px;margin-bottom:8px}.my-courses .course-card .course-info .course-teacher .anticon{margin-right:4px}.my-courses .course-card .course-info .course-stats{display:flex;justify-content:space-between;color:#999;font-size:12px;margin-bottom:12px}.my-courses .course-card .course-info .course-stats span{display:flex;align-items:center}.my-courses .course-card .course-info .course-stats span .anticon{margin-right:4px}.my-courses .course-card .course-info .course-progress{margin-bottom:12px}.my-courses .course-card .course-info .course-progress .progress-info{display:flex;justify-content:space-between;font-size:12px;color:#666;margin-bottom:4px}.my-courses .course-card .course-info .course-status{text-align:right}.my-courses .course-card .ant-card-actions{background:#fafafa;border-top:1px solid #f0f0f0}.my-courses .course-card .ant-card-actions li{margin:0}@media (max-width: 768px){.my-courses{padding:16px}.my-courses .page-header h1{font-size:24px}.my-courses .course-card .course-cover{height:160px}}
