/* ============================================
   辽宁省安防协会线上技术培训考试平台 - 全局样式
   ============================================ */
:root{--primary-color: #1890ff; --primary-hover: #1557b0; --primary-light: #e8f0fe; --secondary-color: #34a853; --danger-color: #ea4335; --warning-color: #fbbc04; --text-primary: #333; --text-secondary: #666; --text-muted: #999; --border-color: #e0e0e0; --bg-white: #fff; --bg-gray: #f5f7fa; --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08); --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1); --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12); --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px; --transition: all 0.3s ease;}
*{margin:0;padding:0;box-sizing:border-box;}
html{font-size:14px;font-family:"Microsoft YaHei","PingFang SC",sans-serif;}
body{background:#F5F7FA;color:#333;line-height:1.6;min-width:1200px;}
a{text-decoration:none;color:#1890ff;transition:all 0.3s;}
a:hover{color:#40a9ff;}
ul,ol{list-style:none;}
img{max-width:100%;vertical-align:middle;}
input,button,select,textarea{font-family:inherit;font-size:inherit;outline:none;}
button{cursor:pointer;border:none;}
.container{width:80%;min-width:1200px;margin:0 auto;position:relative;}
.clearfix::after{content:"";display:block;clear:both;}
.fl{float:left;}
.fr{float:right;}
.text-center{text-align:center;}
.text-right{text-align:right;}
.mt10{margin-top:10px;}.mt15{margin-top:15px;}.mt20{margin-top:20px;}.mt30{margin-top:30px;}
.mb10{margin-bottom:10px;}.mb15{margin-bottom:15px;}.mb20{margin-bottom:20px;}.mb30{margin-bottom:30px;}
.ml10{margin-left:10px;}.ml15{margin-left:15px;}.ml20{margin-left:20px;}
.mr10{margin-right:10px;}.mr15{margin-right:15px;}.mr20{margin-right:20px;}
.pt10{padding-top:10px;}.pt15{padding-top:15px;}.pt20{padding-top:20px;}.pt30{padding-top:30px;}
.pb10{padding-bottom:10px;}.pb15{padding-bottom:15px;}.pb20{padding-bottom:20px;}.pb30{padding-bottom:30px;}
.pl10{padding-left:10px;}.pl15{padding-left:15px;}.pl20{padding-left:20px;}
.pr10{padding-right:10px;}.pr15{padding-right:15px;}.pr20{padding-right:20px;}
.flex{display:flex;}
.flex-between{justify-content:space-between;}
.flex-center{justify-content:center;}
.flex-align{align-items:center;}
.flex-wrap{flex-wrap:wrap;}
.title-icon { color:#1890ff; margin-right: 8px; }

/* 主色调 */
.primary-color{color:#1890ff;}
.primary-bg{background:#1890ff;}
/* 按钮样式 */
.btn{display:inline-block;padding:8px 24px;border-radius:4px;font-size:14px;cursor:pointer;transition:all 0.3s;border:none;}
.btn-primary{background:#1890ff;color:#fff;}
.btn-primary:hover{background:#40a9ff;}
.btn-success{background:#52c41a;color:#fff;}
.btn-success:hover{background:#73d13d;}
.btn-warning{background:#faad14;color:#fff;}
.btn-warning:hover{background:#ffc53d;}
.btn-danger{background:#ff4d4f;color:#fff;}
.btn-danger:hover{background:#ff7875;}
.btn-default{background:#fff;border:1px solid #d9d9d9;color:#333;}
.btn-default:hover{border-color:#1890ff;color:#1890ff;}
.btn-lg{padding:12px 40px;font-size:16px;}
.btn-sm{padding:5px 15px;font-size:12px;}
.btn-block{display:block;width:100%;}
/* 卡片样式 */
.card{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.08);padding:20px;margin-bottom:20px;}
.card-title{font-size:18px;font-weight:bold;color:#333;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #1890ff;display:inline-block;}


/* 卡片通用样式 */
.card{background:#fff;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,0.08);overflow:hidden;}
.card-header{padding:16px 20px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;}
.card-header h3{font-size:16px;color:#333;font-weight:600;}
.card-header .more{color:#1890ff;font-size:14px;cursor:pointer;}
.card-body{padding:20px;}


/* 表单样式 */
.form-group{margin-bottom:20px;}
.form-label{display:block;margin-bottom:8px;font-size:14px;color:#333;font-weight:500;}
.form-label .required{color:#ff4d4f;margin-right:4px;}
.form-input{width:100%;height:40px;padding:0 15px;border:1px solid #d9d9d9;border-radius:4px;transition:all 0.3s;}
.form-input:focus{border-color:#1890ff;box-shadow:0 0 0 2px rgba(24,144,255,0.2);}
.form-input.error{border-color:#ff4d4f;}
.form-input-icon{position:relative;}
.form-input-icon .form-input{padding-left:40px;}
.form-input-icon i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#999;}
textarea.form-input{height:auto;padding:10px 15px;resize:vertical;min-height:100px;}
.form-select{width:100%;height:40px;padding:0 15px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;cursor:pointer;}
.form-row{display:flex;margin:0 -10px;flex-wrap:wrap;}
.form-row .form-group{flex:0 0 50%;padding:0 10px;margin-bottom:20px;}
.form-row .form-group.full{flex:0 0 100%;}
/* 表格样式 */
.data-table{width:100%;border-collapse:collapse;}
.data-table th,.data-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #f0f0f0;}
.data-table th{background:#fafafa;font-weight:600;color:#333;}
.data-table tr:hover{background:#f5f7fa;}
.data-table .empty{text-align:center;color:#999;padding:40px;}
/* 分页 */
.pagination{display:flex;justify-content:center;align-items:center;margin-top:20px;}
.pagination a,.pagination span{display:inline-block;padding:6px 12px;margin:0 4px;border:1px solid #d9d9d9;border-radius:4px;color:#333;cursor:pointer;}
.pagination a:hover,.pagination .current{background:#1890ff;color:#fff;border-color:#1890ff;}
/* 网格布局 */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}

/* 标签 */
.tag{display:inline-block;padding:2px 10px;border-radius:4px;font-size:12px;margin-right:5px;}
.tag-primary{background:#e6f7ff;color:#1890ff;border:1px solid #91d5ff;}
.tag-success{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f;}
.tag-warning{background:#fffbe6;color:#faad14;border:1px solid #ffe58f;}
.tag-danger{background:#fff2f0;color:#ff4d4f;border:1px solid #ffccc7;}
/* 进度条 */
.progress{height:8px;background:#f5f5f5;border-radius:4px;overflow:hidden;}
.progress-bar{height:100%;background:#1890ff;border-radius:4px;transition:width 0.3s;}
/* 视频卡片 */
.video-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.08);transition:all 0.3s;cursor:pointer;}
.video-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,0.15);}
.video-card .video-thumb{position:relative;width:100%;padding-top:56.25%;overflow:hidden;background:#f0f0f0;}
.video-card .video-thumb img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;}
.video-card .video-thumb .play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background:rgba(24,144,255,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;opacity:0;transition:all 0.3s;}
.video-card:hover .video-thumb .play-icon{opacity:1;}
.video-card .video-thumb .duration{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,0.7);color:#fff;padding:2px 8px;border-radius:4px;font-size:12px;}
.video-card .video-info{padding:15px;}
.video-card .video-title{font-size:15px;color:#333;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.video-card .video-meta{display:flex;justify-content:space-between;color:#999;font-size:13px;}
.video-card .video-progress{margin-top:10px;}
.video-card .video-progress .progress-text{display:flex;justify-content:space-between;font-size:12px;color:#666;margin-bottom:5px;}
/* 统计数字 */
.stat-card{background:#fff;border-radius:8px;padding:25px 20px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.stat-card .stat-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 15px;font-size:24px;}
.stat-card .stat-icon.blue{background:#e6f7ff;color:#1890ff;}
.stat-card .stat-icon.green{background:#f6ffed;color:#52c41a;}
.stat-card .stat-icon.orange{background:#fffbe6;color:#faad14;}
.stat-card .stat-icon.red{background:#fff2f0;color:#ff4d4f;}
.stat-card .stat-num{font-size:32px;font-weight:bold;color:#333;margin-bottom:5px;}
.stat-card .stat-label{font-size:14px;color:#666;}


/* 统计数字样式 */
.stat-item{text-align:center;padding:20px;}
.stat-item .stat-num{font-size:36px;font-weight:700;color:#1890ff;line-height:1.2;}
.stat-item .stat-label{font-size:14px;color:#666;margin-top:8px;}
.stat-item .stat-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 10px;font-size:24px;}


/* 公告列表 */
.notice-list .notice-item{padding:12px 0;border-bottom:1px dashed #e8e8e8;display:flex;align-items:center;}
.notice-list .notice-item:last-child{border-bottom:none;}
.notice-list .notice-item .notice-dot{width:6px;height:6px;background:#1890ff;border-radius:50%;margin-right:10px;flex-shrink:0; display: inline-block;}
.notice-list .notice-item .notice-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#333;}
.notice-list .notice-item .notice-date{color:#999;font-size:13px;margin-left:10px;}


/* 公告列表 */
.notice-list .notice-item{padding:12px 0;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center;}
.notice-list .notice-item:last-child{border-bottom:none;}
.notice-list .notice-item a{color:#333;font-size:14px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:16px;}
.notice-list .notice-item a:hover{color:#1890ff;}
.notice-list .notice-item .date{color:#999;font-size:12px;}


/* 头部样式 */
.header{width:100%;background:linear-gradient(135deg,#1890ff 0%,#096dd9 100%);position:fixed;top:0;left:0;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,0.15);}
.header .container{display:flex;justify-content:space-between;align-items:center;height:100px;}
.header-logo{display:flex;align-items:center;}
.header-logo img{width:55px;margin-right:10px;border-radius:4px;}
.header-logo h1{font-size:20px;color:#fff;font-weight:600;}
.header-nav{display:flex;align-items:center;}
.header-nav a{display:block;padding:0 20px;color:rgba(255,255,255,0.9);font-size:16px;height:100px;line-height:100px;transition:all 0.3s; position: relative}
.header-nav a:hover,.header-nav a.active{color:#fff;background:rgba(255,255,255,0.1);}
.header-nav a.active::after{content:"";position:absolute;bottom:0;left:20px;right:20px;height:3px;background:#fff;border-radius:2px;}
.header-nav .nav-divider{width:1px;height:20px;background:rgba(255,255,255,0.3);margin:0 10px;}
.header-user{display:flex;align-items:center;}
.header-user a{color:rgba(255,255,255,0.9);font-size:14px;padding:6px 16px;border:1px solid rgba(255,255,255,0.5);border-radius:4px;margin-left:10px;transition:all 0.3s;}
.header-user a:hover{background:rgba(255,255,255,0.2);border-color:#fff;}
.header-user a.btn-fill{background:#fff;color:#1890ff;border-color:#fff;}
.header-user a.btn-fill:hover{background:rgba(255,255,255,0.9); color:#1890ff; }
.header-user .btn-login{background:rgba(255,255,255,0.2);}
.header-user .btn-login:hover{background:rgba(255,255,255,0.3);}
.header-user .btn-register{background:#fff;color:#1890ff;}
.header-user .btn-register:hover{background:#f0f5ff;}

/* 主体内容区域 */
.main-content{padding-top:100px;min-height:calc(100vh - 160px);}
/* 页脚样式 */
.footer{background:#001529;color:rgba(255,255,255,0.65);padding:20px 0 20px;margin-top:40px;}
.footer .footer-content{display:flex;justify-content:space-between;margin-bottom:10px; color:#666 }
.footer .footer-content p{font-size:14px;margin-bottom:5px; text-align: left;}
.footer .footer-title{font-size:18px;color:#fff;margin-bottom:15px;}
.footer.footer-desc{font-size:14px;line-height:1.8;max-width:400px;}
.footer .footer-right{text-align:right;}
.footer .footer-links{margin-bottom:15px;}
.footer .footer-links a{color:rgba(255,255,255,0.65);margin-right:20px;font-size:14px;}
.footer .footer-links a:hover{color:#fff;}
.footer .footer-bottom{text-align:center;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1);font-size:13px; color: #666}
.footer .footer-bottom a{color: #666;margin:0 10px;}
.footer .footer-bottom a:hover{color:#fff;}
/* banner轮播 */
.banner{position:relative;overflow:hidden; background:linear-gradient(135deg,#1890ff 0%,#096dd9 100%); }
.banner-slide{display:none;width:100%;padding:80px 0;text-align:center;color:#fff; z-index: 2; position: relative }
.banner-slide.active{display:block;}
.banner-slide h2{font-size:42px;margin-bottom:20px;font-weight:bold;}
.banner-slide p{font-size:18px;opacity:0.9;}
.banner-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;}
.banner-dots span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,0.4);margin:0 6px;cursor:pointer;transition:all 0.3s;}
.banner-dots span.active{background:#fff;width:30px;border-radius:5px;}
.banner-slide a.btn-primary:hover { color: #fff;}
/* 搜索框 */
.search-box{display:flex;align-items:center;background:#fff;border-radius:4px;overflow:hidden;border:1px solid #d9d9d9;}
.search-box input{flex:1;border:none;padding:0 15px;height:40px;}
.search-box button{width:80px;height:40px;background:#1890ff;color:#fff;border:none;cursor:pointer;}
.search-box button:hover{background:#40a9ff;}
/* 筛选栏
.filter-bar{display:flex;align-items:center;padding:15px 20px;background:#fff;border-radius:8px;margin-bottom:20px;flex-wrap:wrap;}
.filter-bar .filter-group{display:flex;align-items:center;margin-right:30px;margin-bottom:5px;}
.filter-bar .filter-label{color:#666;margin-right:10px;font-size:14px;}
.filter-bar .filter-options{display:flex;}
.filter-bar .filter-options a{padding:4px 12px;border-radius:4px;margin-right:5px;font-size:14px;color:#333;}
.filter-bar .filter-options a:hover{color:#1890ff;}
.filter-bar .filter-options a.active{background:#1890ff;color:#fff;}
*/

/* 筛选栏 */
.filter-bar{background:#fff;padding:16px 20px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;}
.filter-group{display:flex;align-items:center;margin-right:20px;margin-bottom:10px;}
.filter-group label{color:#666;margin-right:10px;white-space:nowrap;}
.filter-group select{min-width:120px;}


/* 面包屑 */
.breadcrumb{padding:15px 0;font-size:14px;color:#666; }
.breadcrumb a{color:#666;}
.breadcrumb a:hover{color:#1890ff;}
.breadcrumb .sep{margin:0 8px;color:#999;}
.breadcrumb .current{color:#333;}

.warning-tip {  background: #fff7e6; border: 1px solid #ffd591; border-radius: 10px; padding: 15px 20px; margin-bottom: 25px; display: flex; align-items: center;  gap: 12px; color: #d46b08; font-size: 14px; }

/* 视频详情 */
.video-page{display: grid; grid-template-columns: 1fr 360px; gap: 24px;}
.video-main{background: var(--bg-white); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm);}
.video-player{width: 100%; background: #000; position: relative;}
.video-player video{width: 100%; display: block;}
.video-placeholder{width: 100%; height: 450px; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff;}
.video-placeholder-icon{font-size: 64px; margin-bottom: 16px; opacity: 0.8;}
.video-placeholder-text{font-size: 16px; opacity: 0.6;}
.video-controls-bar{padding: 16px 20px; background: #f8f9fa; border-top: 1px solid var(--border-color); display: flex; align-items: center; gap: 16px;}
.video-time{font-size: 14px; color: var(--text-secondary);}
.video-progress-wrapper{flex: 1; height: 6px; background: var(--border-color); border-radius: 3px; position: relative;}
.video-progress-inner{height: 100%; background: var(--primary-color); border-radius: 3px;}
.video-info{padding: 24px;}
.video-title{font-size: 20px; font-weight: 600; margin-bottom: 12px;}
.video-meta{display: flex; gap: 20px; font-size: 14px; color: var(--text-secondary); margin-bottom: 16px;}
.video-desc{font-size: 14px; color: var(--text-secondary); line-height: 1.8;}
.video-sidebar{display: flex; flex-direction: column; gap: 20px;}
.lesson-list-card{background: var(--bg-white); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm);}
.lesson-list-header{padding: 16px 20px; background: #FFF; font-weight: 600; border-bottom: 1px solid var(--border-color);}
.lesson-list{max-height: 400px; overflow-y: auto;}
.lesson-item{padding: 14px 20px; border-bottom: 1px solid var(--border-color); cursor: pointer; transition: var(--transition); display: flex; align-items: center; gap: 12px;}
.lesson-item:hover{background: var(--primary-light);}
.lesson-item.active{background: var(--primary-light); color: var(--primary-color);}
.lesson-item.completed .lesson-status{color: var(--secondary-color);}
.lesson-status{font-size: 16px; color: var(--text-muted);}
.lesson-name{flex: 1; font-size: 14px;}
.lesson-duration{font-size: 12px; color: var(--text-muted);}
/* 验证弹窗 */
.verify-modal{text-align: center;}
.verify-question{font-size: 16px; margin-bottom: 20px; padding: 20px; background: var(--bg-gray); border-radius: var(--radius-md);}
.verify-options{display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px;}
.verify-option{padding: 14px; border: 2px solid var(--border-color); border-radius: var(--radius-md); cursor: pointer; transition: var(--transition);}
.verify-option:hover{border-color: var(--primary-color);}


/* 题目样式 */
.question-item{background:#fff;border-radius:8px;padding:25px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.question-item .question-num{display:inline-block;width:28px;height:28px;background:#1890ff;color:#fff;border-radius:50%;text-align:center;line-height:28px;font-size:14px;margin-right:10px;}
.question-item .question-type{color:#1890ff;font-size:13px;margin-left:10px;}
.question-item .question-title{font-size:16px;color:#333;margin-bottom:15px;line-height:1.6;}
.question-item .question-options .option{padding:12px 15px;border:1px solid #e8e8e8;border-radius:4px;margin-bottom:10px;cursor:pointer;transition:all 0.3s;display:flex;align-items:center;}
.question-item .question-options .option:hover{border-color:#1890ff;background:#e6f7ff;}
.question-item .question-options .option.selected{border-color:#1890ff;background:#e6f7ff;}
.question-item .question-options .option.correct{border-color:#52c41a;background:#f6ffed;}
.question-item .question-options .option.wrong{border-color:#ff4d4f;background:#fff2f0;}
.question-item .question-options .option .option-tag{width:24px;height:24px;border:1px solid #d9d9d9;border-radius:50%;text-align:center;line-height:22px;margin-right:10px;font-size:12px;color:#666;flex-shrink:0;}
.question-item .question-options .option.selected .option-tag{background:#1890ff;color:#fff;border-color:#1890ff;}
.question-item .question-options .option.correct .option-tag{background:#52c41a;color:#fff;border-color:#52c41a;}
.question-item .question-options .option.wrong .option-tag{background:#ff4d4f;color:#fff;border-color:#ff4d4f;}
.question-item .question-answer{margin-top:15px;padding:15px;background:#f6ffed;border-radius:4px;border-left:4px solid #52c41a;}
.question-item .question-answer.wrong{background:#fff2f0;border-left-color:#ff4d4f;}
.question-item .question-answer .answer-title{font-weight:bold;margin-bottom:8px;}
.question-item .question-answer .answer-content{color:#666;line-height:1.8;}
/* 考试布局 */
.exam-layout{display:flex;}
.exam-main{flex:1;margin-right:20px;}
.exam-sidebar{width:300px;flex-shrink:0;}
.exam-sidebar .sidebar-card{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.exam-sidebar .monitor-video{width:100%;height:180px;background:#000;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:15px;}
.exam-sidebar .question-nav{display:flex;flex-wrap:wrap;}
.exam-sidebar .question-nav a{width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;margin:0 6px 6px 0;font-size:13px;border:1px solid #d9d9d9;color:#333;cursor:pointer;}
.exam-sidebar .question-nav a.answered{background:#52c41a;color:#fff;border-color:#52c41a;}
.exam-sidebar .question-nav a.current{background:#1890ff;color:#fff;border-color:#1890ff;}
/* 弹窗验证 */
.verify-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.6);z-index:9999;display:flex;align-items:center;justify-content:center;}
.verify-modal .verify-content{background:#fff;border-radius:8px;padding:40px;width:400px;text-align:center;}
.verify-modal .verify-content h3{font-size:20px;margin-bottom:20px;}
.verify-modal .verify-content .verify-code{font-size:36px;font-weight:bold;color:#1890ff;letter-spacing:10px;margin:20px 0;padding:15px;background:#f5f7fa;border-radius:4px;}
.verify-modal .verify-content .verify-input{width:100%;height:45px;text-align:center;font-size:18px;border:2px solid #d9d9d9;border-radius:4px;margin:15px 0;}
.verify-modal .verify-content .verify-input:focus{border-color:#1890ff;}
/* 响应式 */
@media screen and (max-width:1366px){.container{width:90%;}}
@media screen and (max-width:768px){body{min-width:auto;}.container{width:100%;min-width:auto;padding:0 15px;}.header .container{height:auto;flex-direction:column;padding:10px 0;}.header-nav{flex-wrap:wrap;justify-content:center;}.header-nav a{height:44px;line-height:44px;padding:0 12px;font-size:14px;}.exam-layout{flex-direction:column;}.exam-sidebar{width:100%;margin-top:20px;}.form-row .form-group{flex:0 0 100%;}.footer .footer-content{flex-direction:column;text-align:center;}.footer .footer-right{text-align:center;margin-top:20px;}}
/* 登录注册头部 */
.auth-header{background:linear-gradient(135deg,#1890ff 0%,#096dd9 100%);padding:60px 0;text-align:center;color:#fff;}
.auth-header .auth-logo{width:80px;height:80px;margin-bottom:20px;border-radius:16px;}
.auth-header .auth-title{font-size:32px;font-weight:bold;margin-bottom:10px;}
.auth-header .auth-desc{font-size:16px;opacity:0.9;}
/* 登录注册主体 */
.auth-body{background:linear-gradient(135deg,#f0f5ff 0%,#e6f7ff 100%);min-height:calc(100vh - 300px);padding:40px 0;}
.auth-body .auth-container{display:flex;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,0.1);}
.auth-body .auth-left{flex:0 0 65%;padding:60px;background:linear-gradient(135deg,#1890ff 0%,#096dd9 100%);color:#fff;display:flex;flex-direction:column;justify-content:center;}
.auth-body .auth-left h3{font-size:28px;margin-bottom:20px;}
.auth-body .auth-left p{font-size:16px;line-height:2;opacity:0.9;}
.auth-body .auth-left .feature-list{margin-top:30px;}
.auth-body .auth-left .feature-list li{display:flex;align-items:center;margin-bottom:20px;font-size:16px;}
.auth-body .auth-left .feature-list li i{margin-right:15px;font-size:24px;}
.auth-body .auth-right{flex:0 0 35%;padding:40px;display:flex;flex-direction:column;justify-content:center;}
/* Tab切换 */
.auth-tabs{display:flex;border-bottom:2px solid #f0f0f0;margin-bottom:25px;}
.auth-tabs .tab-item{flex:1;text-align:center;padding:12px 0;font-size:16px;color:#666;cursor:pointer;position:relative;}
.auth-tabs .tab-item.active{color:#1890ff;font-weight:bold;}
.auth-tabs .tab-item.active::after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:#1890ff;}
.tab-content{display:none;}
.tab-content.active{display:block;}
/* 其它登录方式 */
.other-login{margin-top:25px;text-align:center;}
.other-login .divider{display:flex;align-items:center;margin-bottom:20px;color:#999;font-size:13px;}
.other-login .divider::before,.other-login .divider::after{content:"";flex:1;height:1px;background:#e8e8e8;}
.other-login .divider span{padding:0 15px;}
.other-login .wx-btn{display:inline-flex;align-items:center;padding:10px 30px;border:1px solid #07c160;border-radius:4px;color:#07c160;font-size:14px;transition:all 0.3s;}
.other-login .wx-btn:hover{background:#07c160;color:#fff;}
.other-login .wx-btn i{margin-right:8px;font-size:20px;}
/* 注册页 */
.register-body{background:linear-gradient(135deg,#f0f5ff 0%,#e6f7ff 100%);min-height:calc(100vh - 300px);padding:40px 0;}
.register-body .register-container{background:#fff;border-radius:12px;padding:40px;box-shadow:0 4px 20px rgba(0,0,0,0.1);}
.register-body .form-row .form-group{flex:0 0 50%;}
.register-body .agreement{margin:20px 0;display:flex;align-items:center;}
.register-body .agreement input{margin-right:8px;}
/* 协议弹窗内容 */
.agreement-content{max-height:400px;overflow-y:auto;line-height:2;color:#666;}
.agreement-content h4{color:#333;margin:15px 0 10px;}
/* 个人中心 */
.profile-header{background:linear-gradient(135deg,#1890ff 0%,#096dd9 100%);border-radius:12px;padding:40px;display:flex;align-items:center;color:#fff;margin-bottom:20px;}
.profile-header .profile-avatar{width:100px;height:100px;border-radius:50%;border:4px solid rgba(255,255,255,0.3);margin-right:25px;}
.profile-header .profile-info{flex:1;}
.profile-header .profile-info h2{font-size:24px;margin-bottom:10px;}
.profile-header .profile-info p{opacity:0.9;font-size:14px;}
.profile-header .profile-btns{display:flex;flex-direction:column;}
.profile-header .profile-btns .btn{margin-bottom:10px;background:rgba(255,255,255,0.2);color:#fff;border:1px solid rgba(255,255,255,0.3);}
.profile-header .profile-btns .btn:hover{background:rgba(255,255,255,0.3);}
/* 视频播放器 */
.video-player{position:relative;width:100%;background:#000;border-radius:8px;overflow:hidden;}
.video-player video{width:100%;height:auto;display:block;}
.video-player .video-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;z-index:10;}
.video-player .video-overlay i{font-size:60px;margin-bottom:15px;}
.video-player .video-overlay p{font-size:18px;}
/* 缴费页面 */
.pay-amount{background:linear-gradient(135deg,#1890ff 0%,#096dd9 100%);border-radius:12px;padding:40px;text-align:center;color:#fff;margin-bottom:20px;}
.pay-amount .amount-label{font-size:16px;margin-bottom:10px;opacity:0.9;}
.pay-amount .amount-num{font-size:48px;font-weight:bold;}
.pay-amount .amount-num span{font-size:24px;}
.pay-info{background:#fff;border-radius:8px;padding:20px;margin-bottom:20px;}
.pay-info .info-row{display:flex;padding:12px 0;border-bottom:1px solid #f0f0f0;}
.pay-info .info-row:last-child{border-bottom:none;}
.pay-info .info-row .info-label{width:120px;color:#666;}
.pay-info .info-row .info-value{flex:1;color:#333;font-weight:500;}
.pay-methods{display:flex;gap:20px;}
.pay-method{flex:1;background:#fff;border:2px solid #e8e8e8;border-radius:8px;padding:30px;text-align:center;cursor:pointer;transition:all 0.3s;}
.pay-method:hover{border-color:#1890ff;}
.pay-method.active{border-color:#1890ff;background:#e6f7ff;}
.pay-method i{font-size:48px;margin-bottom:15px;}
.pay-method.wx i{color:#07c160;}
.pay-method.alipay i{color:#1677ff;}
.pay-method .pay-name{font-size:16px;color:#333;}
/* 证书 */
.certificate-link{display:inline-flex;align-items:center;padding:6px 15px;background:#fffbe6;border:1px solid #ffe58f;border-radius:4px;color:#faad14;font-size:13px;}
.certificate-link i{margin-right:5px;}
/* 弹窗表格 */
.modal-table{width:100%;}
.modal-table th,.modal-table td{padding:10px;border-bottom:1px solid #f0f0f0;}
.modal-table th{background:#fafafa;}
/* 加载动画 */
.loading{display:inline-block;width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #1890ff;border-radius:50%;animation:spin 1s linear infinite;}
@keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}
/* 消息提示 */
.msg-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%);padding:12px 30px;background:#fff;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,0.15);z-index:10000;display:none;}
.msg-toast.show{display:block;animation:slideDown 0.3s ease;}
.msg-toast.success{border-left:4px solid #52c41a;}
.msg-toast.error{border-left:4px solid #ff4d4f;}
@keyframes slideDown{from{opacity:0;transform:translateX(-50%) translateY(-20px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
/* 倒计时 */
.countdown{display:inline-flex;align-items:center;padding:8px 20px;background:#fff2f0;border:1px solid #ffccc7;border-radius:4px;color:#ff4d4f;font-size:16px;font-weight:bold;}
.countdown i{margin-right:8px;}
/* 步骤条 */
.steps{display:flex;margin-bottom:30px;}
.steps .step{flex:1;text-align:center;position:relative;}
.steps .step::after{content:"";position:absolute;top:15px;left:50%;width:100%;height:2px;background:#e8e8e8;z-index:-1;}
.steps .step:last-child::after{display:none;}
.steps .step .step-num{width:32px;height:32px;border-radius:50%;background:#e8e8e8;color:#999;display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px;font-size:14px;}
.steps .step.active .step-num{background:#1890ff;color:#fff;}
.steps .step.done .step-num{background:#52c41a;color:#fff;}
.steps .step .step-title{font-size:14px;color:#666;}
.steps .step.active .step-title{color:#1890ff;font-weight:bold;}
/* 空状态 */
.empty-state{text-align:center;padding:60px 20px;}
.empty-state i{font-size:64px;color:#d9d9d9;margin-bottom:20px;}
.empty-state p{color:#999;font-size:16px;}
/* 返回顶部 */
.back-top{position:fixed;right:30px;bottom:30px;width:44px;height:44px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px rgba(0,0,0,0.15);cursor:pointer;transition:all 0.3s;opacity:0;visibility:hidden;}
.back-top.show{opacity:1;visibility:visible;}
.back-top:hover{background:#1890ff;color:#fff;}


.tab-nav{display: flex;border-bottom: 2px solid #f0f0f0;margin-bottom: 20px;}
.tab-nav li{flex: 1;text-align: center;padding: 12px 0;cursor: pointer;font-size: 14px;color: #666;position: relative;}
.tab-nav li.active{color: #1890ff;font-weight: 600;}
.tab-nav li.active::after{content: "";position: absolute;bottom: -2px;left: 0;width: 100%;height: 2px;background: #1890ff;}
.tab-content{display: none;}
.tab-content.active{display: block;}

.login-submit-btn{width:100%;height:48px;background:linear-gradient(135deg,#1890ff 0%,#36cfc9 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;display:flex;align-items:center;justify-content:center;gap:8px;}
.login-submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(24,144,255,0.4);}
.demo { color: red; padding: 20px; width: 100%; clear: both; overflow: hidden;  background: #FFF; border-radius: 10px; margin-top: 20px; }
.demo h2 { line-height: 50px;}
.demo p { line-height: 30px}
