*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;background:#f5f5f5;color:#222;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
[v-cloak]{display:none!important}
img{max-width:100%;display:block}
.page{min-height:100vh;padding-bottom:70px}
.page-home{background:#f5f5f5}
.header-title{height:46px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;background:#fff;position:sticky;top:0;z-index:20}
.search{padding:8px}
.search-box{display:flex;align-items:center;background:#fff;border-radius:4px;height:32px;padding:0 10px}
.search-ico{width:16px;height:16px;margin-right:6px;flex-shrink:0}
.search input{flex:1;border:0;outline:none;font-size:14px;background:transparent;color:#303133;line-height:1}
.search input::placeholder{color:#666}
.notice{margin:8px;background:#fdf6ec;color:#f9ae3d;border-radius:4px;padding:8px 10px;font-size:14px;line-height:1.4;display:flex;align-items:center;gap:6px}
.notice-ico{width:16px;height:16px;flex-shrink:0}
.notice-txt{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.sign-card{margin:10px 12px;padding:16px;background:linear-gradient(135deg,#e8f4fc,#fff);border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.06)}
.sign-hd{display:flex;align-items:center;justify-content:space-between}
.sign-hd b{font-size:18px;font-weight:700;color:#222}
.sign-hd em{font-style:normal;font-size:13px;color:#999}
.sign-hd em.on{color:#52c41a}
.sign-action{margin-top:14px;display:flex;justify-content:center}
.sign-btn{width:160px;height:40px;line-height:40px;border:0;border-radius:6px;padding:0;background:linear-gradient(90deg,#d4a574,#c8956c);color:#fff;font-size:16px;font-weight:700}
.sign-btn.off{background:#f0f9eb;color:#52c41a;border:1px solid #b7eb8f;width:auto;padding:0 24px}
.home-imgs{padding:0}
.home-imgs img{width:100%;display:block;margin:0;border-radius:0}
.empty{padding:50px 0;text-align:center;color:#98a2b3}
.empty img{width:140px;margin:0 auto 10px}
.page-mine{background:#f5f5f5;padding-bottom:70px}
.mine-banner{width:100%;line-height:0}
.mine-banner img{display:block;width:100%}
.mine-sheet{margin:-35% 12px 0;padding:14px 16px 16px;background:#fff;border-radius:10px;position:relative;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.mine-user{display:flex;flex-direction:column;align-items:flex-start}
.mine-avatar{width:70px;height:70px;margin-top:-36px;border-radius:50%;background:#e8e8e8;border:3px solid #fff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.mine-avatar img{width:100%;height:100%;object-fit:cover}
.mine-avatar svg{width:32px;height:32px}
.mine-user h2{margin:6px 0 0;font-size:16px;font-weight:700;color:#222;line-height:1.2}
.mine-sub{margin:4px 0 0;font-size:12px;color:#999}
.wallet-row{display:flex;margin-top:18px;padding-top:14px;border-top:1px solid #f0f0f0}
.wallet-row a{flex:1;text-align:center;padding:0;text-decoration:none;color:#222;display:flex;flex-direction:column;align-items:center}
.wallet-row b{display:block;font-size:17px;color:#e53935;margin-bottom:0;font-weight:700;line-height:1.2}
.wallet-row span{font-size:12px;color:#999;margin-top:5px}
.member-box{margin-top:16px;padding-top:14px;border-top:1px solid #f0f0f0}
.member-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.member-hd>span{font-size:14px;font-weight:700;color:#222}
.member-hd a{font-size:12px;color:#2f80ed;text-decoration:none}
.mine-cta.off{background:#f0f9eb;color:#52c41a;border:1px solid #b7eb8f}
.member-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;color:#666}
.member-row b{color:#222;font-weight:700}
.mine-policy{margin:8px 0 0;font-size:13px;line-height:1.7;color:#666}
.mine-pick-title{margin:14px 0 8px;font-size:13px;color:#888}
.mine-lv{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border:1px solid #eee;background:#fafafa;border-radius:10px;margin-bottom:8px}
.mine-lv.on{border-color:#c8956c;background:#fff8f1;box-shadow:0 0 0 1px #c8956c}
.mine-lv-name{font-size:15px;font-weight:700;color:#222}
.mine-lv-sub{font-size:12px;color:#999;margin-top:3px}
.mine-lv-price{color:#e53935;font-weight:800}
.mine-lv.empty-lv{color:#999;justify-content:center}
.mine-cta{width:100%;height:42px;line-height:42px;margin-top:4px;border-radius:8px}
.mine-vip-title{margin:16px 0 10px;text-align:center;font-size:13px;color:#333;font-weight:600}
.mine-vip{list-style:none;margin:0;padding:0}
.mine-vip li{display:flex;align-items:flex-start;gap:8px;padding:5px 2px;font-size:13px;color:#555;line-height:1.5}
.mine-vip li .mdi{color:#c8956c;font-size:18px;line-height:1.3}
.menu-card{margin:12px;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 6px rgba(0,0,0,.04)}
.menu-item{display:flex;align-items:center;padding:14px 16px;text-decoration:none;color:#222;border-bottom:1px solid #f4f6fb}
.menu-item:last-child{border-bottom:0}
.menu-mdi{font-size:22px;color:#8a96ad;margin-right:10px}
.menu-txt{display:flex;flex-direction:column;gap:2px}
.menu-txt b{font-size:14px;font-weight:700}
.menu-txt em{font-style:normal;font-size:12px;color:#999}
.menu-item .arr{margin-left:auto;color:#c0c4cc}
.tab-mdi{font-size:24px;line-height:1;margin-bottom:2px}
.tabs{display:flex;background:#fff;position:sticky;top:0;z-index:10}
.tabs span{flex:1;text-align:center;padding:14px 0;font-size:14px;color:#667085;position:relative}
.tabs span.on{color:#2f80ed;font-weight:700}
.tabs span.on:after{content:"";position:absolute;left:50%;bottom:6px;width:18px;height:3px;background:#2f80ed;border-radius:2px;transform:translateX(-50%)}
.witem{background:#fff;margin:12px;border-radius:12px;padding:14px}
.witem .t{display:flex;justify-content:space-between;align-items:center}
.witem .amt{color:#ff4d4f;font-weight:800;font-size:18px}
.witem .s{font-size:12px;color:#8a96ad;margin-top:6px}
.witem .btn{margin-top:10px;width:100%;border:0;background:#2f80ed;color:#fff;border-radius:10px;padding:10px;font-weight:700}
.kf-box{margin:16px;background:#fff;border-radius:14px;padding:20px;text-align:center}
.tabbar{position:fixed;left:0;right:0;bottom:0;height:56px;background:#fff;display:flex;border-top:1px solid #eef2f8;z-index:30}
.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;color:#98a2b3;font-size:11px}
.tabbar a.on{color:#e53935}
.tabbar img{width:24px;height:24px;margin-bottom:2px}
.toast{position:fixed;left:50%;top:46%;transform:translate(-50%,-50%);background:rgba(0,0,0,.78);color:#fff;padding:10px 16px;border-radius:8px;z-index:99;font-size:14px}
.mask{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:40;display:flex;align-items:flex-end}
.sheet{background:#fff;width:100%;border-radius:16px 16px 0 0;padding:16px 16px 28px}
.sheet h3{margin:0 0 12px;font-size:16px}
.sheet .row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:14px}
.pay-btn{width:100%;margin-top:12px;border:0;background:#07c160;color:#fff;border-radius:10px;padding:12px;font-size:16px;font-weight:700}
.pay-btn:disabled{opacity:.6}
.back{position:absolute;left:12px;font-size:22px;color:#1f2a44;text-decoration:none}
.tab-ico{width:24px;height:24px;margin-bottom:2px}
.page-manual{background:#f5f5f5}
.rich-box{margin:12px;background:#fff;border-radius:10px;padding:16px;font-size:14px;line-height:1.8;color:#333;overflow:hidden}
.rich-box p{margin:0 0 10px}
.rich-box img{max-width:100%;height:auto;display:block;margin:8px 0}
.page-sign{background:#f5f5f5;padding-bottom:24px}
.sign-wrap{padding-bottom:20px}
.privacy-box{max-height:280px;overflow:auto}
.agree-row{display:flex;align-items:center;gap:8px;margin:0 16px 8px;font-size:13px;color:#444}
.lv-title{margin:16px 16px 8px;font-size:15px;font-weight:700}
.lv-list{padding:0 12px}
.lv-item{background:#fff;border:1px solid #eee;border-radius:10px;padding:12px;margin-bottom:8px}
.lv-item.on{border-color:#e53935;box-shadow:0 0 0 1px #e53935}
.lv-name{font-size:15px;font-weight:700}
.lv-sub{font-size:12px;color:#999;margin-top:4px}
.lv-price{margin-top:8px;color:#e53935}
.lv-price s{margin-left:8px;color:#bbb;font-size:12px}
.sign-pad{margin:0 12px;background:#fff;border:1px dashed #d9d9d9;border-radius:10px;overflow:hidden}
.sign-pad canvas{width:100%;height:160px;display:block;touch-action:none}
.sign-actions{margin:12px}
.btn-ghost{width:100%;border:1px solid #dcdfe6;background:#fff;border-radius:10px;padding:10px;font-size:14px}
.hold-tip{margin:0 16px 20px;font-size:12px;color:#8a96ad}
.page-contract{background:#f5f5f5}
.contract-paper{margin:12px;background:#fff;border-radius:10px;padding:18px 16px 28px}
.contract-paper h2{margin:0 0 12px;text-align:center;font-size:18px}
.contract-meta{font-size:13px;color:#555;margin-bottom:12px;border-bottom:1px dashed #eee;padding-bottom:10px}
.contract-meta p{margin:4px 0}
.sign-preview{margin-top:16px;padding-top:12px;border-top:1px dashed #eee;font-size:13px;color:#666}
.sign-preview img{width:180px;height:auto;background:#fafafa;border:1px solid #eee;margin-top:8px}
a.witem{display:block;text-decoration:none;color:inherit}
