*{margin:0;padding:0;box-sizing:border-box;font-family:"Microsoft YaHei",sans-serif;list-style:none;text-decoration:none;-webkit-tap-highlight-color:transparent;}
body{background:#f5f7fa;color:#333;font-size:14px;}
a{color:#333;}

/* 顶部导航 */
.header{
    background:#409eff;
    color:#fff;
    height:50px;
    line-height:50px;
    padding:0 15px;
    position:sticky;
    top:0;
    z-index:99;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.header h1{font-size:18px;font-weight:normal;}
.header .back{font-size:16px;color:#fff;}

/* 公告栏 */
.notice-bar{
    background:#fff7e6;
    color:#fa8c16;
    padding:8px 15px;
    font-size:13px;
    overflow:hidden;
    white-space:nowrap;
}

/* 轮播图 */
.banner{
    width:100%;
    height:180px;
    background:linear-gradient(135deg, #409eff 0%, #1890ff 100%);
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
}
.banner h2{font-size:32px;margin-bottom:8px;letter-spacing:2px;}
.banner p{font-size:14px;opacity:0.9;}

/* 功能图标区 */
.icon-grid{
    background:#fff;
    padding:20px 10px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px 5px;
    margin-bottom:10px;
}
.icon-item{
    text-align:center;
    font-size:13px;
}
.icon-item .icon{
    width:45px;
    height:45px;
    margin:0 auto 8px;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    color:#fff;
}
.icon1{background:#409eff;}
.icon2{background:#67c23a;}
.icon3{background:#e6a23c;}
.icon4{background:#f56c6c;}
.icon5{background:#909399;}
.icon6{background:#8e44ad;}
.icon7{background:#16a085;}
.icon8{background:#d35400;}

/* 通用面板 */
.panel{
    background:#fff;
    margin-bottom:10px;
    padding:15px;
}
.panel-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:12px;
    font-size:16px;
    font-weight:bold;
    border-left:4px solid #409eff;
    padding-left:10px;
}
.panel-title .more{
    font-size:13px;
    color:#999;
    font-weight:normal;
}

/* 简介模块 */
.intro-box{
    display:flex;
    gap:15px;
    align-items:flex-start;
}
.intro-box img{
    width:100px;
    height:100px;
    border-radius:8px;
    flex-shrink:0;
}
.intro-text{
    flex:1;
    line-height:1.8;
    color:#666;
    font-size:13px;
}

/* 资讯列表 */
.news-item{
    display:flex;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid #f0f0f0;
}
.news-item:last-child{border-bottom:none;}
.news-item img{
    width:100px;
    height:70px;
    border-radius:4px;
    object-fit:cover;
    flex-shrink:0;
}
.news-info{flex:1;}
.news-title{
    font-size:15px;
    line-height:1.4;
    margin-bottom:6px;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.news-meta{
    font-size:12px;
    color:#999;
    display:flex;
    justify-content:space-between;
}

/* 队员卡片 */
.member-card{
    display:flex;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid #f0f0f0;
}
.member-card:last-child{border-bottom:none;}
.member-avatar{
    width:70px;
    height:90px;
    border-radius:4px;
    object-fit:cover;
    flex-shrink:0;
    border:1px solid #eee;
}
.member-info{flex:1;line-height:1.8;}
.member-name{font-size:16px;font-weight:bold;}
.member-tag{
    display:inline-block;
    padding:2px 6px;
    background:#e6f7ff;
    color:#1890ff;
    border-radius:3px;
    font-size:12px;
    margin-left:8px;
}
.member-stats{
    font-size:12px;
    color:#666;
    margin-top:5px;
}

/* 联动单位卡片 */
.partner-item{
    display:flex;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid #f0f0f0;
}
.partner-item:last-child{border-bottom:none;}
.partner-logo{
    width:60px;
    height:60px;
    border-radius:6px;
    object-fit:cover;
    flex-shrink:0;
    border:1px solid #eee;
}
.partner-info{flex:1;}
.partner-name{font-size:16px;font-weight:bold;margin-bottom:5px;}
.partner-desc{
    font-size:13px;
    color:#666;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* 荣誉墙网格 */
.honor-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}
.honor-item img{
    width:100%;
    height:120px;
    object-fit:cover;
    border-radius:4px;
    margin-bottom:5px;
}
.honor-item p{
    font-size:13px;
    text-align:center;
    color:#666;
}

/* 表单 */
.form-box{background:#fff;padding:15px;}
.form-item{margin-bottom:18px;}
.form-item label{
    display:block;
    margin-bottom:8px;
    color:#333;
    font-size:14px;
}
.form-item input,.form-item select,.form-item textarea{
    width:100%;
    padding:10px 12px;
    border:1px solid #dcdfe6;
    border-radius:4px;
    font-size:14px;
    outline:none;
    background:#fafafa;
}
.form-item textarea{resize:vertical;min-height:100px;}
.form-item input:focus,.form-item textarea:focus{
    border-color:#409eff;
    background:#fff;
}
.radio-group{
    display:flex;
    gap:20px;
}
.radio-group label{
    display:flex;
    align-items:center;
    gap:5px;
    margin:0;
}
.switch-btn{
    width:50px;
    height:26px;
    background:#67c23a;
    border-radius:13px;
    position:relative;
    display:inline-block;
}
.switch-btn::after{
    content:'';
    position:absolute;
    right:2px;
    top:2px;
    width:22px;
    height:22px;
    background:#fff;
    border-radius:50%;
}

/* 主按钮 */
.btn-primary{
    width:100%;
    height:46px;
    line-height:46px;
    background:#409eff;
    color:#fff;
    border:none;
    border-radius:23px;
    font-size:16px;
    cursor:pointer;
    margin-top:10px;
}
.btn-primary:active{background:#1890ff;}
.btn-red{
    width:100%;
    height:46px;
    line-height:46px;
    background:#f56c6c;
    color:#fff;
    border:none;
    border-radius:23px;
    font-size:16px;
    cursor:pointer;
}

/* SOS警示条 */
.sos-warning{
    background:#f56c6c;
    color:#fff;
    padding:10px 15px;
    font-size:14px;
    text-align:center;
    font-weight:bold;
}

/* 个人中心头部 */
.user-header{
    background:linear-gradient(135deg, #409eff 0%, #66b1ff 100%);
    color:#fff;
    padding:30px 20px;
    display:flex;
    align-items:center;
    gap:15px;
}
.user-avatar{
    width:60px;
    height:60px;
    border-radius:50%;
    background:#fff;
    flex-shrink:0;
}
.user-info h3{font-size:18px;margin-bottom:5px;}
.user-info p{font-size:13px;opacity:0.9;}

/* 菜单列表 */
.menu-list{
    background:#fff;
    margin:10px 0;
}
.menu-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 15px;
    border-bottom:1px solid #f0f0f0;
    font-size:15px;
}
.menu-item:last-child{border-bottom:none;}
.menu-item .left{display:flex;align-items:center;gap:10px;}
.menu-item .arrow{color:#ccc;}

/* 底部导航 */
.tabbar{
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    height:55px;
    background:#fff;
    border-top:1px solid #eee;
    display:flex;
    z-index:99;
}
.tab-item{
    flex:1;
    text-align:center;
    padding-top:6px;
    font-size:12px;
    color:#999;
}
.tab-item.active{color:#409eff;}
.tab-item .icon{font-size:22px;margin-bottom:2px;}

/* 详情页 */
.detail-page{padding-bottom:20px;}
.detail-title{
    font-size:20px;
    font-weight:bold;
    line-height:1.5;
    margin-bottom:10px;
}
.detail-meta{
    font-size:12px;
    color:#999;
    margin-bottom:15px;
    padding-bottom:15px;
    border-bottom:1px solid #f0f0f0;
}
.detail-content{
    line-height:1.8;
    font-size:15px;
    color:#333;
}
.detail-content img{max-width:100%;border-radius:4px;margin:10px 0;}

/* 赞助卡片 */
.sponsor-card{
    background:#fff;
    border-radius:8px;
    margin-bottom:12px;
    overflow:hidden;
}
.sponsor-card .card-head{
    padding:15px;
    border-bottom:1px solid #f0f0f0;
}
.sponsor-type{
    display:inline-block;
    padding:3px 8px;
    background:#ecf5ff;
    color:#409eff;
    border-radius:3px;
    font-size:12px;
    margin-bottom:8px;
}
.sponsor-title{font-size:16px;font-weight:bold;margin-bottom:8px;}
.progress-bar{
    width:100%;
    height:8px;
    background:#f0f0f0;
    border-radius:4px;
    margin:10px 0;
    overflow:hidden;
}
.progress-bar .progress{
    height:100%;
    background:#67c23a;
    border-radius:4px;
}
.sponsor-stats{
    display:flex;
    justify-content:space-between;
    font-size:13px;
    color:#666;
}
.sponsor-stats .amount{color:#f56c6c;font-weight:bold;font-size:16px;}

/* 银行信息 */
.bank-info{
    background:#f8f9fa;
    padding:12px;
    border-radius:6px;
    margin-bottom:15px;
    line-height:1.8;
    font-size:13px;
}
.bank-info .copy-btn{
    float:right;
    padding:3px 8px;
    background:#409eff;
    color:#fff;
    border-radius:3px;
    font-size:12px;
    cursor:pointer;
}

/* 底部留白 */
.page-content{padding-bottom:65px;}