/* 小草停车 · 移动端 H5 样式 */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;background:#eef3fb;color:#1f2d4a;max-width:430px;margin:0 auto;min-height:100vh}
a{text-decoration:none;color:inherit}
ul{list-style:none}
:root{--primary:#2563eb;--primary-dark:#1d4ed8;--primary-light:#e3edfd;--secondary:#4f46e5;--accent:#f59e0b;--dark:#0f2a5e;--gray:#8a97b5;--light-gray:#f0f4fb;--green:#16a34a;--blue:#2563eb;--orange:#ea580c;--red:#dc2626}
.header{background:linear-gradient(135deg,#1d4ed8,#2563eb);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(29,78,216,.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 #e6ecf7;display:flex;z-index:100;padding-bottom:env(safe-area-inset-bottom)}
.tabbar a{flex:1;text-align:center;padding:8px 0;color:#9aa6c4;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(15,42,94,.05)}
.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:#9aa6c4;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,#1d4ed8,#2563eb);color:#fff}
.btn-outline{background:#fff;border:1px solid var(--primary);color:var(--primary)}
.badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}
.badge-hot{background:#fff1f0;color:#dc2626}
.badge-new{background:#eef2ff;color:var(--blue)}
.badge-green{background:#ecfdf5;color:var(--green)}
.badge-gold{background:#fdf6e3;color:#b45309}
.badge-purple{background:#f5f3ff;color:#7c3aed}
.tag{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;background:var(--primary-light);color:#1d4ed8;margin:2px 4px 0 0}
.status-free{color:var(--green);font-weight:700}
.status-mid{color:var(--accent);font-weight:700}
.status-full{color:var(--red);font-weight:700}
/* 首页 */
.banner{height:158px;margin:12px;border-radius:14px;background:linear-gradient(135deg,#0f2a5e,#1d4ed8,#2563eb);color:#fff;display:flex;align-items:center;padding:20px;position:relative;overflow:hidden}
.banner .bn-title{font-size:21px;font-weight:800;letter-spacing:1px}
.banner .bn-sub{font-size:12px;opacity:.92;margin-top:6px;line-height:1.7}
.banner .bn-badge{display:inline-block;background:rgba(255,255,255,.2);padding:4px 12px;border-radius:14px;font-size:11px;margin-top:10px}
.banner .bn-emoji{position:absolute;right:14px;font-size:60px;opacity:.95}
.voice-bar{background:#fff;margin:12px;border-radius:14px;padding:14px;display:flex;align-items:center;gap:10px;box-shadow:0 1px 4px rgba(15,42,94,.05)}
.voice-bar .vb-ico{width:42px;height:42px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.voice-bar .vb-body{flex:1;font-size:12px;color:#57648a;line-height:1.6}
.voice-bar .vb-btn{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;padding:8px 16px;border-radius:16px;font-size:12px;font-weight:700;white-space:nowrap}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 10px;background:#fff;margin:12px;border-radius:14px}
.quick-grid a{text-align:center;font-size:11px;color:#3a4a72}
.quick-grid a .qicon{width:44px;height:44px;margin:0 auto 5px;border-radius:50%;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:22px}
.coupon-card{background:linear-gradient(135deg,#1d4ed8,#2563eb);margin:12px;border-radius:14px;padding:14px;display:flex;align-items:center;gap:12px;color:#fff}
.coupon-card .cc-left{flex:1}
.coupon-card .cc-left b{font-size:18px;display:block}
.coupon-card .cc-left span{font-size:11px;opacity:.9}
.coupon-card .cc-btn{background:#fff;color:#1d4ed8;padding:8px 16px;border-radius:16px;font-size:12px;font-weight:700;white-space:nowrap}
.car-card{background:#fff;margin:12px;border-radius:14px;padding:14px;box-shadow:0 1px 4px rgba(15,42,94,.05);display:flex;gap:12px;align-items:center}
.car-card .cc-plate{background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;border-radius:8px;padding:8px 14px;font-size:18px;font-weight:800;letter-spacing:2px;flex-shrink:0}
.car-card .cc-info{flex:1;font-size:12px;color:#57648a;line-height:1.7}
.car-card .cc-info b{color:#1f2d4a;font-size:14px}
.car-card .cc-fee{text-align:right}
.car-card .cc-fee .fnum{color:var(--red);font-weight:800;font-size:18px}
.car-card .cc-fee .ftxt{font-size:10px;color:#9aa6c4}
.park-card{background:#fff;border-radius:14px;margin:10px 12px;padding:12px;display:flex;gap:12px;box-shadow:0 1px 4px rgba(15,42,94,.05)}
.park-card .pc-map{width:84px;height:84px;border-radius:10px;background:linear-gradient(135deg,#dbe7fb,#cdddfb);display:flex;align-items:center;justify-content:center;font-size:38px;flex-shrink:0;position:relative}
.park-card .pc-map .pc-dot{position:absolute;width:10px;height:10px;border-radius:50%;top:10px;right:10px}
.park-card .pc-body{flex:1;min-width:0}
.park-card .pc-name{font-size:14px;font-weight:700}
.park-card .pc-meta{font-size:11px;color:#8a97b5;margin-top:3px}
.park-card .pc-row{display:flex;justify-content:space-between;align-items:center;margin-top:6px}
.park-card .pc-free{font-size:12px}
.park-card .pc-btn{background:var(--primary-light);color:var(--primary-dark);padding:5px 14px;border-radius:14px;font-size:11px;font-weight:700}
.feature-strip{display:flex;gap:8px;overflow-x:auto;padding:0 12px;scrollbar-width:none}
.feature-strip .fs-item{background:#fff;border-radius:12px;padding:12px;min-width:120px;flex-shrink:0;box-shadow:0 1px 4px rgba(15,42,94,.05)}
.feature-strip .fs-item .fs-emoji{font-size:24px}
.feature-strip .fs-item .fs-name{font-size:12px;font-weight:700;margin-top:4px}
.feature-strip .fs-item .fs-desc{font-size:10px;color:#8a97b5;margin-top:2px;line-height:1.5}
/* 附近停车场 */
.search-bar{margin:12px;background:#fff;border-radius:22px;padding:11px 16px;display:flex;align-items:center;gap:8px;box-shadow:0 1px 4px rgba(15,42,94,.05);font-size:13px;color:#8a97b5}
.filter-tabs{display:flex;gap:8px;padding:0 12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.filter-tab{padding:7px 14px;border:1px solid #d7e1f4;border-radius:18px;font-size:12px;cursor:pointer;background:#fff;white-space:nowrap;flex-shrink:0}
.filter-tab.sel{border-color:var(--primary);background:var(--primary-light);color:var(--primary-dark);font-weight:600}
.sort-bar{display:flex;gap:14px;padding:10px 12px;font-size:13px;color:#3a4a72}
.sort-bar span.on{color:var(--primary);font-weight:700}
/* 详情 */
.detail-img{height:200px;background:linear-gradient(135deg,#dbe7fb,#cdddfb);display:flex;align-items:center;justify-content:center;font-size:80px;position:relative}
.detail-img .di-badge{position:absolute;top:12px;left:12px;background:rgba(15,42,94,.55);color:#fff;padding:4px 10px;border-radius:12px;font-size:11px}
.charge-ico{position:absolute;top:12px;right:12px;background:#16a34a;color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:700}
.detail-price{background:#fff;margin:12px;border-radius:14px;padding:16px}
.detail-price .dp-row{display:flex;gap:8px;margin-top:10px}
.detail-price .dp-cell{flex:1;background:var(--light-gray);border-radius:10px;padding:8px;text-align:center;font-size:11px;color:#3a4a72}
.detail-price .dp-cell b{display:block;font-size:15px;color:#1f2d4a}
.info-list{background:#fff;border-radius:14px;margin:12px;padding:4px 16px}
.info-list .il-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #eef2fb;font-size:13px}
.info-list .il-row:last-child{border-bottom:none}
.info-list .il-row .il-l{color:#57648a}
.info-list .il-row .il-r{font-weight:600}
.info-list .il-row .il-r.green{color:var(--green)}
.buy-bar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;background:#fff;border-top:1px solid #e6ecf7;display:flex;align-items:center;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));z-index:100;gap:10px}
.buy-bar .bb-btn{flex:1;border-radius:20px;padding:12px;text-align:center;color:#fff;font-size:14px;font-weight:700;background:linear-gradient(135deg,#1d4ed8,#2563eb)}
.buy-bar .bb-btn.ghost{background:#fff;border:1px solid var(--primary);color:var(--primary);flex:0 0 auto;padding:12px 18px}
/* 反向寻车 */
.find-hero{background:linear-gradient(135deg,#1d4ed8,#4f46e5);margin:12px;border-radius:16px;padding:18px;color:#fff}
.find-hero .fh-title{font-size:17px;font-weight:800}
.find-hero .fh-sub{font-size:12px;opacity:.9;margin-top:4px;line-height:1.7}
.find-hero .fh-btn{display:inline-block;background:#fff;color:#1d4ed8;padding:8px 18px;border-radius:16px;font-size:12px;font-weight:700;margin-top:12px}
.nav-box{background:#fff;border-radius:14px;margin:12px;padding:16px;box-shadow:0 1px 4px rgba(15,42,94,.05)}
.nav-box .nb-title{font-size:14px;font-weight:700;margin-bottom:10px}
.nav-step{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #eef2fb;font-size:13px}
.nav-step:last-child{border-bottom:none}
.nav-step .ns-num{width:26px;height:26px;border-radius:50%;background:var(--primary-light);color:var(--primary-dark);display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.nav-step .ns-body b{display:block}
.nav-step .ns-body span{font-size:11px;color:#8a97b5}
.photo-row{display:flex;gap:10px;padding:0 12px}
.photo-row .ph{width:80px;height:80px;border-radius:10px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:30px;flex-shrink:0}
/* 缴费 */
.plate-card{background:#fff;border-radius:14px;margin:12px;padding:16px;box-shadow:0 1px 4px rgba(15,42,94,.05)}
.plate-card .pc-title{font-size:13px;color:#57648a;margin-bottom:8px}
.plate-tags{display:flex;flex-wrap:wrap;gap:8px}
.plate-tag{padding:10px 16px;border-radius:10px;background:var(--light-gray);font-size:16px;font-weight:700;letter-spacing:2px;cursor:pointer}
.plate-tag.sel{background:var(--primary-light);border:1px solid var(--primary);color:var(--primary-dark)}
.bill-card{background:#fff;border-radius:14px;margin:12px;padding:16px;box-shadow:0 1px 4px rgba(15,42,94,.05)}
.bill-card .bc-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8a97b5;padding-bottom:10px;border-bottom:1px solid #eef2fb}
.bill-card .bc-fee{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0}
.bill-card .bc-fee .bf-num{font-size:32px;font-weight:800;color:var(--red)}
.bill-card .bc-fee .bf-num small{font-size:14px}
.bill-card .bc-meta{font-size:12px;color:#57648a;line-height:1.9;border-top:1px dashed #e0e7f5;padding-top:10px}
.invoice-bar{background:#fff;border-radius:14px;margin:12px;padding:14px;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.invoice-bar .ib-btn{background:var(--primary-light);color:var(--primary-dark);padding:6px 16px;border-radius:14px;font-weight:700;font-size:12px}
.pay-method{display:flex;gap:10px;padding:0 12px}
.pay-method .pm{flex:1;background:#fff;border-radius:12px;padding:14px;text-align:center;font-size:12px;box-shadow:0 1px 4px rgba(15,42,94,.05)}
.pay-method .pm.sel{border:2px solid var(--primary)}
.pay-method .pm .pm-ico{font-size:26px}
/* 月卡/充电 通用 */
.plan{display:flex;gap:10px;padding:0 12px;flex-wrap:wrap}
.plan .pl-item{flex:1;min-width:120px;background:#fff;border-radius:14px;padding:14px 8px;text-align:center;box-shadow:0 1px 4px rgba(15,42,94,.05);position:relative}
.plan .pl-item.hot{border:2px solid var(--primary)}
.plan .pl-item .pl-hot{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,#1d4ed8,#2563eb);color:#fff;font-size:10px;padding:2px 10px;border-radius:10px;white-space:nowrap}
.plan .pl-item .pl-price{color:var(--red);font-size:20px;font-weight:800}
.plan .pl-item .pl-price small{font-size:10px;color:#8a97b5;font-weight:400}
.plan .pl-item .pl-name{font-size:12px;font-weight:700;margin-top:2px}
.plan .pl-item .pl-desc{font-size:10px;color:#8a97b5;margin-top:4px;line-height:1.6}
.plan .pl-item .pl-btn{margin-top:10px;background:var(--primary-light);color:var(--primary-dark);padding:6px 0;border-radius:14px;font-size:12px;font-weight:700}
.share-card{background:#fff;border-radius:14px;margin:12px;padding:14px;display:flex;gap:12px;align-items:center;box-shadow:0 1px 4px rgba(15,42,94,.05)}
.share-card .sc-img{width:64px;height:64px;border-radius:10px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:30px;flex-shrink:0}
.share-card .sc-body{flex:1;font-size:12px;color:#57648a;line-height:1.7}
.share-card .sc-body b{color:#1f2d4a;font-size:13px}
.share-card .sc-btn{background:var(--primary-light);color:var(--primary-dark);padding:6px 14px;border-radius:14px;font-size:11px;font-weight:700}
.charge-card{background:#fff;border-radius:14px;margin:10px 12px;padding:12px;display:flex;gap:12px;box-shadow:0 1px 4px rgba(15,42,94,.05)}
.charge-card .chg-ico{width:48px;height:48px;border-radius:12px;background:#ecfdf5;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.charge-card .chg-body{flex:1;font-size:12px;color:#57648a;line-height:1.6}
.charge-card .chg-body b{color:#1f2d4a;font-size:14px}
.charge-card .chg-state{text-align:right}
.charge-card .chg-state .cs{font-weight:700;font-size:13px}
.charge-card .chg-state .cb{margin-top:6px;background:var(--primary-light);color:var(--primary-dark);padding:5px 12px;border-radius:12px;font-size:11px;font-weight:700}
/* 我的 */
.user-card{background:linear-gradient(135deg,#1d4ed8,#2563eb);margin:12px;border-radius:14px;color:#fff;padding:18px;display:flex;align-items:center;gap:12px}
.user-card .uc-avatar{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:30px}
.user-card .uc-name{font-size:17px;font-weight:600}
.user-card .uc-level{font-size:12px;opacity:.9;margin-top:3px}
.assets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 12px}
.asset-item{background:#fff;border-radius:12px;text-align:center;padding:14px 4px;box-shadow:0 1px 4px rgba(15,42,94,.05)}
.asset-item b{display:block;font-size:19px;color:var(--primary-dark)}
.asset-item span{font-size:11px;color:#8a97b5}
.menu-list{background:#fff;border-radius:12px;margin:12px;overflow:hidden}
.menu-list a{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eef2fb;font-size:14px}
.menu-list a:last-child{border-bottom:none}
.menu-list a .ml-l{display:flex;align-items:center;gap:10px}
.menu-list a .ml-l .ico{font-size:20px}
.menu-list a .ml-r{color:#9aa6c4;font-size:12px}
.empty{text-align:center;color:#9aa6c4;font-size:13px;padding:40px 0}
.empty .e-icon{font-size:44px;display:block;margin-bottom:8px}
