.activity-page, .activity-detail { min-height: calc(100vh - 30px); padding: 0 10px 100px; background: #f5f5f5; }
.activity-top { height: 58px; margin: 0 -10px; padding: 0 12px; display: flex; align-items: center; justify-content: space-between; background: #fff; }
.activity-top strong { font-size: 18px; }
.activity-top button { border: 0; background: transparent; color: #192b3a; font-size: 34px; line-height: 1; }
.activity-top span { padding: 5px 10px; border-radius: 15px; background: #f7f8fa; font-size: 13px; }
.activity-search { height: 43px; margin: 8px 0; padding: 12px; border-radius: 6px; background: #fff; color: #92979c; font-size: 12px; }
.activity-search b { float: right; color: #1f2e39; font-size: 17px; }
.activity-filters { display: flex; gap: 9px; overflow: auto; padding: 8px 0 15px; white-space: nowrap; }
.activity-filters button { min-width: 52px; padding: 7px 10px; border: 1px solid #e1e4e8; border-radius: 4px; background: #fff; color: #5d6870; font-size: 12px; }
.activity-filters button.active { border-color: #087bd8; background: #087bd8; color: #fff; }
.activity-list { display: flex; flex-direction: column; gap: 11px; }
.activity-card { position: relative; padding: 12px; border-radius: 8px; background: #fff; box-shadow: 0 2px 8px #233f5809; }
.activity-card > strong { display: block; margin: 0 0 10px 43px; overflow: hidden; color: #26313a; font-size: 14px; line-height: 1.4; white-space: nowrap; text-overflow: ellipsis; }
.activity-status { position: absolute; top: 12px; left: 12px; padding: 3px 6px; background: #edf0f2; color: #7e878e; font-size: 10px; }
.activity-status.报名中, .activity-status.进行中 { background: #e5f4ff; color: #087bd8; }
.activity-status.新闻 { background: #fff3df; color: #ed811d; }
.activity-row { display: flex; gap: 11px; }
.activity-cover { width: 114px; height: 82px; display: flex; align-items: center; justify-content: center; flex: none; border-radius: 5px; font-size: 44px; }
.activity-cover.cyan, .detail-cover.cyan { background: linear-gradient(145deg, #c3f7ff, #49bdeb); }
.activity-cover.green, .detail-cover.green { background: linear-gradient(145deg, #e5f8bc, #52b981); }
.activity-cover.blue, .detail-cover.blue { background: linear-gradient(145deg, #ddf0ff, #578deb); }
.activity-cover.purple, .detail-cover.purple { background: linear-gradient(145deg, #f1dfff, #9d76dc); }
.activity-row > div:last-child { min-width: 0; flex: 1; }
.activity-row p { margin: 0 0 7px; overflow: hidden; color: #737c82; font-size: 12px; white-space: nowrap; text-overflow: ellipsis; }
.activity-empty { padding: 35px 0; text-align: center; color: #8b9398; font-size: 13px; }
.activity-detail { background: #fff; }
.activity-detail h1 { margin: 18px 6px; font-size: 17px; line-height: 1.45; }
.activity-meta { margin: 0 6px; color: #30383e; font-size: 13px; line-height: 1.4; }
.activity-meta p { margin: 7px 0; }
.activity-meta b { padding: 3px 5px; font-size: 10px; }
.activity-meta b.报名中, .activity-meta b.进行中 { background: #e4f4ff; color: #087bd8; }
.activity-meta b.已结束 { background: #eee; color: #777; }
.detail-cover { height: 214px; margin-top: 16px; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; color: #fff; font-size: 100px; }
.detail-cover span { position: absolute; bottom: 24px; left: 20px; right: 20px; color: #0a4275; font-size: 21px; font-weight: 800; }
.activity-rich { margin-top: 20px; padding: 14px; border: 1px solid #a9d9ff; border-radius: 5px; background: #f8fcff; }
.activity-rich h3 { margin: 0 0 12px; color: #145b9d; font-size: 13px; }
.activity-rich p { margin: 0 0 11px; color: #45545f; font-size: 12px; line-height: 1.7; text-indent: 2em; }
.detail-block { margin-top: 15px; padding: 13px; background: #f5fbff; }
.detail-block h3 { margin: -13px -13px 12px; padding: 8px 13px; background: #e1f4ff; color: #126db2; font-size: 14px; }
.detail-block h3 span { float: right; font-size: 10px; }
.detail-block p { margin: 8px 0; color: #56636c; font-size: 12px; }
.activity-apply { position: fixed; bottom: 78px; left: 10px; right: 10px; height: 46px; border: 0; border-radius: 5px; background: #087bd8; color: #fff; font-size: 16px; font-weight: 700; }
