/* 小草智慧社区 · 移动端 H5 样式 */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:#f5f6fa;color:#333;max-width:430px;margin:0 auto;min-height:100vh}
a{text-decoration:none;color:inherit}
ul{list-style:none}
:root{--primary:#2f54eb;--primary-light:#e8efff;--secondary:#1890ff;--accent:#fa8c16;--dark:#1a1a2e;--gray:#999;--light-gray:#f0f0f0;--green:#52c41a;--red:#ff4d4f;--orange:#fa8c16}
.header{background:linear-gradient(135deg,#2f54eb,#1890ff);color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(47,84,235,.3)}
.header .back{font-size:22px;cursor:pointer;width:32px}
.header h1{font-size:17px;font-weight:600;flex:1;text-align:center}
.header .right{width:32px;text-align:right;font-size:14px}
.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;background:#fff;border-top:1px solid #eee;display:flex;z-index:100}
.tabbar a{flex:1;text-align:center;padding:8px 0;color:#999;font-size:11px}
.tabbar a.active{color:var(--primary)}
.tabbar a .icon{font-size:22px;display:block;margin-bottom:2px}
.card{background:#fff;border-radius:12px;margin:12px;padding:16px;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.section-title{font-size:16px;font-weight:700;margin:16px 16px 8px;display:flex;justify-content:space-between;align-items:center}
.section-title span{font-size:12px;color:#999;font-weight:400}
.btn{display:block;width:100%;padding:13px;border:none;border-radius:25px;font-size:15px;font-weight:600;cursor:pointer;text-align:center}
.btn-primary{background:linear-gradient(135deg,#2f54eb,#1890ff);color:#fff}
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}
.badge-urgent{background:#fff1f0;color:var(--red)}
.badge-notice{background:#e6f7ff;color:var(--secondary)}
.badge-activity{background:#f6ffed;color:var(--green)}
/* 首页 */
.community-header{background:linear-gradient(135deg,#2f54eb,#1890ff);color:#fff;padding:20px 16px 40px}
.community-header .ch-name{font-size:20px;font-weight:700}
.community-header .ch-addr{font-size:13px;opacity:.8;margin-top:4px}
.community-header .ch-stats{display:flex;gap:20px;margin-top:12px;font-size:13px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 12px;background:#fff;margin:-30px 12px 0;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.08);position:relative;z-index:10}
.quick-grid a{text-align:center;font-size:12px;color:#555}
.quick-grid a .qicon{font-size:28px;display:block;margin-bottom:4px}
.notice-bar{background:#fff;margin:12px;border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:8px}
.notice-bar .nb-icon{font-size:18px}
.notice-bar .nb-text{flex:1;font-size:13px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-bar .nb-arrow{color:#ccc}
/* 公告 */
.notice-item{background:#fff;border-radius:12px;margin:8px 12px;padding:14px}
.notice-item .ni-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.notice-item .ni-title{font-size:15px;font-weight:600}
.notice-item .ni-time{font-size:12px;color:#999}
.notice-item .ni-content{font-size:13px;color:#666;line-height:1.6}
/* 报修 */
.form-group{background:#fff;margin:12px;border-radius:12px;padding:16px}
.form-group .fg-label{font-size:14px;font-weight:600;margin-bottom:8px}
.form-group .fg-label .required{color:var(--red)}
.form-group input,.form-group textarea,.form-group select{width:100%;border:1px solid #eee;border-radius:8px;padding:10px;font-size:14px;outline:none}
.form-group textarea{resize:none;height:80px}
.type-chips{display:flex;gap:8px;flex-wrap:wrap}
.type-chips .chip{padding:6px 14px;border-radius:20px;font-size:13px;border:1px solid #eee;cursor:pointer}
.type-chips .chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}
.upload-area{border:2px dashed #ddd;border-radius:8px;padding:20px;text-align:center;color:#999;font-size:13px;cursor:pointer}
.upload-area:hover{border-color:var(--primary)}
.repair-item{background:#fff;border-radius:12px;margin:8px 12px;padding:14px}
.repair-item .ri-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.repair-item .ri-title{font-size:14px;font-weight:600}
.repair-item .ri-status{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px}
.repair-item .ri-status.pending{background:#fff7e6;color:var(--orange)}
.repair-item .ri-status.processing{background:#e6f7ff;color:var(--secondary)}
.repair-item .ri-status.done{background:#f6ffed;color:var(--green)}
.repair-item .ri-desc{font-size:13px;color:#666;line-height:1.5}
.repair-item .ri-time{font-size:12px;color:#999;margin-top:6px}
.repair-progress{display:flex;align-items:center;gap:0;margin-top:10px}
.repair-progress .rp-step{flex:1;text-align:center;font-size:11px;color:#999;position:relative}
.repair-progress .rp-step .rp-dot{width:20px;height:20px;border-radius:50%;background:#ddd;color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 4px;font-size:10px}
.repair-progress .rp-step.done .rp-dot{background:var(--primary)}
.repair-progress .rp-step.done{color:var(--primary)}
.repair-progress .rp-step::after{content:'';position:absolute;top:10px;left:50%;width:100%;height:2px;background:#ddd;z-index:0}
.repair-progress .rp-step:last-child::after{display:none}
.repair-progress .rp-step.done::after{background:var(--primary)}
/* 缴费 */
.bill-item{background:#fff;border-radius:12px;margin:8px 12px;padding:14px;display:flex;align-items:center;gap:12px}
.bill-item .bi-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.bill-item .bi-info{flex:1}
.bill-item .bi-name{font-size:14px;font-weight:600}
.bill-item .bi-period{font-size:12px;color:#999;margin-top:2px}
.bill-item .bi-amount{font-size:16px;font-weight:700;color:var(--red)}
.bill-item .bi-status{font-size:12px;color:var(--green)}
.bill-item .bi-pay{padding:6px 16px;border-radius:20px;font-size:13px;background:var(--primary);color:#fff;border:none;cursor:pointer}
.bill-item .bi-pay.paid{background:var(--light-gray);color:#999}
.pay-summary{background:#fff;border-radius:12px;margin:12px;padding:16px}
.pay-summary .ps-row{display:flex;justify-content:space-between;font-size:14px;padding:6px 0}
.pay-summary .ps-total{border-top:1px solid #f0f0f0;margin-top:8px;padding-top:12px;font-size:16px;font-weight:700}
.pay-summary .ps-total .ps-amount{color:var(--red);font-size:22px}
/* 邻里圈 */
.topic-item{background:#fff;border-radius:12px;margin:8px 12px;padding:14px}
.topic-item .ti-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.topic-item .ti-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px}
.topic-item .ti-user{font-size:14px;font-weight:600}
.topic-item .ti-time{font-size:11px;color:#999}
.topic-item .ti-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;margin-left:4px}
.topic-item .ti-title{font-size:15px;font-weight:600;margin-bottom:4px}
.topic-item .ti-content{font-size:13px;color:#666;line-height:1.6;margin-bottom:8px}
.topic-item .ti-actions{display:flex;gap:20px;font-size:13px;color:#999}
.topic-item .ti-actions span{display:flex;align-items:center;gap:4px}
.topic-item .ti-actions .liked{color:var(--red)}
/* 便民服务 */
.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:12px}
.service-card{background:#fff;border-radius:12px;padding:16px;text-align:center}
.service-card .sc-icon{font-size:32px}
.service-card .sc-name{font-size:14px;font-weight:600;margin-top:6px}
.service-card .sc-desc{font-size:12px;color:#999;margin-top:2px}
.merchant-item{background:#fff;border-radius:12px;margin:8px 12px;padding:14px;display:flex;gap:12px;align-items:center}
.merchant-item .mi-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.merchant-item .mi-info{flex:1}
.merchant-item .mi-name{font-size:14px;font-weight:600}
.merchant-item .mi-type{font-size:12px;color:#999;margin-top:2px}
.merchant-item .mi-dist{font-size:12px;color:var(--primary)}
.merchant-item .mi-btn{padding:6px 12px;border-radius:20px;font-size:12px;border:1px solid var(--primary);color:var(--primary);cursor:pointer;background:#fff}
.empty{text-align:center;padding:60px 20px;color:#999}
.empty .eicon{font-size:48px;margin-bottom:12px}
