/* Original ACE2017 H5 V4.9 styles, preserved for the restored templates. */

:root{
  --bg:#f6f7f9;--card:#fff;--text:#17191d;--muted:#7a808a;--line:#e7e9ed;
  --brand:#17191d;--red:#d92d32;--soft:#fff2f2;--gold:#b88a2e;--green:#16865a
}
*{box-sizing:border-box}
body{margin:0;background:#e8eaee;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--text)}
#app{width:min(100%,440px);min-height:100vh;margin:auto;background:var(--bg);padding-bottom:74px;box-shadow:0 0 30px rgba(0,0,0,.08)}
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:11px 14px}
.headrow{display:flex;align-items:center;gap:10px}
.logo{width:40px;height:40px;border-radius:12px;background:#17191d;color:#fff;display:grid;place-items:center;font-weight:900}
.brand{font-size:18px;font-weight:900}.sub{font-size:11px;color:var(--muted);margin-top:1px}
.grow{flex:1}.iconbtn{border:0;border-radius:11px;background:#f1f2f4;padding:9px 11px;font-size:16px}
.page{display:none}.page.on{display:block}.pad{padding:14px}
.hero{background:linear-gradient(145deg,#17191d,#363b45);color:#fff;border-radius:24px;padding:21px;overflow:hidden;position:relative}
.hero:after{content:"ACE";position:absolute;right:-8px;bottom:-26px;font-size:106px;font-weight:900;opacity:.05}
.hero .eyebrow{font-size:11px;opacity:.65}.hero h1{font-size:29px;line-height:1.2;margin:9px 0}.hero p{font-size:13px;line-height:1.65;opacity:.78}
.actions{display:flex;gap:8px;margin-top:16px}.btn{border:0;border-radius:13px;padding:12px 15px;font-weight:800}.primary{background:var(--red);color:#fff}.light{background:#fff;color:#20242a}.ghost{background:#eff1f3;color:#222}.full{width:100%}
.notice{margin-top:12px;padding:12px 13px;border-radius:14px;background:#fff8e7;color:#74581e;font-size:12px;line-height:1.6}
.sec{display:flex;align-items:end;margin:21px 2px 10px}.sec b{font-size:18px}.sec span{margin-left:auto;color:var(--muted);font-size:12px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.card{background:#fff;border:1px solid #eff0f2;border-radius:18px;box-shadow:0 4px 16px rgba(17,24,39,.04)}
.prod{padding:10px}.pic{height:128px;border-radius:14px;background:linear-gradient(135deg,#f5eee7,#e1e5eb);display:grid;place-items:center;font-size:42px}
.pt{font-size:14px;font-weight:800;margin-top:9px}.meta{font-size:11px;color:var(--muted);margin-top:4px}.price{font-size:17px;font-weight:900;margin-top:6px}
.tag{display:inline-block;font-size:10px;background:var(--soft);color:var(--red);border-radius:999px;padding:4px 7px;margin-top:6px}
.steps{display:grid;gap:8px}.step{display:flex;gap:11px;padding:13px;background:#fff;border-radius:15px}
.n{width:28px;height:28px;border-radius:50%;background:#17191d;color:#fff;display:grid;place-items:center;font-weight:800;font-size:12px}
.st b{font-size:14px}.st div{font-size:12px;line-height:1.5;color:var(--muted);margin-top:3px}
.banner{background:linear-gradient(135deg,#fff,#f4efe6);border:1px solid #ece5d9;border-radius:20px;padding:16px}
.banner h2{margin:0 0 6px;font-size:20px}.banner p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}
.form{background:#fff;border-radius:18px;padding:15px;margin-top:12px}.lab{font-size:12px;color:#616872;margin:11px 0 6px}
.input,.textarea{width:100%;border:1px solid #dfe2e7;border-radius:12px;padding:12px 13px;font:inherit}.textarea{min-height:90px;resize:vertical}
.chat{background:#fff;border-radius:18px;padding:13px;margin-top:12px;min-height:430px}
.bub{max-width:78%;padding:10px 12px;border-radius:15px;margin:8px 0;font-size:13px;line-height:1.5}.their{background:#f0f1f3}.mine{background:#1d2229;color:#fff;margin-left:auto}
.chatinput{display:flex;gap:8px;margin-top:12px}.chatinput input{flex:1;border:1px solid #ddd;border-radius:12px;padding:12px}.chatinput button{border:0;border-radius:11px;background:var(--red);color:#fff;padding:0 15px;font-weight:800}
.status{display:inline-block;background:#eaf8f1;color:var(--green);font-size:10px;padding:4px 7px;border-radius:999px}
.member{background:linear-gradient(135deg,#17191d,#383d47);color:#fff;border-radius:22px;padding:18px}.founder{font-size:11px;color:#e7c878;font-weight:800}.mid{font-size:22px;font-weight:900;margin:11px 0 4px}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.m{background:rgba(255,255,255,.09);border-radius:13px;padding:10px;text-align:center}.m b{display:block}.m span{font-size:10px;opacity:.65}
.list{background:#fff;border-radius:17px;overflow:hidden;margin-top:12px}.row{display:flex;gap:10px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}.row:last-child{border:0}.rm{flex:1}.row b{font-size:14px}.row small{display:block;color:var(--muted);margin-top:3px}
.paybox{background:#fff;border-radius:18px;padding:14px;margin-top:12px}.amount{text-align:center;padding:20px 0}.amount small{color:var(--muted)}.amount strong{display:block;font-size:34px;margin-top:3px}
.pm{display:flex;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;margin:8px 0}.pm.sel{border:2px solid var(--red);background:#fff8f8}.pmi{width:36px;height:36px;border-radius:10px;background:#f0f1f3;display:grid;place-items:center}.pm b{font-size:14px}.pm small{display:block;color:var(--muted);margin-top:2px}
.safe{font-size:11px;color:var(--muted);line-height:1.55;margin-top:11px}
.producthero{height:265px;background:linear-gradient(135deg,#f5eee7,#e1e5eb);display:grid;place-items:center;font-size:84px}.detail{padding:17px}.detail h2{margin:8px 0}.detail .price{font-size:26px}
.buybar{position:sticky;bottom:70px;background:rgba(246,247,249,.95);backdrop-filter:blur(10px);padding:10px 14px;display:flex;gap:8px}
.tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.tabs button{border:0;border-radius:10px;padding:9px 4px;background:#f1f2f4;font-size:11px}.tabs button.on{background:#17191d;color:#fff}
.warn{font-size:11px;line-height:1.5;background:#fff8e6;color:#80611f;border-radius:12px;padding:10px;margin-top:10px}
.tabbar{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,440px);height:70px;background:rgba(255,255,255,.97);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr);z-index:40}
.tab{border:0;background:none;color:#7a808a;font-size:10px;display:grid;place-items:center;align-content:center;gap:3px}.tab i{font-style:normal;font-size:20px}.tab.on{color:var(--red);font-weight:800}
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:80;align-items:flex-end;justify-content:center}.modal.show{display:flex}.sheet{width:min(100%,440px);background:#fff;border-radius:24px 24px 0 0;padding:18px}.handle{width:42px;height:4px;background:#dfe2e7;border-radius:99px;margin:0 auto 14px}
.sharegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.si{text-align:center;font-size:11px}.si i{font-style:normal;width:45px;height:45px;border-radius:14px;background:#f2f3f5;display:grid;place-items:center;margin:auto auto 6px;font-size:21px}
.toast{display:none;position:fixed;z-index:100;bottom:88px;left:50%;transform:translateX(-50%);background:#222;color:#fff;border-radius:999px;padding:10px 14px;font-size:12px;white-space:nowrap}

.quick-request{border:0;border-radius:12px;background:var(--red);color:#fff;padding:10px 12px;font-size:12px;font-weight:900;line-height:1.05;box-shadow:0 5px 14px rgba(217,45,50,.25)}
.quick-request small{display:block;font-size:9px;font-weight:700;opacity:.82;margin-top:3px}
.legal-hero{background:linear-gradient(145deg,#fff7f4,#fff);border:2px solid #e34a45;border-radius:20px;padding:17px 15px;margin-top:12px;text-align:center;box-shadow:0 8px 22px rgba(217,45,50,.08)}
.legal-top{font-size:15px;font-weight:950;line-height:1.55;color:#222}
.legal-adult{margin-top:8px;font-size:24px;font-weight:950;color:var(--red);letter-spacing:.5px}
.legal-special{margin-top:5px;font-size:18px;font-weight:900;line-height:1.45}
.legal-special .alcohol{font-size:29px;color:var(--red);font-weight:1000;letter-spacing:2px}
.legal-action{margin-top:7px;font-size:22px;font-weight:1000;color:#17191d}
.legal-action .purchase{font-size:27px;color:var(--red)}
.legal-note{margin-top:8px;font-size:11px;color:#7a5b53;line-height:1.55}
.feature-stack{display:grid;gap:12px}
.feature-card{background:#fff;border:1px solid #eceef1;border-radius:20px;overflow:hidden;box-shadow:0 5px 18px rgba(17,24,39,.05)}
.feature-head{display:flex;align-items:center;padding:12px 13px 8px}
.feature-head b{font-size:15px}.feature-head span{margin-left:auto;font-size:10px;color:var(--red);background:#fff0f0;border-radius:999px;padding:4px 7px;font-weight:800}
.carousel{position:relative;overflow:hidden;touch-action:pan-y}
.track{display:flex;transition:transform .35s ease}
.slide{min-width:100%;padding:7px 13px 13px}
.beer-visual{height:174px;border-radius:17px;background:linear-gradient(145deg,#f5f6f8,#e8ebef);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.beer-visual:after{content:"JAPAN";position:absolute;right:12px;bottom:2px;font-size:46px;font-weight:1000;color:#17191d;opacity:.035}
.can{width:74px;height:142px;border-radius:16px 16px 13px 13px;background:linear-gradient(90deg,#e6e7e8 0%,#fff 42%,#c9ccd0 100%);box-shadow:0 12px 24px rgba(0,0,0,.16);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:1000;font-size:17px;line-height:1.05;position:relative}
.can:before{content:"";position:absolute;top:0;left:8px;right:8px;height:7px;border-radius:50%;background:#c9ccd0}
.can.asahi{color:#151515}.can.kirin{color:#b11720}.can.black{background:linear-gradient(90deg,#18191a,#393b3e 45%,#111);color:#fff}
.can.gold{background:linear-gradient(90deg,#caa64f,#f8e3a7 46%,#a98432);color:#5f481a}
.s-info{margin-top:9px}.s-title{font-weight:900;font-size:14px}.s-sub{font-size:11px;color:var(--muted);margin-top:3px}.s-price{font-size:17px;font-weight:950;margin-top:5px}
.dots{display:flex;justify-content:center;gap:7px;padding:2px 0 12px}
.dot{width:7px;height:7px;border-radius:50%;background:#d7d9dd;border:0;padding:0}
.dot.on{background:var(--red);transform:scale(1.12)}
.age-check{display:flex;gap:9px;align-items:flex-start;padding:12px;border:1px solid #efc1bf;background:#fff8f7;border-radius:13px;margin-top:12px;font-size:12px;line-height:1.5}
.age-check input{margin-top:3px;transform:scale(1.18);accent-color:var(--red)}


/* V1.2 首页第一屏：左商品轮播 + 右委托固定卡 */
.home-core{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;align-items:stretch}
.home-product-card,.home-request-card{min-width:0;border-radius:20px;overflow:hidden;box-shadow:0 7px 20px rgba(17,24,39,.07)}
.home-product-card{background:#fff;border:1px solid #eceef1}
.home-request-card{background:linear-gradient(155deg,#fff5f3,#fff);border:2px solid var(--red);padding:13px 10px;display:flex;flex-direction:column;justify-content:center;text-align:center;position:relative}
.home-request-card:before{content:"委托";position:absolute;right:-7px;bottom:-17px;font-size:54px;font-weight:1000;color:var(--red);opacity:.045}
.home-card-title{display:flex;align-items:center;padding:10px 10px 4px;font-size:12px;font-weight:950}
.home-card-title span{margin-left:auto;color:var(--red);font-size:9px;background:#fff0f0;border-radius:999px;padding:3px 6px}
.home-product-card .slide{padding:6px 9px 9px}
.home-product-card .beer-visual{height:120px;border-radius:14px}
.home-product-card .can{width:56px;height:104px;border-radius:12px;font-size:12px}
.home-product-card .s-info{margin-top:7px}
.home-product-card .s-title{font-size:12px;line-height:1.35}
.home-product-card .s-sub{font-size:9px;line-height:1.4;min-height:25px}
.home-product-card .s-price{font-size:13px;margin-top:3px}
.home-product-card .dots{padding:0 0 9px;gap:5px}
.home-product-card .dot{width:6px;height:6px}
.hr-law{font-size:11px;line-height:1.45;font-weight:900;color:#333}
.hr-adult{font-size:21px;line-height:1.1;font-weight:1000;color:var(--red);margin:8px 0 4px}
.hr-special{font-size:12px;line-height:1.42;font-weight:900}
.hr-special .big-smoke{font-size:22px;color:var(--red);font-weight:1000;letter-spacing:1px}
.hr-purchase{font-size:17px;line-height:1.18;font-weight:1000;margin-top:8px}
.hr-purchase .bigger{font-size:22px;color:var(--red)}
.hr-btn{border:0;border-radius:12px;background:var(--red);color:#fff;font-weight:1000;padding:10px 7px;margin-top:10px;font-size:12px;box-shadow:0 6px 15px rgba(217,45,50,.23)}
.hr-note{font-size:8px;line-height:1.35;color:#936a62;margin-top:7px}
@media(max-width:350px){
 .home-core{gap:7px}
 .hr-adult{font-size:18px}
 .hr-special .big-smoke{font-size:19px}
 .hr-purchase{font-size:15px}
 .hr-purchase .bigger{font-size:19px}
}


/* V1.3 文案与尺寸精修 */

/* 首页：两张竖卡位置不变，右侧委托文字与委托页完全统一 */
.home-request-card{padding:11px 9px}
.hr-law{font-size:10.5px;line-height:1.38;font-weight:950}
.hr-adult{font-size:20px;line-height:1.1;font-weight:1000;color:var(--red);margin:7px 0 3px}
.hr-can{font-size:11px;font-weight:900;color:#333}
.hr-special{font-size:11.5px;line-height:1.38;font-weight:950;margin-top:2px}
.hr-special .big-smoke{font-size:22px;color:var(--red);font-weight:1000;letter-spacing:1px}
.hr-purchase{display:none}
.hr-btn{padding:11px 6px;margin-top:9px;font-size:12px}

/* 首页“怎么购买”下移一点，同时每行压缩 */
.home-buy-section{margin-top:29px}
.home-buy-steps{gap:6px}
.home-buy-steps .step{padding:9px 10px;gap:9px;border-radius:13px}
.home-buy-steps .n{width:24px;height:24px;font-size:10px}
.home-buy-steps .st b{font-size:13px}
.home-buy-steps .st div{font-size:11px;line-height:1.4;margin-top:2px}

/* 委托页顶部说明更紧凑 */
.request-intro{padding:14px 15px}
.request-intro h2{font-size:19px}
.request-intro p{font-size:11.5px;line-height:1.55}

/* 委托页红框：降低整体高度，但保留视觉重点 */
.request-legal{padding:11px 12px;margin-top:9px;border-radius:17px}
.request-legal .legal-top{font-size:13px;line-height:1.4}
.request-legal .legal-adult{font-size:21px;line-height:1.08;margin-top:5px}
.request-legal .legal-can{font-size:12px;font-weight:900;margin-top:1px}
.request-legal .legal-special{font-size:14px;line-height:1.35;margin-top:1px}
.request-legal .legal-special .alcohol{font-size:24px}
.request-legal .legal-action{display:none}
.request-legal .legal-note{font-size:9px;line-height:1.35;margin-top:5px}

/* 表单压缩 */
.request-form{padding:13px 15px}
.request-form .lab{margin:9px 0 5px}
.request-note{
  min-height:44px !important;
  height:44px;
  max-height:104px;
  resize:none;
  overflow-y:auto;
  line-height:1.45;
}
.char-hint{text-align:right;color:var(--muted);font-size:9px;margin-top:4px}
.submit-request{
  min-height:68px;
  font-size:16px;
  line-height:1.25;
  border-radius:16px;
  margin-top:13px !important;
  box-shadow:0 8px 20px rgba(217,45,50,.22);
}
.submit-request .human{display:block;font-size:12px;font-weight:800;margin-top:3px;opacity:.92}


/* V1.4 首页主文案 */
.hero-copy-main{
  font-size:14px;
  line-height:1.55;
  font-weight:950;
  margin-top:10px;
  color:#fff;
}
.hero-copy-detail{
  font-size:11.5px;
  line-height:1.62;
  margin-top:10px;
  color:rgba(255,255,255,.82);
}
.hero-copy-end{
  font-size:13px;
  line-height:1.45;
  margin-top:11px;
  font-weight:950;
  color:#fff;
  letter-spacing:.1px;
}
.hero-copy-end strong{
  color:#fff;
  font-weight:1000;
}


/* V1.5 商城与登录 */
.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.shop-card{background:#fff;border:1px solid #eceef1;border-radius:16px;overflow:hidden;box-shadow:0 4px 14px rgba(17,24,39,.04);cursor:pointer}
.shop-pic{height:132px;background:linear-gradient(145deg,#f4f5f7,#e8ebef);display:grid;place-items:center;font-size:44px}
.shop-info{padding:10px}
.shop-name{font-size:13px;font-weight:900;line-height:1.35;min-height:35px}
.shop-spec{font-size:10px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shop-tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}
.shop-tag{font-size:9px;border-radius:999px;padding:3px 6px;background:#fff1f1;color:var(--red);font-weight:800}
.shop-price-label{font-size:9px;color:var(--muted);margin-top:8px}
.shop-price{font-size:18px;font-weight:1000;margin-top:1px}
.shop-allin{font-size:9px;line-height:1.42;color:#6e737c;margin-top:3px}
.shop-allin strong{color:#333}
.shop-hint{font-size:10px;line-height:1.55;color:#755c28;background:#fff8e8;border-radius:12px;padding:10px 11px;margin:10px 0 13px}

.login-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:12px 0}
.login-switch button{border:0;border-radius:10px;padding:9px 3px;background:#f0f1f3;font-size:10px;font-weight:800;color:#616872}
.login-switch button.on{background:#17191d;color:#fff}
.code-row{display:flex;gap:8px}
.code-row .input{flex:1;min-width:0}
.code-btn{border:0;border-radius:12px;background:#f0f1f3;padding:0 11px;font-size:11px;font-weight:900;white-space:nowrap}
.login-note{font-size:10px;line-height:1.55;color:var(--muted);margin-top:10px}
.forgot{font-size:11px;color:var(--red);font-weight:800;text-align:right;margin-top:8px;cursor:pointer}


/* V1.6 商品详情 + 订单确认 */
.product-gallery{position:relative;overflow:hidden;background:#f2f3f5}
.product-gallery-track{display:flex;transition:transform .35s ease}
.product-gallery-slide{min-width:100%;height:292px;display:grid;place-items:center;background:linear-gradient(145deg,#f6f7f8,#e4e7eb);font-size:88px;position:relative}
.product-gallery-slide:after{content:"JAPAN";position:absolute;right:15px;bottom:-3px;font-size:62px;font-weight:1000;color:#17191d;opacity:.035}
.product-gallery-dots{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:6px}
.product-gallery-dot{width:7px;height:7px;border:0;border-radius:50%;background:rgba(0,0,0,.22);padding:0}
.product-gallery-dot.on{background:var(--red);transform:scale(1.15)}
.product-panel{background:#fff;padding:15px;border-bottom:8px solid var(--bg)}
.product-title{font-size:20px;line-height:1.35;font-weight:1000;margin:8px 0 4px}
.product-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.product-tag{font-size:9px;border-radius:999px;padding:4px 7px;background:#fff0f0;color:var(--red);font-weight:850}
.product-price-box{margin-top:12px;background:#fff7f7;border:1px solid #f5d2d2;border-radius:16px;padding:12px}
.product-price-kicker{font-size:10px;color:#7b6262;font-weight:800}
.product-final-price{font-size:29px;line-height:1.1;font-weight:1000;color:var(--red);margin-top:4px}
.product-included{font-size:10px;line-height:1.55;color:#675e5e;margin-top:5px}
.info-list{background:#fff;border-radius:16px;overflow:hidden;margin-top:11px}
.info-line{display:flex;align-items:center;gap:10px;padding:12px 13px;border-bottom:1px solid var(--line);font-size:12px}
.info-line:last-child{border:0}
.info-line span{color:var(--muted);min-width:68px}
.info-line b{font-size:12px;line-height:1.35}
.qty-wrap{display:flex;align-items:center;margin-left:auto;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.qty-wrap button{width:34px;height:32px;border:0;background:#f4f5f7;font-size:18px}
.qty-wrap strong{width:40px;text-align:center;font-size:13px}
.age-product-warning{background:#fff2f1;border:2px solid var(--red);border-radius:16px;padding:12px;margin-top:11px;text-align:center}
.age-product-warning b{display:block;color:var(--red);font-size:18px}
.age-product-warning div{font-size:10px;line-height:1.5;margin-top:5px;color:#6f514d}
.product-description{background:#fff;border-radius:16px;padding:14px;margin-top:11px}
.product-description h3{margin:0 0 8px;font-size:14px}
.product-description p{font-size:11px;line-height:1.65;color:#666;margin:0}
.product-buybar{position:fixed;bottom:70px;left:50%;transform:translateX(-50%);width:min(100%,440px);z-index:35;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:9px 12px;display:grid;grid-template-columns:84px 1fr;gap:8px}
.cs-buybtn{border:0;border-radius:13px;background:#f0f1f3;font-weight:900;font-size:11px;line-height:1.15}
.buy-now-btn{border:0;border-radius:13px;background:var(--red);color:#fff;font-weight:1000;font-size:15px}

/* 订单确认 */
.order-page-title{font-size:22px;font-weight:1000;margin:3px 0 12px}
.order-card{background:#fff;border-radius:17px;padding:14px;margin-bottom:11px;border:1px solid #eceef1}
.order-card h3{margin:0 0 11px;font-size:14px}
.address-preview{display:flex;gap:10px}
.address-icon{width:39px;height:39px;border-radius:12px;background:#f1f2f4;display:grid;place-items:center;flex:0 0 auto}
.address-main{flex:1;min-width:0}
.address-main b{font-size:13px}
.address-main p{font-size:11px;line-height:1.5;color:#666;margin:4px 0 0}
.order-fields{display:grid;gap:8px;margin-top:11px}
.order-fields input,.order-fields textarea{width:100%;border:1px solid #dfe2e7;border-radius:11px;padding:10px 11px;font:inherit;font-size:12px}
.order-product{display:grid;grid-template-columns:70px 1fr;gap:10px}
.order-product-pic{height:70px;border-radius:13px;background:linear-gradient(145deg,#f5f6f7,#e5e8eb);display:grid;place-items:center;font-size:34px}
.order-product-name{font-size:13px;font-weight:900;line-height:1.35}
.order-product-spec{font-size:10px;color:var(--muted);margin-top:4px}
.order-product-price{font-size:14px;font-weight:1000;margin-top:6px}
.order-kv{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:11px}
.order-kv:last-child{border:0}
.order-kv span{color:var(--muted)}
.order-kv b{margin-left:auto;text-align:right}
.order-total{display:flex;align-items:end;justify-content:space-between;padding-top:11px}
.order-total span{font-size:12px;font-weight:800}
.order-total strong{font-size:24px;color:var(--red)}
.order-allin{font-size:9px;color:#6e737c;line-height:1.5;text-align:right;margin-top:3px}
.order-agree{display:flex;gap:9px;align-items:flex-start;background:#fff8f7;border:1px solid #f1cbc8;border-radius:13px;padding:11px;font-size:10px;line-height:1.55;margin:10px 0}
.order-agree input{margin-top:2px;accent-color:var(--red);transform:scale(1.12)}
.order-submit{min-height:58px;font-size:15px;border-radius:15px}
.order-safe{font-size:9px;color:var(--muted);line-height:1.5;text-align:center;margin-top:7px}


/* V1.7 我的订单 / 会员 / 推荐中心 */
.member-top-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}
.member-action{background:#fff;border:1px solid #eceef1;border-radius:14px;padding:10px 4px;text-align:center;font-size:10px;font-weight:800}
.member-action i{display:block;font-style:normal;font-size:20px;margin-bottom:4px}
.member-wealth{background:linear-gradient(145deg,#fffaf0,#fff);border:1px solid #eadfc7;border-radius:17px;padding:14px;margin-top:12px}
.member-wealth h3{margin:0;font-size:15px}
.member-wealth p{font-size:10px;line-height:1.55;color:#756b58;margin:6px 0 0}
.member-wealth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
.member-wealth-item{background:#fff;border-radius:11px;padding:9px;text-align:center}
.member-wealth-item b{display:block;font-size:14px}
.member-wealth-item span{font-size:9px;color:var(--muted)}

.subpage-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.back-btn{width:36px;height:36px;border:0;border-radius:11px;background:#fff;font-size:18px}
.subpage-head h2{font-size:21px;margin:0}
.subpage-head .grow{flex:1}
.order-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:11px}
.order-tabs button{border:0;border-radius:10px;padding:8px 4px;background:#eceef1;font-size:9px;font-weight:800}
.order-tabs button.on{background:#17191d;color:#fff}
.orders-wrap{display:grid;gap:10px}
.order-list-card{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px}
.order-list-top{display:flex;align-items:center;gap:8px}
.order-no{font-size:10px;color:var(--muted)}
.order-status{margin-left:auto;font-size:10px;font-weight:900;color:var(--red)}
.order-mini-product{display:grid;grid-template-columns:62px 1fr;gap:10px;margin-top:11px}
.order-mini-pic{height:62px;border-radius:12px;background:linear-gradient(145deg,#f4f5f7,#e5e8eb);display:grid;place-items:center;font-size:28px}
.order-mini-name{font-size:12px;font-weight:900;line-height:1.35}
.order-mini-meta{font-size:9px;color:var(--muted);margin-top:4px}
.order-mini-bottom{display:flex;align-items:end;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.order-mini-bottom small{color:var(--muted)}
.order-mini-bottom strong{margin-left:auto;font-size:16px}
.order-open{border:0;border-radius:10px;background:#f0f1f3;padding:8px 10px;font-size:10px;font-weight:800;margin-left:8px}

.timeline-card{background:#fff;border-radius:17px;padding:14px;border:1px solid #eceef1}
.timeline{margin-top:6px}
.tl-item{position:relative;padding:0 0 18px 25px}
.tl-item:last-child{padding-bottom:0}
.tl-item:before{content:"";position:absolute;left:7px;top:12px;bottom:-4px;width:1px;background:#ddd}
.tl-item:last-child:before{display:none}
.tl-dot{position:absolute;left:2px;top:3px;width:11px;height:11px;border-radius:50%;background:#d8dadd;border:2px solid #fff;box-shadow:0 0 0 1px #d8dadd}
.tl-item.done .tl-dot{background:var(--red);box-shadow:0 0 0 1px var(--red)}
.tl-title{font-size:12px;font-weight:900}
.tl-time{font-size:9px;color:var(--muted);margin-top:2px}
.tl-desc{font-size:9px;color:#666;line-height:1.45;margin-top:3px}

.ref-hero{background:linear-gradient(145deg,#17191d,#343942);color:#fff;border-radius:20px;padding:16px}
.ref-hero small{opacity:.65}
.ref-code{font-size:20px;font-weight:1000;margin-top:6px}
.ref-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:11px}
.ref-metric{background:rgba(255,255,255,.09);border-radius:11px;padding:9px 3px;text-align:center}
.ref-metric b{display:block;font-size:13px}
.ref-metric span{font-size:8px;opacity:.7}
.funnel{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:14px;margin-top:11px}
.funnel h3{font-size:14px;margin:0 0 10px}
.funnel-row{display:flex;align-items:center;gap:8px;margin:8px 0}
.funnel-label{width:58px;font-size:10px;color:#666}
.funnel-bar{height:9px;background:#eceef1;border-radius:999px;flex:1;overflow:hidden}
.funnel-fill{height:100%;background:#17191d;border-radius:999px}
.funnel-num{width:32px;text-align:right;font-size:10px;font-weight:900}
.reward-note{background:#fff8e8;color:#715a2b;border-radius:13px;padding:11px;font-size:10px;line-height:1.55;margin-top:10px}

.benefit-card{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:14px;margin-bottom:10px}
.benefit-title{display:flex;align-items:center;gap:9px}
.benefit-icon{width:38px;height:38px;border-radius:12px;background:#f3f4f6;display:grid;place-items:center;font-size:19px}
.benefit-title b{font-size:13px}
.benefit-title small{display:block;color:var(--muted);margin-top:3px}


/* V1.8 积分中心 / 年度礼 / 消息中心 */
.points-hero{background:linear-gradient(145deg,#17191d,#3b4049);color:#fff;border-radius:20px;padding:17px}
.points-hero small{opacity:.65}
.points-balance{font-size:34px;font-weight:1000;line-height:1;margin-top:6px}
.points-unit{font-size:11px;opacity:.7;margin-left:4px}
.points-sub{font-size:10px;line-height:1.55;opacity:.72;margin-top:8px}
.points-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}
.points-action{background:rgba(255,255,255,.09);border-radius:11px;padding:10px 5px;text-align:center;font-size:9px}
.points-action b{display:block;font-size:13px;margin-bottom:2px}
.points-card{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:14px;margin-top:11px}
.points-card h3{margin:0 0 10px;font-size:14px}
.points-rule{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.points-rule:last-child{border:0}
.points-rule-icon{width:34px;height:34px;border-radius:10px;background:#f2f3f5;display:grid;place-items:center;flex:0 0 auto}
.points-rule-main{flex:1}
.points-rule-main b{font-size:12px}
.points-rule-main small{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:3px}
.points-plus{font-size:11px;font-weight:1000;color:var(--red)}
.points-log{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}
.points-log:last-child{border:0}
.points-log-main{flex:1}
.points-log-main b{font-size:11px}
.points-log-main small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.points-log-num{font-size:12px;font-weight:1000}
.points-log-num.plus{color:var(--green)}

.gift-hero{background:linear-gradient(145deg,#fff8ed,#fff);border:1px solid #eadcc1;border-radius:20px;padding:16px}
.gift-badge{display:inline-block;font-size:9px;background:#17191d;color:#fff;border-radius:999px;padding:4px 7px;font-weight:900}
.gift-hero h2{font-size:21px;margin:9px 0 5px}
.gift-hero p{font-size:10px;line-height:1.6;color:#756b58;margin:0}
.gift-progress{margin-top:13px}
.gift-progress-bar{height:9px;background:#eee5d5;border-radius:999px;overflow:hidden}
.gift-progress-fill{height:100%;width:62%;background:#17191d;border-radius:999px}
.gift-progress-text{display:flex;font-size:9px;color:#7a6f5c;margin-top:5px}
.gift-progress-text span:last-child{margin-left:auto}
.gift-list{display:grid;gap:10px;margin-top:11px}
.gift-item{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;display:grid;grid-template-columns:58px 1fr;gap:10px}
.gift-pic{height:58px;border-radius:13px;background:#f3f4f6;display:grid;place-items:center;font-size:27px}
.gift-main b{font-size:12px}
.gift-main p{font-size:9px;line-height:1.5;color:var(--muted);margin:4px 0}
.gift-status{display:inline-block;font-size:9px;border-radius:999px;padding:4px 7px;background:#eef0f3;color:#666;font-weight:850}
.gift-status.active{background:#eaf8f1;color:#177452}
.gift-note{font-size:9px;line-height:1.55;color:#756b58;background:#fff8e8;border-radius:12px;padding:10px;margin-top:10px}

.msg-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:11px}
.msg-tabs button{border:0;border-radius:10px;padding:8px 4px;background:#eceef1;font-size:9px;font-weight:800}
.msg-tabs button.on{background:#17191d;color:#fff}
.msg-list{display:grid;gap:9px}
.msg-item{background:#fff;border:1px solid #eceef1;border-radius:16px;padding:12px;display:grid;grid-template-columns:38px 1fr;gap:9px;position:relative}
.msg-icon{width:38px;height:38px;border-radius:11px;background:#f1f2f4;display:grid;place-items:center;font-size:18px}
.msg-main b{font-size:12px}
.msg-main p{font-size:9px;line-height:1.5;color:#666;margin:4px 0}
.msg-time{font-size:8px;color:#999}
.msg-unread{position:absolute;right:11px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--red)}
.msg-empty{background:#fff;border-radius:16px;padding:28px;text-align:center;color:var(--muted);font-size:11px}

.member-action.unread{position:relative}
.member-action.unread:after{content:"";position:absolute;right:12px;top:8px;width:7px;height:7px;border-radius:50%;background:var(--red)}


/* V1.9 再来一单 + 历史手机号/地址选择 */
.reorder-btn{border:0;border-radius:10px;background:var(--red);color:#fff;padding:8px 10px;font-size:10px;font-weight:900;margin-left:6px}
.reorder-btn.light{background:#fff0f0;color:var(--red)}
.reorder-strip{display:flex;align-items:center;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.reorder-strip small{color:var(--muted);font-size:9px;line-height:1.35;flex:1}
.identity-lock{background:#f7f8fa;border:1px solid #e7e9ed;border-radius:14px;padding:11px;margin-top:10px}
.identity-lock-title{font-size:11px;font-weight:900;margin-bottom:7px}
.identity-row{display:flex;gap:8px;align-items:center;padding:7px 0;border-top:1px solid #eceef1;font-size:10px}
.identity-row:first-of-type{border-top:0}
.identity-row span{color:var(--muted);width:64px}
.identity-row b{font-size:11px}
.lock-chip{margin-left:auto;font-size:8px;background:#eceef1;color:#666;border-radius:999px;padding:3px 6px;font-weight:800}
.quick-select{margin-top:9px}
.quick-select-title{font-size:10px;color:#666;font-weight:800;margin-bottom:6px}
.choice-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:none}
.choice-row::-webkit-scrollbar{display:none}
.choice-chip{flex:0 0 auto;border:1px solid #dfe2e7;background:#fff;border-radius:999px;padding:7px 10px;font-size:9px;white-space:nowrap;cursor:pointer}
.choice-chip.on{border-color:var(--red);background:#fff3f3;color:var(--red);font-weight:900}
.new-choice{border-style:dashed}
.field-note{font-size:9px;color:var(--muted);line-height:1.45;margin-top:4px}
.reorder-banner{background:linear-gradient(145deg,#fff5f3,#fff);border:1px solid #f0c9c6;border-radius:15px;padding:11px;margin-bottom:10px;font-size:10px;line-height:1.55;color:#6f514d}
.reorder-banner b{color:var(--red)}


/* V2.0 搜索 / 分类 / 委托采购历史 */
.shop-search-wrap{position:sticky;top:63px;z-index:16;background:rgba(246,247,249,.96);backdrop-filter:blur(10px);padding:9px 0 7px}
.shop-search{display:flex;gap:7px}
.shop-search input{flex:1;min-width:0;border:1px solid #dfe2e7;background:#fff;border-radius:13px;padding:11px 12px;font:inherit;font-size:12px}
.shop-search button{border:0;border-radius:12px;background:#17191d;color:#fff;padding:0 13px;font-size:11px;font-weight:900}
.category-scroll{display:flex;gap:7px;overflow-x:auto;padding:8px 0 3px;scrollbar-width:none}
.category-scroll::-webkit-scrollbar{display:none}
.cat-chip{flex:0 0 auto;border:1px solid #e1e3e7;background:#fff;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:800;color:#666}
.cat-chip.on{background:var(--red);border-color:var(--red);color:#fff}
.shop-result-line{display:flex;align-items:center;margin:7px 1px 10px;font-size:10px;color:var(--muted)}
.shop-result-line b{color:#333}
.shop-result-line span:last-child{margin-left:auto}

.request-history-card{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;margin-bottom:10px}
.request-history-top{display:flex;align-items:center;gap:8px}
.request-history-no{font-size:10px;color:var(--muted)}
.request-history-status{margin-left:auto;font-size:10px;font-weight:900;color:var(--red)}
.request-history-body{margin-top:10px;background:#f8f9fa;border-radius:13px;padding:11px}
.request-history-name{font-size:13px;font-weight:950}
.request-history-meta{font-size:9px;color:var(--muted);line-height:1.55;margin-top:4px}
.request-history-note{font-size:10px;line-height:1.5;color:#555;margin-top:6px}
.request-history-actions{display:flex;gap:7px;margin-top:10px}
.request-history-actions button{flex:1;border:0;border-radius:10px;padding:9px 7px;font-size:10px;font-weight:900}
.request-history-actions .detail{background:#f0f1f3;color:#222}
.request-history-actions .again{background:var(--red);color:#fff}

.history-badge{display:inline-block;font-size:9px;padding:4px 7px;border-radius:999px;background:#fff1f1;color:var(--red);font-weight:900;margin-bottom:7px}
.request-detail-card{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:14px;margin-bottom:10px}
.request-detail-card h3{margin:0 0 10px;font-size:14px}
.request-kv{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:10px}
.request-kv:last-child{border:0}
.request-kv span{color:var(--muted);width:75px;flex:0 0 auto}
.request-kv b{font-size:11px;line-height:1.45}
.request-detail-again{min-height:55px;font-size:15px;border-radius:15px}

.member-action.request-entry{position:relative}
.member-action.request-entry:after{content:"委托";position:absolute;right:5px;top:5px;background:#fff0f0;color:var(--red);font-size:7px;border-radius:999px;padding:2px 4px;font-weight:900}


/* V2.1 烟酒等特殊商品人工委托入口 */
.special-service-card{
  grid-column:1/-1;
  background:linear-gradient(145deg,#fff7f5,#fff);
  border:2px solid var(--red);
  border-radius:20px;
  padding:17px 15px;
  margin-top:6px;
  text-align:center;
  box-shadow:0 8px 22px rgba(217,45,50,.08);
}
.special-service-law{
  font-size:11px;
  line-height:1.45;
  font-weight:900;
  color:#4d4d4d;
}
.special-service-goods{
  margin-top:9px;
  font-size:22px;
  line-height:1.2;
  font-weight:1000;
  color:var(--red);
}
.special-service-adult{
  margin-top:7px;
  font-size:22px;
  line-height:1.22;
  font-weight:1000;
  color:#17191d;
}
.special-service-desc{
  margin:9px auto 0;
  max-width:330px;
  font-size:10px;
  line-height:1.6;
  color:#705752;
}
.special-service-btn{
  width:100%;
  min-height:64px;
  border:0;
  border-radius:15px;
  margin-top:13px;
  background:var(--red);
  color:#fff;
  line-height:1.2;
  font-weight:1000;
  box-shadow:0 8px 20px rgba(217,45,50,.24);
}
.special-service-btn .cs-small{
  display:block;
  font-size:10px;
  margin-bottom:4px;
  opacity:.82;
  font-weight:800;
}
.special-service-btn .cs-main{
  display:block;
  font-size:19px;
  letter-spacing:.2px;
  font-weight:1000;
}
.special-service-note{
  margin-top:8px;
  font-size:8px;
  line-height:1.45;
  color:#8a6c65;
}


/* V2.3 人工客服报价闭环 */
.service-top-card{background:linear-gradient(145deg,#17191d,#353a43);color:#fff;border-radius:19px;padding:15px;margin-bottom:11px}
.service-top-card small{opacity:.62}
.service-top-card h2{font-size:20px;margin:6px 0 5px}
.service-top-card p{font-size:10px;line-height:1.55;opacity:.75;margin:0}
.service-status-row{display:flex;gap:7px;margin-top:10px;flex-wrap:wrap}
.service-pill{font-size:9px;border-radius:999px;padding:4px 7px;background:rgba(255,255,255,.1)}
.service-pill.live{background:#1f7657}
.chat-shell{background:#fff;border:1px solid #eceef1;border-radius:18px;overflow:hidden}
.chat-toolbar{display:flex;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line)}
.chat-avatar{width:36px;height:36px;border-radius:11px;background:#17191d;color:#fff;display:grid;place-items:center;font-weight:1000}
.chat-toolbar-main{margin-left:9px}
.chat-toolbar-main b{font-size:12px}
.chat-toolbar-main small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.chat-toolbar .grow{flex:1}
.human-live{font-size:8px;background:#eaf8f1;color:#177452;border-radius:999px;padding:4px 6px;font-weight:900}
.chat-area-v23{min-height:305px;max-height:380px;overflow:auto;background:#fafafa;padding:13px}
.msg{display:flex;margin:8px 0}
.msg.user{justify-content:flex-end}
.msg-bubble{max-width:78%;padding:10px 11px;border-radius:14px;font-size:10.5px;line-height:1.55;background:#fff;border:1px solid #e7e9ed}
.msg.user .msg-bubble{background:#17191d;color:#fff;border-color:#17191d}
.quote-card{background:#fff;border:2px solid #efc7c4;border-radius:16px;padding:12px;margin:10px 0}
.quote-badge{display:inline-block;background:#fff0f0;color:var(--red);font-size:8px;border-radius:999px;padding:4px 7px;font-weight:900}
.quote-title{font-size:14px;font-weight:1000;margin-top:7px}
.quote-no{font-size:8px;color:var(--muted);margin-top:2px}
.quote-lines{margin-top:9px}
.quote-line{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid #f0f1f3;font-size:9px}
.quote-line:last-child{border:0}
.quote-line span{color:var(--muted)}
.quote-line b{margin-left:auto;text-align:right}
.quote-total{display:flex;align-items:end;margin-top:9px;padding-top:9px;border-top:1px solid #efc7c4}
.quote-total span{font-size:10px;font-weight:900}
.quote-total strong{margin-left:auto;font-size:22px;color:var(--red)}
.quote-included{font-size:8px;line-height:1.45;color:#756661;margin-top:4px}
.quote-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:7px;margin-top:10px}
.quote-actions button{border:0;border-radius:11px;padding:10px 6px;font-size:10px;font-weight:900}
.quote-more{background:#f0f1f3;color:#333}
.quote-confirm{background:var(--red);color:#fff}
.chat-compose-v23{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px;border-top:1px solid var(--line);background:#fff}
.chat-compose-v23 input{min-width:0;border:1px solid #dfe2e7;border-radius:12px;padding:10px 11px;font:inherit;font-size:11px}
.chat-compose-v23 button{border:0;border-radius:11px;background:var(--red);color:#fff;padding:0 14px;font-size:10px;font-weight:900}
.service-help{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
.service-help button{border:0;border-radius:11px;background:#fff;padding:10px 4px;font-size:9px;font-weight:850;border:1px solid #eceef1}
.quote-confirm-page{background:linear-gradient(145deg,#fff6f4,#fff);border:2px solid var(--red);border-radius:18px;padding:14px}
.quote-confirm-page h2{font-size:18px;margin:0 0 5px}
.quote-confirm-page p{font-size:9px;line-height:1.55;color:#725b56;margin:0}
.quote-summary{background:#fff;border-radius:15px;padding:13px;margin-top:10px;border:1px solid #eceef1}
.quote-summary h3{font-size:13px;margin:0 0 9px}
.quote-summary .order-kv{font-size:10px}
.quote-summary .order-kv b{font-size:10px}
.quote-big-total{display:flex;align-items:end;margin-top:10px}
.quote-big-total span{font-size:11px;font-weight:900}
.quote-big-total strong{margin-left:auto;font-size:26px;color:var(--red)}


/* V2.4 物流详情 / 地址簿 / 实名认证 */
.logistics-hero{background:linear-gradient(145deg,#17191d,#373c45);color:#fff;border-radius:20px;padding:16px}
.logistics-hero small{opacity:.65}
.logistics-status{font-size:22px;font-weight:1000;margin-top:6px}
.logistics-sub{font-size:10px;line-height:1.55;opacity:.72;margin-top:5px}
.logistics-code{margin-top:10px;background:rgba(255,255,255,.08);border-radius:12px;padding:9px 10px;font-size:10px}
.logistics-map{height:150px;border-radius:16px;background:linear-gradient(145deg,#f2f4f6,#e4e8ec);margin-top:11px;position:relative;overflow:hidden}
.logistics-map:before{content:"JAPAN";position:absolute;left:22px;top:48px;font-size:21px;font-weight:1000;color:#17191d;opacity:.13}
.logistics-map:after{content:"CHINA";position:absolute;right:20px;bottom:28px;font-size:21px;font-weight:1000;color:#17191d;opacity:.13}
.route-line{position:absolute;left:75px;top:78px;width:210px;height:2px;background:#c6cbd1;transform:rotate(12deg);transform-origin:left center}
.route-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px rgba(217,45,50,.12)}
.route-dot.jp{left:68px;top:71px}.route-dot.cn{right:70px;bottom:37px}
.route-plane{position:absolute;left:175px;top:78px;font-size:23px;transform:rotate(12deg)}
.logistics-events{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:14px;margin-top:11px}
.logistics-events h3{font-size:14px;margin:0 0 11px}
.log-event{display:grid;grid-template-columns:72px 15px 1fr;gap:8px;padding-bottom:15px;position:relative}
.log-event:last-child{padding-bottom:0}
.log-time{font-size:9px;color:var(--muted);line-height:1.4}
.log-node{position:relative}
.log-node:before{content:"";position:absolute;left:6px;top:11px;bottom:-15px;width:1px;background:#ddd}
.log-event:last-child .log-node:before{display:none}
.log-dot{width:11px;height:11px;border-radius:50%;background:#d7d9dd;margin-top:2px}
.log-event.done .log-dot{background:var(--red)}
.log-main b{font-size:11px}.log-main p{font-size:9px;line-height:1.45;color:#666;margin:3px 0 0}

.contact-center-card{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;margin-bottom:10px}
.contact-center-card h3{font-size:14px;margin:0 0 9px}
.contact-item{display:flex;gap:9px;align-items:flex-start;padding:10px 0;border-top:1px solid var(--line)}
.contact-item:first-of-type{border-top:0}
.contact-icon{width:35px;height:35px;border-radius:10px;background:#f1f2f4;display:grid;place-items:center;flex:0 0 auto}
.contact-main{flex:1;min-width:0}
.contact-main b{font-size:11px;line-height:1.4}
.contact-main small{display:block;font-size:9px;color:var(--muted);margin-top:3px;line-height:1.45}
.default-chip{display:inline-block;font-size:8px;border-radius:999px;padding:3px 6px;background:#eaf8f1;color:#177452;font-weight:900;margin-left:4px}
.contact-actions{display:flex;gap:5px;margin-top:6px}
.contact-actions button{border:0;border-radius:8px;background:#f0f1f3;padding:6px 8px;font-size:8px;font-weight:850}
.contact-actions button.primary-mini{background:#fff0f0;color:var(--red)}
.add-contact-btn{width:100%;border:1px dashed #d3d6db;background:#fafafa;border-radius:12px;padding:10px;font-size:10px;font-weight:900}

.verify-hero{background:linear-gradient(145deg,#fff9ee,#fff);border:1px solid #e8dcc3;border-radius:20px;padding:16px}
.verify-status{display:inline-block;font-size:9px;background:#eaf8f1;color:#177452;border-radius:999px;padding:4px 7px;font-weight:900}
.verify-hero h2{font-size:20px;margin:9px 0 5px}
.verify-hero p{font-size:10px;line-height:1.55;color:#746b5d;margin:0}
.verify-card{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:14px;margin-top:11px}
.verify-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.verify-row:last-child{border:0}
.verify-row span{width:74px;font-size:10px;color:var(--muted)}
.verify-row b{font-size:11px;flex:1}
.verify-lock{font-size:8px;background:#eceef1;color:#666;border-radius:999px;padding:4px 6px;font-weight:900}
.verify-note{background:#fff8e8;color:#715a2b;border-radius:13px;padding:11px;font-size:9px;line-height:1.55;margin-top:10px}
.verify-help{border:0;border-radius:12px;background:#17191d;color:#fff;padding:11px 12px;font-size:10px;font-weight:900;width:100%;margin-top:10px}
.order-extra-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.order-extra-actions button{border:0;border-radius:10px;padding:9px 7px;font-size:9px;font-weight:900}
.order-extra-actions .track-btn{background:#17191d;color:#fff}
.order-extra-actions .cs-btn{background:#f0f1f3;color:#222}


/* V2.5 售后 / 异常处理 / 退款 / 帮助中心 */
.after-hero{background:linear-gradient(145deg,#17191d,#383d46);color:#fff;border-radius:20px;padding:16px}
.after-hero small{opacity:.65}
.after-hero h2{font-size:20px;margin:6px 0 5px}
.after-hero p{font-size:10px;line-height:1.55;opacity:.75;margin:0}
.after-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:11px}
.after-entry{background:#fff;border:1px solid #eceef1;border-radius:16px;padding:13px;cursor:pointer}
.after-entry i{display:block;font-style:normal;font-size:24px;margin-bottom:8px}
.after-entry b{font-size:12px}
.after-entry p{font-size:9px;line-height:1.45;color:var(--muted);margin:4px 0 0}
.after-form{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:14px;margin-top:11px}
.after-form h3{font-size:14px;margin:0 0 10px}
.issue-types{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.issue-chip{border:1px solid #dfe2e7;background:#fff;border-radius:11px;padding:9px 7px;font-size:9px;font-weight:850;text-align:center}
.issue-chip.on{border-color:var(--red);background:#fff3f3;color:var(--red)}
.after-form textarea{width:100%;min-height:78px;border:1px solid #dfe2e7;border-radius:11px;padding:10px 11px;font:inherit;font-size:10px;margin-top:10px}
.upload-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}
.upload-box{height:70px;border:1px dashed #cfd3d8;border-radius:11px;background:#fafafa;display:grid;place-items:center;text-align:center;font-size:9px;color:#777}
.after-submit{min-height:55px;font-size:14px;border-radius:14px;margin-top:10px}
.after-note{font-size:9px;line-height:1.5;color:#75645f;background:#fff8f5;border-radius:12px;padding:10px;margin-top:9px}

.ticket-card{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;margin-bottom:10px}
.ticket-top{display:flex;align-items:center;gap:8px}
.ticket-no{font-size:9px;color:var(--muted)}
.ticket-status{margin-left:auto;font-size:9px;font-weight:900;color:var(--red)}
.ticket-title{font-size:13px;font-weight:950;margin-top:9px}
.ticket-meta{font-size:9px;line-height:1.5;color:#666;margin-top:4px}
.ticket-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-top:10px}
.ticket-step{text-align:center}
.ticket-step .bar{height:5px;background:#e4e6e9;border-radius:999px}
.ticket-step.done .bar{background:var(--red)}
.ticket-step small{display:block;font-size:7px;color:#888;margin-top:4px}
.ticket-actions{display:flex;gap:7px;margin-top:10px}
.ticket-actions button{flex:1;border:0;border-radius:9px;padding:8px 6px;font-size:9px;font-weight:900}
.ticket-actions .detail{background:#f0f1f3}
.ticket-actions .cs{background:#17191d;color:#fff}

.refund-hero{background:linear-gradient(145deg,#fff6f3,#fff);border:2px solid #efc7c4;border-radius:18px;padding:14px}
.refund-hero small{color:#8a6c65}
.refund-amount{font-size:29px;color:var(--red);font-weight:1000;margin-top:5px}
.refund-status{font-size:12px;font-weight:950;margin-top:6px}
.refund-desc{font-size:9px;line-height:1.5;color:#6f5b56;margin-top:4px}
.refund-track{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:14px;margin-top:11px}
.refund-track h3{font-size:14px;margin:0 0 10px}

.help-search{display:flex;gap:7px;margin-bottom:11px}
.help-search input{flex:1;border:1px solid #dfe2e7;border-radius:12px;padding:10px 11px;font:inherit;font-size:11px}
.help-search button{border:0;border-radius:11px;background:#17191d;color:#fff;padding:0 13px;font-size:10px;font-weight:900}
.help-cat{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:11px}
.help-cat button{border:0;border-radius:11px;background:#fff;padding:10px 4px;font-size:9px;font-weight:850;border:1px solid #eceef1}
.faq-card{background:#fff;border:1px solid #eceef1;border-radius:15px;margin-bottom:8px;overflow:hidden}
.faq-q{padding:12px 13px;font-size:11px;font-weight:900;display:flex;align-items:center;cursor:pointer}
.faq-q span{margin-left:auto;color:#999}
.faq-a{display:none;padding:0 13px 12px;font-size:9px;line-height:1.6;color:#666}
.faq-card.open .faq-a{display:block}
.help-human{background:#fff8e8;color:#745d2c;border-radius:13px;padding:11px;font-size:9px;line-height:1.55;margin-top:10px}
.help-human button{width:100%;border:0;border-radius:10px;background:var(--red);color:#fff;padding:10px;font-size:10px;font-weight:900;margin-top:9px}

.order-after-btn{border:0;border-radius:10px;background:#fff0f0;color:var(--red);padding:9px 7px;font-size:9px;font-weight:900}


/* V2.6 跨境直邮不退换规则 */
.crossborder-policy{
  background:linear-gradient(145deg,#fff5f2,#fff);
  border:2px solid var(--red);
  border-radius:16px;
  padding:12px 13px;
  margin:10px 0;
}
.crossborder-policy .policy-title{
  font-size:15px;
  line-height:1.3;
  font-weight:1000;
  color:var(--red);
}
.crossborder-policy .policy-main{
  margin-top:6px;
  font-size:10px;
  line-height:1.6;
  color:#654f4a;
}
.crossborder-policy .policy-cost{
  margin-top:8px;
  background:#fff;
  border-radius:11px;
  padding:9px 10px;
  font-size:9px;
  line-height:1.55;
  color:#6a5b56;
}
.crossborder-policy .policy-cost b{color:#222}
.crossborder-policy .policy-exception{
  margin-top:8px;
  font-size:9px;
  line-height:1.55;
  color:#6b5a55;
  padding-top:8px;
  border-top:1px solid #f0d6d1;
}
.payment-policy{
  background:#fff8f6;
  border:1px solid #efc7c2;
  border-radius:13px;
  padding:10px 11px;
  margin:10px 0;
  font-size:9px;
  line-height:1.55;
  color:#6a5550;
}
.after-boundary{
  background:#fff4f2;
  border:1px solid #efc9c5;
  border-radius:14px;
  padding:11px;
  margin-top:10px;
}
.after-boundary b{
  display:block;
  color:var(--red);
  font-size:12px;
  margin-bottom:5px;
}
.after-boundary p{
  margin:0;
  font-size:9px;
  line-height:1.55;
  color:#675550;
}


/* V2.7 购物车 / 收藏 / 最近浏览 */
.shop-tools{display:flex;gap:7px;margin:8px 0 4px}
.shop-tool{flex:1;border:1px solid #e2e4e8;background:#fff;border-radius:12px;padding:9px 8px;font-size:10px;font-weight:900;position:relative}
.shop-tool .count{display:inline-flex;min-width:17px;height:17px;border-radius:999px;background:var(--red);color:#fff;align-items:center;justify-content:center;font-size:8px;margin-left:4px;padding:0 4px}
.shop-card-actions{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:8px}
.shop-card-actions button{border:0;border-radius:9px;padding:7px 6px;font-size:8px;font-weight:900}
.shop-card-actions .add-cart{background:#17191d;color:#fff}
.shop-card-actions .fav-mini{background:#f0f1f3;color:#333;width:34px}
.product-buybar.v27{grid-template-columns:62px 62px 1fr}
.fav-buybtn,.cart-buybtn{border:0;border-radius:13px;background:#f0f1f3;font-weight:900;font-size:9px;line-height:1.2}
.cart-buybtn{background:#17191d;color:#fff}
.cart-page-title{display:flex;align-items:center;margin-bottom:11px}
.cart-page-title h2{font-size:22px;margin:0}
.cart-page-title small{margin-left:auto;color:var(--muted);font-size:9px}
.cart-list{display:grid;gap:9px}
.cart-item{background:#fff;border:1px solid #eceef1;border-radius:16px;padding:12px;display:grid;grid-template-columns:58px 1fr;gap:10px}
.cart-pic{height:58px;border-radius:12px;background:linear-gradient(145deg,#f4f5f7,#e4e8eb);display:grid;place-items:center;font-size:28px}
.cart-main{min-width:0}
.cart-name{font-size:12px;font-weight:950;line-height:1.35}
.cart-spec{font-size:9px;color:var(--muted);margin-top:3px}
.cart-price{font-size:13px;font-weight:1000;color:var(--red);margin-top:6px}
.cart-row{display:flex;align-items:center;margin-top:8px;gap:6px}
.cart-qty{display:flex;border:1px solid #dfe2e7;border-radius:9px;overflow:hidden}
.cart-qty button{width:28px;height:27px;border:0;background:#f4f5f7}
.cart-qty b{width:34px;text-align:center;line-height:27px;font-size:10px}
.cart-remove{margin-left:auto;border:0;background:transparent;color:#999;font-size:9px}
.cart-summary{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;margin-top:11px}
.cart-summary h3{font-size:14px;margin:0 0 8px}
.cart-kv{display:flex;font-size:10px;padding:6px 0}
.cart-kv span{color:var(--muted)}.cart-kv b{margin-left:auto}
.cart-total{display:flex;align-items:end;padding-top:9px;margin-top:5px;border-top:1px solid var(--line)}
.cart-total span{font-size:11px;font-weight:900}
.cart-total strong{margin-left:auto;font-size:25px;color:var(--red)}
.cart-checkout{min-height:58px;font-size:15px;border-radius:15px;margin-top:10px}
.cart-empty{background:#fff;border-radius:17px;padding:28px 16px;text-align:center}
.cart-empty i{font-style:normal;font-size:38px}
.cart-empty h3{font-size:15px;margin:9px 0 4px}
.cart-empty p{font-size:9px;color:var(--muted);line-height:1.5;margin:0}
.fav-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.fav-card{background:#fff;border:1px solid #eceef1;border-radius:15px;overflow:hidden}
.fav-pic{height:110px;background:linear-gradient(145deg,#f4f5f7,#e6e9ec);display:grid;place-items:center;font-size:45px}
.fav-info{padding:10px}
.fav-info b{font-size:11px;line-height:1.35;display:block}
.fav-info small{display:block;color:var(--muted);font-size:8px;margin-top:4px}
.fav-price{color:var(--red);font-weight:1000;font-size:13px;margin-top:6px}
.fav-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}
.fav-actions button{border:0;border-radius:8px;padding:7px 4px;font-size:8px;font-weight:900}
.fav-actions .open{background:#f0f1f3}.fav-actions .cart{background:#17191d;color:#fff}
.history-strip{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.history-strip::-webkit-scrollbar{display:none}
.history-mini{flex:0 0 132px;background:#fff;border:1px solid #eceef1;border-radius:14px;overflow:hidden}
.history-mini .pic{height:82px;background:#f1f3f5;display:grid;place-items:center;font-size:34px}
.history-mini .info{padding:8px}
.history-mini b{font-size:9px;line-height:1.3;display:block}
.history-mini strong{font-size:11px;color:var(--red);display:block;margin-top:5px}
.cart-policy{font-size:9px;line-height:1.55;color:#6b5954;background:#fff8f5;border-radius:12px;padding:10px;margin-top:9px}


/* V2.8 付款成功 / 订单凭证 / 安全分享 */
.success-hero{
  background:linear-gradient(145deg,#17191d,#353a43);
  color:#fff;
  border-radius:22px;
  padding:20px 16px;
  text-align:center;
}
.success-check{
  width:62px;height:62px;border-radius:50%;
  background:#fff;color:#17191d;
  display:grid;place-items:center;
  font-size:32px;font-weight:1000;
  margin:0 auto 12px;
}
.success-hero h2{font-size:22px;margin:0 0 5px}
.success-hero p{font-size:10px;line-height:1.55;opacity:.72;margin:0}
.success-amount{
  margin-top:13px;
  background:rgba(255,255,255,.08);
  border-radius:14px;
  padding:11px;
}
.success-amount small{display:block;opacity:.62;font-size:9px}
.success-amount strong{display:block;font-size:29px;margin-top:4px}
.success-order-card{
  background:#fff;border:1px solid #eceef1;border-radius:18px;padding:14px;margin-top:11px
}
.success-order-card h3{font-size:14px;margin:0 0 10px}
.success-kv{display:flex;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:10px}
.success-kv:last-child{border:0}
.success-kv span{color:var(--muted)}
.success-kv b{margin-left:auto;text-align:right}
.next-step-card{
  background:#fff8e8;color:#715a2b;
  border-radius:15px;padding:12px;margin-top:11px
}
.next-step-card b{display:block;font-size:12px;margin-bottom:5px}
.next-step-card p{font-size:9px;line-height:1.55;margin:0}
.success-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.success-actions button{border:0;border-radius:13px;padding:12px 8px;font-size:10px;font-weight:900}
.success-actions .primary{background:var(--red);color:#fff}
.success-actions .dark{background:#17191d;color:#fff}
.success-actions .light{background:#fff;border:1px solid #e2e4e8}
.success-wide{width:100%;margin-top:8px;border:0;border-radius:13px;padding:12px 8px;font-size:10px;font-weight:900;background:#fff;border:1px solid #e2e4e8}
.safe-share-note{
  background:#f7f8fa;border:1px solid #e7e9ed;border-radius:13px;padding:10px;margin-top:9px;
  font-size:8.5px;line-height:1.5;color:#727780
}

.receipt-card{
  background:#fff;border:1px solid #dfe2e7;border-radius:18px;padding:16px;
  box-shadow:0 8px 22px rgba(0,0,0,.04)
}
.receipt-brand{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.receipt-logo{width:43px;height:43px;border-radius:12px;background:#17191d;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:1000}
.receipt-brand b{font-size:15px}.receipt-brand small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.receipt-status{margin-left:auto;background:#eaf8f1;color:#177452;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900}
.receipt-title{text-align:center;padding:15px 0 10px}
.receipt-title h2{font-size:20px;margin:0}
.receipt-title p{font-size:9px;color:var(--muted);margin:5px 0 0}
.receipt-table{margin-top:5px}
.receipt-row{display:flex;gap:9px;padding:8px 0;border-bottom:1px dashed #e4e6e9;font-size:10px}
.receipt-row span{color:var(--muted);width:86px}
.receipt-row b{flex:1;text-align:right}
.receipt-total{display:flex;align-items:end;padding-top:13px}
.receipt-total span{font-size:11px;font-weight:900}
.receipt-total strong{margin-left:auto;color:var(--red);font-size:25px}
.receipt-footer{font-size:8.5px;line-height:1.55;color:#777;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.receipt-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.receipt-actions button{border:0;border-radius:12px;padding:11px 7px;font-size:9px;font-weight:900}
.receipt-actions .dark{background:#17191d;color:#fff}
.receipt-actions .light{background:#f0f1f3}


/* V2.9 注册 / 实名 / 账号绑定闭环 */
.join-hero{background:linear-gradient(145deg,#17191d,#353a43);color:#fff;border-radius:22px;padding:18px 16px}
.join-hero small{opacity:.62}
.join-hero h2{font-size:22px;margin:6px 0 5px}
.join-hero p{font-size:10px;line-height:1.55;opacity:.74;margin:0}
.join-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:13px}
.join-step{text-align:center}
.join-step .dot{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.12);display:grid;place-items:center;margin:0 auto;font-size:10px;font-weight:1000}
.join-step.on .dot{background:#fff;color:#17191d}
.join-step small{display:block;font-size:7.5px;opacity:.68;margin-top:4px}
.join-card{background:#fff;border:1px solid #eceef1;border-radius:18px;padding:14px;margin-top:11px}
.join-card h3{font-size:14px;margin:0 0 10px}
.join-fields{display:grid;gap:8px}
.join-fields input{width:100%;border:1px solid #dfe2e7;border-radius:11px;padding:10px 11px;font:inherit;font-size:11px}
.reg-code-row{display:grid;grid-template-columns:1fr auto;gap:7px}
.reg-code-row button{border:0;border-radius:10px;background:#17191d;color:#fff;padding:0 12px;font-size:9px;font-weight:900}
.join-note{background:#f7f8fa;border-radius:12px;padding:10px;font-size:9px;line-height:1.55;color:#6d737c;margin-top:9px}
.join-note b{color:#333}
.join-agree{display:flex;gap:8px;align-items:flex-start;background:#fff8f6;border:1px solid #efc9c4;border-radius:13px;padding:10px;font-size:9px;line-height:1.55;margin-top:10px}
.join-agree input{margin-top:2px;accent-color:var(--red)}
.join-submit{min-height:56px;border-radius:14px;font-size:14px;margin-top:10px}
.member-created{text-align:center;background:linear-gradient(145deg,#fff9ed,#fff);border:1px solid #e6dcc8;border-radius:20px;padding:18px 14px}
.member-created .check{width:58px;height:58px;border-radius:50%;background:#17191d;color:#fff;display:grid;place-items:center;font-size:29px;margin:0 auto 10px}
.member-created h2{font-size:20px;margin:0 0 5px}
.member-created p{font-size:9px;line-height:1.55;color:#756b5b;margin:0}
.member-created-no{background:#17191d;color:#fff;border-radius:14px;padding:12px;margin-top:12px;font-size:18px;font-weight:1000;letter-spacing:.5px}
.member-created small{display:block;color:#8b8170;margin-top:7px;font-size:8px}
.bind-hero{background:linear-gradient(145deg,#17191d,#373c45);color:#fff;border-radius:20px;padding:16px}
.bind-hero h2{font-size:20px;margin:5px 0}
.bind-hero p{font-size:9px;line-height:1.55;opacity:.7;margin:0}
.bind-card{background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;margin-top:10px}
.bind-card h3{font-size:14px;margin:0 0 10px}
.bind-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.bind-row:last-child{border:0}
.bind-icon{width:37px;height:37px;border-radius:11px;background:#f1f2f4;display:grid;place-items:center;font-size:17px}
.bind-main{flex:1}
.bind-main b{font-size:11px}
.bind-main small{display:block;font-size:8.5px;color:var(--muted);margin-top:3px}
.bind-status{font-size:8px;border-radius:999px;padding:4px 7px;background:#eaf8f1;color:#177452;font-weight:900}
.bind-status.off{background:#f0f1f3;color:#777}
.bind-btn{border:0;border-radius:9px;background:#17191d;color:#fff;padding:8px 9px;font-size:8.5px;font-weight:900}
.account-security{background:#fff8e8;color:#725c2d;border-radius:13px;padding:10px;font-size:9px;line-height:1.55;margin-top:10px}
.account-security b{display:block;margin-bottom:4px}
.login-register-link{margin-top:10px;text-align:center;font-size:10px;color:#666}
.login-register-link button{border:0;background:none;color:var(--red);font-weight:900;font-size:10px;padding:0}


/* V3.0 优惠券 / 积分抵扣 / 活动中心 */
.benefit-wallet{
  background:linear-gradient(145deg,#17191d,#363b44);
  color:#fff;border-radius:20px;padding:16px
}
.benefit-wallet small{opacity:.62}
.benefit-wallet h2{font-size:21px;margin:6px 0 5px}
.benefit-wallet p{font-size:9px;line-height:1.55;opacity:.72;margin:0}
.wallet-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.wallet-metric{background:rgba(255,255,255,.08);border-radius:11px;padding:9px 4px;text-align:center}
.wallet-metric b{display:block;font-size:14px}
.wallet-metric span{font-size:8px;opacity:.7}

.coupon-list{display:grid;gap:9px;margin-top:11px}
.coupon-card{
  display:grid;grid-template-columns:92px 1fr;background:#fff;border:1px solid #eceef1;
  border-radius:17px;overflow:hidden
}
.coupon-left{
  background:linear-gradient(145deg,#fff3f2,#fff);display:grid;place-items:center;
  text-align:center;padding:12px 7px;border-right:1px dashed #efc9c5
}
.coupon-left strong{font-size:23px;color:var(--red)}
.coupon-left small{font-size:8px;color:#8a6b66}
.coupon-main{padding:12px}
.coupon-main b{font-size:12px}
.coupon-main p{font-size:8.5px;line-height:1.5;color:var(--muted);margin:4px 0}
.coupon-main .status{display:inline-block;font-size:8px;border-radius:999px;padding:3px 6px;background:#eaf8f1;color:#177452;font-weight:900}
.coupon-main .status.lock{background:#f0f1f3;color:#777}
.coupon-main button{
  margin-top:7px;border:0;border-radius:9px;background:#17191d;color:#fff;
  padding:7px 9px;font-size:8.5px;font-weight:900
}

.activity-hero{
  background:linear-gradient(145deg,#fff8ed,#fff);border:1px solid #eadfc8;
  border-radius:20px;padding:16px
}
.activity-hero h2{font-size:21px;margin:5px 0}
.activity-hero p{font-size:9px;line-height:1.55;color:#756b59;margin:0}
.activity-list{display:grid;gap:10px;margin-top:11px}
.activity-card{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;
  display:grid;grid-template-columns:54px 1fr;gap:10px
}
.activity-icon{width:54px;height:54px;border-radius:14px;background:#f2f3f5;display:grid;place-items:center;font-size:26px}
.activity-main b{font-size:12px}
.activity-main p{font-size:8.5px;line-height:1.5;color:var(--muted);margin:4px 0}
.activity-tag{display:inline-block;font-size:8px;border-radius:999px;padding:3px 6px;background:#fff0f0;color:var(--red);font-weight:900}
.activity-main button{margin-top:7px;border:0;border-radius:9px;background:#17191d;color:#fff;padding:7px 9px;font-size:8.5px;font-weight:900}

.checkout-benefit{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;margin-top:10px
}
.checkout-benefit h3{font-size:14px;margin:0 0 9px}
.benefit-select{
  display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)
}
.benefit-select:last-child{border:0}
.benefit-select .icon{width:34px;height:34px;border-radius:10px;background:#f2f3f5;display:grid;place-items:center}
.benefit-select .main{flex:1}
.benefit-select .main b{font-size:10.5px}
.benefit-select .main small{display:block;font-size:8px;color:var(--muted);margin-top:3px}
.benefit-select button{
  border:0;border-radius:9px;background:#f0f1f3;padding:7px 8px;font-size:8.5px;font-weight:900
}
.benefit-select button.on{background:#fff0f0;color:var(--red)}
.discount-summary{margin-top:9px;padding-top:9px;border-top:1px dashed #e1e3e7}
.discount-row{display:flex;font-size:9.5px;padding:4px 0}
.discount-row span{color:var(--muted)}
.discount-row b{margin-left:auto}
.discount-row.discount b{color:var(--green)}
.discount-pay{display:flex;align-items:end;margin-top:6px}
.discount-pay span{font-size:11px;font-weight:900}
.discount-pay strong{margin-left:auto;font-size:24px;color:var(--red)}
.member-saving-note{font-size:8.5px;line-height:1.5;color:#6c5a55;background:#fff8f5;border-radius:11px;padding:9px;margin-top:8px}


/* V3.1 协议 / 隐私 / 跨境规则 / 同意记录 */
.policy-center-hero{
  background:linear-gradient(145deg,#17191d,#363b44);
  color:#fff;border-radius:20px;padding:16px
}
.policy-center-hero small{opacity:.62}
.policy-center-hero h2{font-size:21px;margin:6px 0 5px}
.policy-center-hero p{font-size:9px;line-height:1.55;opacity:.72;margin:0}
.policy-list{display:grid;gap:9px;margin-top:11px}
.policy-entry{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;
  display:flex;gap:10px;align-items:flex-start
}
.policy-entry-icon{
  width:39px;height:39px;border-radius:11px;background:#f1f2f4;
  display:grid;place-items:center;font-size:18px;flex:0 0 auto
}
.policy-entry-main{flex:1;min-width:0}
.policy-entry-main b{font-size:12px}
.policy-entry-main p{font-size:8.5px;line-height:1.5;color:var(--muted);margin:4px 0}
.policy-entry-main small{font-size:8px;color:#999}
.policy-entry button{
  border:0;border-radius:9px;background:#17191d;color:#fff;
  padding:8px 9px;font-size:8.5px;font-weight:900;align-self:center
}

.policy-doc{
  background:#fff;border:1px solid #eceef1;border-radius:18px;padding:15px
}
.policy-doc h2{font-size:20px;margin:0 0 5px}
.policy-doc .version{font-size:8.5px;color:var(--muted);margin-bottom:12px}
.policy-doc h3{font-size:13px;margin:15px 0 6px}
.policy-doc p,.policy-doc li{font-size:9.5px;line-height:1.7;color:#555}
.policy-doc ul{padding-left:18px;margin:6px 0}
.policy-doc .important{
  background:#fff5f2;border:1px solid #efcbc6;color:#684f4b;
  border-radius:13px;padding:10px;margin:10px 0;font-size:9px;line-height:1.6
}
.policy-doc .important b{color:var(--red)}
.policy-bottom-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.policy-bottom-actions button{border:0;border-radius:12px;padding:11px 7px;font-size:9px;font-weight:900}
.policy-bottom-actions .dark{background:#17191d;color:#fff}
.policy-bottom-actions .light{background:#f0f1f3}

.consent-card{
  background:#fff;border:1px solid #eceef1;border-radius:16px;padding:12px;margin-bottom:9px
}
.consent-top{display:flex;align-items:center;gap:8px}
.consent-top b{font-size:11px}
.consent-ok{margin-left:auto;font-size:8px;background:#eaf8f1;color:#177452;border-radius:999px;padding:4px 6px;font-weight:900}
.consent-meta{font-size:8.5px;line-height:1.5;color:var(--muted);margin-top:6px}
.consent-hash{
  margin-top:7px;background:#f7f8fa;border-radius:9px;padding:7px 8px;
  font-size:7.5px;color:#8a8f97;word-break:break-all
}
.policy-link-inline{
  border:0;background:none;color:var(--red);font-weight:900;
  font-size:inherit;padding:0;text-decoration:underline
}


/* V3.2 玩转日本 / 线下会员优惠券 */
.japan-home-entry{
  margin-top:11px;
  background:linear-gradient(145deg,#8d171e,#d92d32);
  color:#fff;border-radius:18px;padding:15px;
  display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;
  box-shadow:0 8px 22px rgba(217,45,50,.14)
}
.japan-home-entry small{font-size:8px;opacity:.72}
.japan-home-entry h3{font-size:18px;margin:5px 0 4px}
.japan-home-entry p{font-size:9px;line-height:1.5;opacity:.78;margin:0}
.japan-home-entry button{
  border:0;border-radius:12px;background:#fff;color:var(--red);
  padding:10px 11px;font-size:9px;font-weight:1000
}

.japan-hero{
  background:linear-gradient(145deg,#17191d,#373c45);
  color:#fff;border-radius:21px;padding:17px
}
.japan-hero .eyebrow2{font-size:8px;opacity:.6;letter-spacing:1px}
.japan-hero h2{font-size:23px;margin:6px 0 5px}
.japan-hero p{font-size:9px;line-height:1.6;opacity:.72;margin:0}
.japan-hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.japan-hero-metric{background:rgba(255,255,255,.08);border-radius:11px;padding:9px 5px;text-align:center}
.japan-hero-metric b{display:block;font-size:13px}
.japan-hero-metric span{font-size:7.5px;opacity:.68}

.japan-area-tabs,.japan-cat-tabs{
  display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin-top:10px
}
.japan-area-tabs::-webkit-scrollbar,.japan-cat-tabs::-webkit-scrollbar{display:none}
.japan-chip{
  flex:0 0 auto;border:1px solid #dfe2e7;background:#fff;border-radius:999px;
  padding:8px 11px;font-size:9px;font-weight:900
}
.japan-chip.on{background:#17191d;color:#fff;border-color:#17191d}
.japan-chip.coming{color:#aaa;background:#f6f7f8}

.japan-wallet-row{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px
}
.japan-wallet-btn{
  border:0;border-radius:13px;background:#fff;border:1px solid #eceef1;
  padding:11px 7px;font-size:9.5px;font-weight:900
}
.japan-wallet-btn b{display:block;font-size:14px;color:var(--red);margin-bottom:3px}

.japan-coupon-list{display:grid;gap:10px;margin-top:11px}
.japan-coupon{
  background:#fff;border:1px solid #eceef1;border-radius:17px;overflow:hidden
}
.japan-coupon-cover{
  min-height:92px;padding:13px;
  background:linear-gradient(145deg,#f5f6f8,#e7eaed);
  position:relative
}
.japan-coupon-cover .merchant-type{
  display:inline-block;background:rgba(255,255,255,.82);border-radius:999px;
  padding:4px 7px;font-size:8px;font-weight:900
}
.japan-coupon-cover .discount-big{
  position:absolute;right:13px;bottom:8px;
  font-size:27px;font-weight:1000;color:#17191d
}
.japan-coupon-cover .discount-big small{font-size:9px;font-weight:900}
.japan-coupon-info{padding:12px}
.japan-coupon-info h3{font-size:13px;margin:0 0 4px}
.japan-coupon-info p{font-size:8.5px;line-height:1.5;color:var(--muted);margin:0}
.japan-coupon-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.japan-coupon-meta span{
  font-size:7.5px;border-radius:999px;background:#f1f2f4;padding:3px 6px;color:#666
}
.japan-coupon-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:7px;margin-top:10px}
.japan-coupon-actions button{
  border:0;border-radius:10px;padding:9px 6px;font-size:9px;font-weight:900
}
.japan-coupon-actions .detail{background:#f0f1f3}
.japan-coupon-actions .claim{background:var(--red);color:#fff}
.japan-coupon-actions .claimed{background:#eaf8f1;color:#177452}

.japan-detail-hero{
  background:linear-gradient(145deg,#17191d,#353a43);color:#fff;
  border-radius:20px;padding:17px
}
.japan-detail-hero small{opacity:.62}
.japan-detail-hero h2{font-size:20px;margin:6px 0 4px}
.japan-detail-hero .big{font-size:31px;font-weight:1000;margin-top:10px}
.japan-detail-hero .big small{font-size:10px;opacity:.7}
.japan-detail-card{
  background:#fff;border:1px solid #eceef1;border-radius:16px;padding:13px;margin-top:10px
}
.japan-detail-card h3{font-size:13px;margin:0 0 8px}
.japan-rule{display:flex;gap:9px;padding:7px 0;border-bottom:1px solid var(--line);font-size:9.5px}
.japan-rule:last-child{border:0}
.japan-rule span{width:74px;color:var(--muted)}
.japan-rule b{flex:1}
.member-coupon-code{
  background:#fff8e8;border:1px solid #eadbb6;border-radius:15px;padding:13px;
  text-align:center;margin-top:10px
}
.member-coupon-code small{font-size:8px;color:#7b6d4e}
.member-coupon-code strong{display:block;font-size:19px;letter-spacing:1px;margin:7px 0}
.qr-demo{
  width:126px;height:126px;margin:10px auto 0;border:8px solid #fff;
  background:
    linear-gradient(90deg,#17191d 12px,transparent 12px) 0 0/24px 24px,
    linear-gradient(#17191d 12px,transparent 12px) 0 0/24px 24px,
    linear-gradient(90deg,transparent 12px,#17191d 12px) 12px 12px/24px 24px,
    linear-gradient(transparent 12px,#17191d 12px) 12px 12px/24px 24px,
    #fff;
  box-shadow:0 0 0 1px #ddd
}
.japan-use-note{
  font-size:8.5px;line-height:1.55;color:#6d5b55;background:#fff8f5;
  border-radius:12px;padding:10px;margin-top:10px
}
.japan-claim-btn{
  width:100%;border:0;border-radius:14px;background:var(--red);color:#fff;
  padding:13px;font-size:12px;font-weight:1000;margin-top:10px
}
.japan-claim-btn.done{background:#eaf8f1;color:#177452}

.japan-record-card{
  background:#fff;border:1px solid #eceef1;border-radius:16px;padding:12px;margin-bottom:9px
}
.japan-record-top{display:flex;align-items:center;gap:8px}
.japan-record-top b{font-size:11px}
.japan-record-status{
  margin-left:auto;font-size:8px;border-radius:999px;padding:4px 6px;
  background:#eaf8f1;color:#177452;font-weight:900
}
.japan-record-meta{font-size:8.5px;line-height:1.5;color:var(--muted);margin-top:6px}

.founder-long-benefit{
  background:linear-gradient(145deg,#fff8ed,#fff);
  border:1px solid #eadfc8;border-radius:17px;padding:13px;margin-top:11px
}
.founder-long-benefit b{font-size:13px}
.founder-long-benefit p{font-size:8.5px;line-height:1.55;color:#766c59;margin:5px 0 0}


/* V3.3 会员电子卡 / 商户核销 / 合作商户 */
.member-card-hero{
  background:linear-gradient(145deg,#14161a,#363b44);
  color:#fff;border-radius:22px;padding:18px;position:relative;overflow:hidden
}
.member-card-hero:after{
  content:"ACE2017";position:absolute;right:-12px;bottom:-18px;
  font-size:58px;font-weight:1000;opacity:.035
}
.member-card-top{display:flex;align-items:flex-start;gap:10px}
.member-card-logo{
  width:48px;height:48px;border-radius:14px;background:#fff;color:#17191d;
  display:grid;place-items:center;font-size:13px;font-weight:1000
}
.member-card-main{flex:1}
.member-card-main small{font-size:8px;opacity:.62}
.member-card-main h2{font-size:19px;margin:4px 0 3px}
.member-card-main p{font-size:8.5px;opacity:.68;margin:0}
.founder-badge2{
  display:inline-block;margin-top:8px;border-radius:999px;padding:4px 7px;
  font-size:8px;font-weight:900;background:rgba(255,255,255,.12)
}
.member-card-no{
  margin-top:16px;font-size:22px;font-weight:1000;letter-spacing:.7px
}
.member-card-meta{
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px
}
.member-card-meta div{
  background:rgba(255,255,255,.08);border-radius:11px;padding:8px 5px;text-align:center
}
.member-card-meta b{display:block;font-size:11px}
.member-card-meta span{font-size:7px;opacity:.65}

.member-qr-box{
  background:#fff;border:1px solid #eceef1;border-radius:18px;padding:15px;
  text-align:center;margin-top:11px
}
.member-qr-box h3{font-size:14px;margin:0 0 4px}
.member-qr-box p{font-size:8.5px;color:var(--muted);line-height:1.5;margin:0}
.member-dynamic-code{
  width:156px;height:156px;margin:14px auto 8px;border:10px solid #fff;
  background:
    linear-gradient(90deg,#17191d 13px,transparent 13px) 0 0/26px 26px,
    linear-gradient(#17191d 13px,transparent 13px) 0 0/26px 26px,
    linear-gradient(90deg,transparent 13px,#17191d 13px) 13px 13px/26px 26px,
    linear-gradient(transparent 13px,#17191d 13px) 13px 13px/26px 26px,
    #fff;
  box-shadow:0 0 0 1px #ddd
}
.dynamic-timer{
  display:inline-block;background:#f1f2f4;border-radius:999px;
  padding:4px 7px;font-size:8px;color:#666
}
.member-card-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px
}
.member-card-actions button{
  border:0;border-radius:12px;padding:11px 7px;font-size:9px;font-weight:900
}
.member-card-actions .dark{background:#17191d;color:#fff}
.member-card-actions .light{background:#f0f1f3}

.nearby-area{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;margin-top:10px
}
.nearby-area h3{font-size:14px;margin:0 0 8px}
.nearby-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none}
.nearby-tabs::-webkit-scrollbar{display:none}
.nearby-tabs button{
  flex:0 0 auto;border:1px solid #dfe2e7;background:#fff;border-radius:999px;
  padding:7px 10px;font-size:8.5px;font-weight:900
}
.nearby-tabs button.on{background:#17191d;color:#fff;border-color:#17191d}
.nearby-list{display:grid;gap:8px;margin-top:10px}
.nearby-card{
  border:1px solid #eceef1;border-radius:13px;padding:10px;
  display:grid;grid-template-columns:40px 1fr auto;gap:9px;align-items:center
}
.nearby-icon{width:40px;height:40px;border-radius:11px;background:#f2f3f5;display:grid;place-items:center;font-size:20px}
.nearby-main b{font-size:10.5px}
.nearby-main small{display:block;font-size:8px;color:var(--muted);margin-top:3px;line-height:1.4}
.nearby-offer{font-size:10px;font-weight:1000;color:var(--red)}

.merchant-verify-hero{
  background:linear-gradient(145deg,#17191d,#333842);color:#fff;
  border-radius:20px;padding:16px
}
.merchant-verify-hero small{opacity:.6}
.merchant-verify-hero h2{font-size:20px;margin:6px 0 5px}
.merchant-verify-hero p{font-size:8.8px;line-height:1.55;opacity:.7;margin:0}
.verify-box{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:14px;margin-top:11px
}
.verify-box h3{font-size:14px;margin:0 0 9px}
.verify-code-row{display:grid;grid-template-columns:1fr auto;gap:7px}
.verify-code-row input{
  border:1px solid #dfe2e7;border-radius:11px;padding:10px 11px;font:inherit;font-size:10px
}
.verify-code-row button{
  border:0;border-radius:10px;background:#17191d;color:#fff;padding:0 12px;font-size:9px;font-weight:900
}
.verify-result{
  margin-top:10px;border-radius:14px;padding:12px;background:#f7f8fa;display:none
}
.verify-result.show{display:block}
.verify-result .ok{
  display:inline-block;background:#eaf8f1;color:#177452;border-radius:999px;
  padding:4px 7px;font-size:8px;font-weight:900
}
.verify-result h3{font-size:14px;margin:8px 0 5px}
.verify-result p{font-size:8.5px;line-height:1.5;color:#666;margin:0}
.verify-result button{
  width:100%;border:0;border-radius:11px;background:var(--red);color:#fff;
  padding:10px;font-size:9px;font-weight:900;margin-top:9px
}

.partner-hero{
  background:linear-gradient(145deg,#fff7ee,#fff);border:1px solid #eadfc8;
  border-radius:20px;padding:16px
}
.partner-hero h2{font-size:21px;margin:5px 0}
.partner-hero p{font-size:9px;line-height:1.55;color:#756b59;margin:0}
.partner-value-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px
}
.partner-value{
  background:#fff;border:1px solid #eceef1;border-radius:15px;padding:12px
}
.partner-value i{font-style:normal;font-size:22px}
.partner-value b{display:block;font-size:11px;margin-top:7px}
.partner-value p{font-size:8px;line-height:1.45;color:var(--muted);margin:4px 0 0}
.partner-form{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:14px;margin-top:11px
}
.partner-form h3{font-size:14px;margin:0 0 10px}
.partner-form input,.partner-form select,.partner-form textarea{
  width:100%;border:1px solid #dfe2e7;border-radius:11px;padding:10px 11px;
  font:inherit;font-size:10px;margin-bottom:8px;background:#fff
}
.partner-form textarea{min-height:76px;resize:none}
.partner-form button{
  width:100%;border:0;border-radius:13px;background:var(--red);color:#fff;
  padding:12px;font-size:11px;font-weight:1000
}
.partner-note{
  font-size:8.5px;line-height:1.5;color:#6c5a55;background:#fff8f5;
  border-radius:11px;padding:9px;margin-top:9px
}


/* V3.4 会员价值中心 / 权益日历 / 偏好订阅 */
.value-hero{
  background:linear-gradient(145deg,#17191d,#343941);
  color:#fff;border-radius:22px;padding:17px
}
.value-hero small{font-size:8px;opacity:.6;letter-spacing:.8px}
.value-hero h2{font-size:22px;margin:6px 0 5px}
.value-hero p{font-size:9px;line-height:1.55;opacity:.72;margin:0}
.value-big{
  margin-top:13px;background:rgba(255,255,255,.08);border-radius:14px;padding:12px
}
.value-big span{font-size:8px;opacity:.65}
.value-big strong{display:block;font-size:30px;margin-top:3px}
.value-big small{display:block;margin-top:3px}
.value-metrics{
  display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px
}
.value-metric{
  background:#fff;border:1px solid #eceef1;border-radius:13px;padding:9px 4px;text-align:center
}
.value-metric b{display:block;font-size:12px}
.value-metric span{display:block;font-size:7.5px;color:var(--muted);margin-top:3px}

.value-ledger{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;margin-top:10px
}
.value-ledger h3{font-size:14px;margin:0 0 9px}
.value-row{
  display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center;
  padding:9px 0;border-bottom:1px solid var(--line)
}
.value-row:last-child{border:0}
.value-icon{
  width:38px;height:38px;border-radius:11px;background:#f1f2f4;display:grid;place-items:center;font-size:18px
}
.value-main b{font-size:10.5px}
.value-main small{display:block;font-size:8px;color:var(--muted);margin-top:3px;line-height:1.4}
.value-gain{text-align:right}
.value-gain b{display:block;font-size:11px;color:var(--green)}
.value-gain small{font-size:7.5px;color:#999}

.value-promise{
  background:linear-gradient(145deg,#fff8ed,#fff);
  border:1px solid #eadfc8;border-radius:17px;padding:13px;margin-top:10px
}
.value-promise b{font-size:13px}
.value-promise p{font-size:8.5px;line-height:1.55;color:#766c59;margin:5px 0 0}

.benefit-calendar{
  background:#fff;border:1px solid #eceef1;border-radius:18px;padding:13px;margin-top:10px
}
.benefit-calendar h3{font-size:14px;margin:0 0 9px}
.calendar-month{
  display:grid;grid-template-columns:64px 1fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)
}
.calendar-month:last-child{border:0}
.calendar-date{
  background:#17191d;color:#fff;border-radius:12px;padding:9px 5px;text-align:center
}
.calendar-date b{display:block;font-size:16px}
.calendar-date span{font-size:7.5px;opacity:.65}
.calendar-main b{font-size:10.5px}
.calendar-main p{font-size:8px;line-height:1.45;color:var(--muted);margin:4px 0}
.calendar-tag{
  display:inline-block;font-size:7.5px;border-radius:999px;padding:3px 6px;
  background:#fff0f0;color:var(--red);font-weight:900
}

.pref-hero{
  background:linear-gradient(145deg,#17191d,#373c45);color:#fff;
  border-radius:20px;padding:16px
}
.pref-hero h2{font-size:20px;margin:5px 0}
.pref-hero p{font-size:9px;line-height:1.55;opacity:.7;margin:0}
.pref-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:11px
}
.pref-card{
  border:1px solid #e0e3e7;background:#fff;border-radius:15px;padding:12px;
  text-align:left;position:relative
}
.pref-card.on{border-color:var(--red);background:#fff5f4}
.pref-card i{font-style:normal;font-size:24px}
.pref-card b{display:block;font-size:11px;margin-top:7px}
.pref-card small{display:block;font-size:8px;line-height:1.4;color:var(--muted);margin-top:3px}
.pref-check{
  position:absolute;right:9px;top:9px;width:20px;height:20px;border-radius:50%;
  border:1px solid #d7d9dd;display:grid;place-items:center;font-size:9px;color:transparent
}
.pref-card.on .pref-check{background:var(--red);border-color:var(--red);color:#fff}
.pref-save{
  width:100%;border:0;border-radius:14px;background:var(--red);color:#fff;
  padding:13px;font-size:11px;font-weight:1000;margin-top:11px
}

.value-shortcut{
  background:#fff;border:1px solid #eceef1;border-radius:15px;padding:11px;
  display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:10px
}
.value-shortcut b{font-size:11px}
.value-shortcut p{font-size:8px;line-height:1.45;color:var(--muted);margin:3px 0 0}
.value-shortcut button{
  border:0;border-radius:10px;background:#17191d;color:#fff;padding:9px 10px;font-size:8.5px;font-weight:900
}


/* V3.5 我的常购 / 一键补货 / 复购提醒 */
.frequent-hero{
  background:linear-gradient(145deg,#17191d,#353a43);
  color:#fff;border-radius:22px;padding:17px
}
.frequent-hero small{font-size:8px;opacity:.6;letter-spacing:.8px}
.frequent-hero h2{font-size:22px;margin:6px 0 5px}
.frequent-hero p{font-size:9px;line-height:1.55;opacity:.72;margin:0}
.frequent-stats{
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px
}
.frequent-stat{
  background:rgba(255,255,255,.08);border-radius:11px;padding:9px 4px;text-align:center
}
.frequent-stat b{display:block;font-size:13px}
.frequent-stat span{font-size:7.5px;opacity:.68}

.frequent-tabs{
  display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin-top:10px
}
.frequent-tabs::-webkit-scrollbar{display:none}
.frequent-tabs button{
  flex:0 0 auto;border:1px solid #dfe2e7;background:#fff;border-radius:999px;
  padding:8px 11px;font-size:8.5px;font-weight:900
}
.frequent-tabs button.on{background:#17191d;color:#fff;border-color:#17191d}

.frequent-list{display:grid;gap:10px;margin-top:11px}
.frequent-card{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:12px;
  display:grid;grid-template-columns:62px 1fr;gap:10px
}
.frequent-pic{
  width:62px;height:62px;border-radius:13px;background:linear-gradient(145deg,#f4f5f7,#e5e8eb);
  display:grid;place-items:center;font-size:30px
}
.frequent-main{min-width:0}
.frequent-main h3{font-size:12px;line-height:1.35;margin:0}
.frequent-main p{font-size:8px;line-height:1.45;color:var(--muted);margin:4px 0 0}
.frequent-meta{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.frequent-meta span{
  font-size:7.5px;border-radius:999px;background:#f1f2f4;padding:3px 6px;color:#666
}
.frequent-price{
  display:flex;align-items:end;margin-top:7px
}
.frequent-price strong{font-size:15px;color:var(--red)}
.frequent-price small{margin-left:5px;font-size:7.5px;color:var(--muted)}
.frequent-actions{
  display:grid;grid-template-columns:1fr 1.25fr;gap:7px;margin-top:9px
}
.frequent-actions button{
  border:0;border-radius:10px;padding:9px 6px;font-size:8.5px;font-weight:900
}
.frequent-actions .remind{background:#f0f1f3}
.frequent-actions .buy{background:var(--red);color:#fff}

.replenish-box{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;margin-top:10px
}
.replenish-box h3{font-size:14px;margin:0 0 9px}
.replenish-row{
  display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid var(--line)
}
.replenish-row:last-child{border:0}
.replenish-icon{
  width:36px;height:36px;border-radius:11px;background:#f1f2f4;
  display:grid;place-items:center;font-size:17px
}
.replenish-main{flex:1}
.replenish-main b{font-size:10.5px}
.replenish-main small{display:block;font-size:8px;color:var(--muted);margin-top:3px}
.replenish-status{
  font-size:8px;border-radius:999px;padding:4px 6px;background:#eaf8f1;color:#177452;font-weight:900
}
.replenish-status.off{background:#f0f1f3;color:#777}

.reminder-sheet{
  background:#fff;border:1px solid #eceef1;border-radius:18px;padding:14px
}
.reminder-sheet h2{font-size:18px;margin:0 0 5px}
.reminder-sheet p{font-size:8.5px;line-height:1.5;color:var(--muted);margin:0}
.reminder-options{
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px
}
.reminder-options button{
  border:1px solid #dfe2e7;background:#fff;border-radius:12px;padding:11px 5px;
  font-size:9px;font-weight:900
}
.reminder-options button.on{background:#17191d;color:#fff;border-color:#17191d}
.reminder-custom{
  display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:9px
}
.reminder-custom input{
  border:1px solid #dfe2e7;border-radius:11px;padding:10px;font:inherit;font-size:10px
}
.reminder-custom button{
  border:0;border-radius:10px;background:#17191d;color:#fff;padding:0 12px;font-size:9px;font-weight:900
}
.reminder-save{
  width:100%;border:0;border-radius:13px;background:var(--red);color:#fff;
  padding:12px;font-size:10px;font-weight:1000;margin-top:10px
}

.quick-buy-strip{
  background:linear-gradient(145deg,#fff8ed,#fff);
  border:1px solid #eadfc8;border-radius:17px;padding:13px;margin-top:10px
}
.quick-buy-strip b{font-size:12px}
.quick-buy-strip p{font-size:8.5px;line-height:1.5;color:#756b59;margin:4px 0 0}
.quick-buy-strip button{
  width:100%;border:0;border-radius:11px;background:#17191d;color:#fff;
  padding:10px;font-size:9px;font-weight:900;margin-top:9px
}

.repeat-convenience{
  background:#fff8f5;border:1px solid #efcec9;border-radius:14px;
  padding:11px;margin-top:10px
}
.repeat-convenience b{display:block;font-size:11px;color:#5f4844}
.repeat-convenience p{font-size:8.5px;line-height:1.55;color:#725c57;margin:4px 0 0}


/* V3.7 会员提醒中心 / 通知偏好 / 商品动态提醒 */
.reminder-hub-hero{
  background:linear-gradient(145deg,#17191d,#353a43);
  color:#fff;border-radius:22px;padding:17px
}
.reminder-hub-hero small{font-size:8px;opacity:.6;letter-spacing:.8px}
.reminder-hub-hero h2{font-size:22px;margin:6px 0 5px}
.reminder-hub-hero p{font-size:9px;line-height:1.55;opacity:.72;margin:0}
.reminder-hub-metrics{
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px
}
.reminder-hub-metric{
  background:rgba(255,255,255,.08);border-radius:11px;padding:9px 4px;text-align:center
}
.reminder-hub-metric b{display:block;font-size:13px}
.reminder-hub-metric span{font-size:7.5px;opacity:.68}

.reminder-hub-list{display:grid;gap:9px;margin-top:11px}
.reminder-hub-card{
  background:#fff;border:1px solid #eceef1;border-radius:16px;padding:12px;
  display:grid;grid-template-columns:40px 1fr auto;gap:9px;align-items:center
}
.reminder-hub-icon{
  width:40px;height:40px;border-radius:11px;background:#f1f2f4;
  display:grid;place-items:center;font-size:19px
}
.reminder-hub-main b{font-size:10.5px}
.reminder-hub-main small{display:block;font-size:8px;line-height:1.45;color:var(--muted);margin-top:3px}
.reminder-hub-state{
  font-size:8px;border-radius:999px;padding:4px 6px;font-weight:900;
  background:#eaf8f1;color:#177452
}
.reminder-hub-state.warn{background:#fff3e5;color:#8a5a17}
.reminder-hub-state.off{background:#f0f1f3;color:#777}

.notify-pref{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:13px;margin-top:10px
}
.notify-pref h3{font-size:14px;margin:0 0 8px}
.notify-pref-row{
  display:flex;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)
}
.notify-pref-row:last-child{border:0}
.notify-pref-icon{
  width:36px;height:36px;border-radius:11px;background:#f1f2f4;
  display:grid;place-items:center;font-size:17px
}
.notify-pref-main{flex:1}
.notify-pref-main b{font-size:10.5px}
.notify-pref-main small{display:block;font-size:8px;color:var(--muted);line-height:1.4;margin-top:3px}
.notify-toggle{
  width:42px;height:24px;border:0;border-radius:999px;background:#dfe2e7;position:relative
}
.notify-toggle:after{
  content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;
  top:3px;left:3px;box-shadow:0 1px 3px rgba(0,0,0,.18);transition:.18s
}
.notify-toggle.on{background:#17191d}
.notify-toggle.on:after{left:21px}
.notify-toggle.locked{opacity:.75}

.alert-tabs{
  display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin-top:10px
}
.alert-tabs::-webkit-scrollbar{display:none}
.alert-tabs button{
  flex:0 0 auto;border:1px solid #dfe2e7;background:#fff;border-radius:999px;
  padding:8px 11px;font-size:8.5px;font-weight:900
}
.alert-tabs button.on{background:#17191d;color:#fff;border-color:#17191d}

.alert-record{
  background:#fff;border:1px solid #eceef1;border-radius:16px;padding:12px;margin-bottom:9px
}
.alert-record-top{display:flex;align-items:center;gap:8px}
.alert-record-top b{font-size:10.5px}
.alert-record-tag{
  margin-left:auto;font-size:7.5px;border-radius:999px;padding:3px 6px;
  background:#f1f2f4;color:#666;font-weight:900
}
.alert-record p{font-size:8.5px;line-height:1.5;color:var(--muted);margin:6px 0 0}
.alert-record small{display:block;font-size:7.5px;color:#aaa;margin-top:5px}

.product-alert-box{
  background:#fff;border:1px solid #eceef1;border-radius:16px;padding:12px;margin-top:10px
}
.product-alert-box h3{font-size:13px;margin:0 0 5px}
.product-alert-box p{font-size:8.5px;line-height:1.5;color:var(--muted);margin:0}
.product-alert-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
.product-alert-actions button{
  border:1px solid #dfe2e7;background:#fff;border-radius:10px;padding:9px 5px;
  font-size:8.5px;font-weight:900
}
.product-alert-actions button.on{background:#17191d;color:#fff;border-color:#17191d}

.quiet-hours{
  background:#fff8e8;border-radius:13px;padding:10px;margin-top:10px;
  font-size:8.5px;line-height:1.5;color:#705b32
}
.special-purchase-guard{
  background:#fff5f2;border:1px solid #efcbc6;border-radius:15px;
  padding:11px;margin-top:10px
}
.special-purchase-guard b{display:block;font-size:11px;color:var(--red)}
.special-purchase-guard p{font-size:8.5px;line-height:1.55;color:#6b514d;margin:4px 0 0}


/* V3.8 我的待办 / 继续上次 / 自动保存草稿 */
.resume-home-card{
  margin-top:11px;background:linear-gradient(145deg,#fff7ef,#fff);
  border:1px solid #ead9c2;border-radius:18px;padding:13px;
  display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center
}
.resume-home-card .eyebrow3{font-size:7.5px;color:#9a7955;font-weight:900;letter-spacing:.7px}
.resume-home-card h3{font-size:14px;margin:4px 0}
.resume-home-card p{font-size:8.5px;line-height:1.5;color:#766957;margin:0}
.resume-home-card button{
  border:0;border-radius:11px;background:#17191d;color:#fff;
  padding:10px 11px;font-size:9px;font-weight:1000
}
.resume-home-count{
  display:inline-block;margin-top:6px;background:#fff0f0;color:var(--red);
  border-radius:999px;padding:3px 6px;font-size:7.5px;font-weight:900
}

.task-hero{
  background:linear-gradient(145deg,#17191d,#353a43);
  color:#fff;border-radius:22px;padding:17px
}
.task-hero small{font-size:8px;opacity:.6;letter-spacing:.8px}
.task-hero h2{font-size:22px;margin:6px 0 5px}
.task-hero p{font-size:9px;line-height:1.55;opacity:.72;margin:0}
.task-metrics{
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px
}
.task-metric{
  background:rgba(255,255,255,.08);border-radius:11px;padding:9px 4px;text-align:center
}
.task-metric b{display:block;font-size:13px}
.task-metric span{font-size:7.5px;opacity:.68}

.task-tabs{
  display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin-top:10px
}
.task-tabs::-webkit-scrollbar{display:none}
.task-tabs button{
  flex:0 0 auto;border:1px solid #dfe2e7;background:#fff;border-radius:999px;
  padding:8px 11px;font-size:8.5px;font-weight:900
}
.task-tabs button.on{background:#17191d;color:#fff;border-color:#17191d}

.task-list{display:grid;gap:9px;margin-top:11px}
.task-card{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:12px;
  display:grid;grid-template-columns:42px 1fr;gap:10px
}
.task-icon{
  width:42px;height:42px;border-radius:12px;background:#f1f2f4;
  display:grid;place-items:center;font-size:20px
}
.task-main{min-width:0}
.task-top{display:flex;gap:7px;align-items:center}
.task-top b{font-size:11px}
.task-tag{
  margin-left:auto;font-size:7.5px;border-radius:999px;padding:3px 6px;
  background:#fff0f0;color:var(--red);font-weight:900
}
.task-main p{font-size:8.5px;line-height:1.5;color:var(--muted);margin:5px 0 0}
.task-meta{font-size:7.5px;color:#aaa;margin-top:5px}
.task-actions{display:grid;grid-template-columns:1.35fr 1fr;gap:7px;margin-top:9px}
.task-actions button{
  border:0;border-radius:10px;padding:9px 6px;font-size:8.5px;font-weight:900
}
.task-actions .primary{background:var(--red);color:#fff}
.task-actions .light{background:#f0f1f3}

.autosave-note{
  display:flex;align-items:center;gap:7px;background:#eef8f2;color:#37634d;
  border-radius:11px;padding:8px 9px;font-size:8px;line-height:1.4;margin:8px 0
}
.autosave-dot{width:7px;height:7px;border-radius:50%;background:#2f8a61;flex:0 0 auto}

.continue-strip{
  background:#fff;border:1px solid #eceef1;border-radius:15px;padding:11px;
  display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:10px
}
.continue-strip b{font-size:11px}
.continue-strip p{font-size:8px;line-height:1.45;color:var(--muted);margin:3px 0 0}
.continue-strip button{
  border:0;border-radius:10px;background:#17191d;color:#fff;
  padding:9px 10px;font-size:8.5px;font-weight:900
}

.task-empty{
  background:#fff;border:1px solid #eceef1;border-radius:17px;padding:22px 14px;text-align:center
}
.task-empty i{font-style:normal;font-size:32px}
.task-empty h3{font-size:14px;margin:9px 0 4px}
.task-empty p{font-size:8.5px;line-height:1.5;color:var(--muted);margin:0}


/* V4.0 随手买一单 / 固定SKU / 固定销售单位 */
.casual-buy-hero{
  margin-top:11px;background:linear-gradient(145deg,#fff7ef,#fff);
  border:1px solid #ead9c2;border-radius:18px;padding:14px
}
.casual-buy-hero small{font-size:8px;color:#9a7955;font-weight:900;letter-spacing:.7px}
.casual-buy-hero h3{font-size:18px;margin:5px 0 4px}
.casual-buy-hero p{font-size:9px;line-height:1.55;color:#756957;margin:0}
.casual-buy-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}
.casual-buy-step{background:#fff;border:1px solid #eee3d5;border-radius:12px;padding:9px 6px;text-align:center}
.casual-buy-step b{display:block;font-size:11px}
.casual-buy-step span{display:block;font-size:7.5px;color:#8b7d6c;margin-top:3px}

.shop-core-note{
  background:#17191d;color:#fff;border-radius:16px;padding:12px;margin-top:9px
}
.shop-core-note b{font-size:12px}
.shop-core-note p{font-size:8.5px;line-height:1.5;opacity:.72;margin:4px 0 0}
.quick-supermarket-strip{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;margin-top:8px}
.quick-supermarket-strip::-webkit-scrollbar{display:none}
.quick-supermarket-chip{
  flex:0 0 auto;border:1px solid #e0e3e7;background:#fff;border-radius:999px;
  padding:7px 10px;font-size:8px;font-weight:900
}

.fixed-card-pack{
  display:inline-block;margin-top:6px;background:#f2f3f5;border-radius:999px;
  padding:4px 7px;font-size:7.5px;color:#555;font-weight:900
}
.shop-card-actions.v40{grid-template-columns:1fr auto}
.shop-card-actions .buy-one{background:var(--red);color:#fff}

.fixed-pack{
  background:#17191d;color:#fff;border-radius:13px;padding:10px 11px;margin-top:9px
}
.fixed-pack small{font-size:7.5px;opacity:.62}
.fixed-pack b{display:block;font-size:13px;margin-top:3px}
.fixed-pack p{font-size:8px;line-height:1.45;opacity:.72;margin:4px 0 0}

.product-buybar.v40{grid-template-columns:72px 1fr}
.one-order-note{
  background:#eef8f2;color:#37634d;border-radius:12px;padding:9px 10px;
  font-size:8.5px;line-height:1.5;margin-top:9px
}
.one-order-note b{display:block;margin-bottom:3px}

.fixed-request-unit{
  background:#f7f8fa;border:1px solid #e5e7ea;border-radius:12px;padding:10px;
  font-size:8.8px;line-height:1.5;color:#626870;margin-bottom:8px
}
.fixed-request-unit b{display:block;color:#333;font-size:10px;margin-bottom:3px}

.cart-retired{
  background:#fff;border:1px solid #eceef1;border-radius:18px;padding:24px 15px;text-align:center
}
.cart-retired i{font-style:normal;font-size:34px}
.cart-retired h3{font-size:15px;margin:10px 0 4px}
.cart-retired p{font-size:9px;line-height:1.55;color:var(--muted);margin:0}
.cart-retired button{margin-top:12px}


/* V4.1 首页首屏：轻松购物感 + 一单到底专业感融合 */
.hero.v41{
  padding-bottom:18px
}
.hero.v41 h1{
  margin-bottom:5px
}
.hero-v41-light{
  font-size:10px;line-height:1.45;color:#f0d7c3;
  font-weight:800;margin-top:2px
}
.hero-v41-prof{
  margin-top:10px;font-size:12px;line-height:1.5;
  font-weight:1000;color:#fff
}
.hero-v41-simple{
  margin-top:10px;font-size:9px;line-height:1.58;
  color:rgba(255,255,255,.76)
}
.hero-v41-pro{
  margin-top:8px;font-size:9px;line-height:1.58;
  color:rgba(255,255,255,.66)
}
.hero-v41-slogan{
  margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.12)
}
.hero-v41-slogan b{
  display:block;font-size:10.5px;line-height:1.55;color:#fff
}
.hero-v41-slogan span{
  display:block;font-size:9px;line-height:1.55;color:#f0d7c3;
  font-weight:900;margin-top:3px
}


/* V4.2 首页首屏层级优化 */
.hero.v42{
  padding:20px 15px 18px;
}
.hero.v42 .eyebrow{
  margin-bottom:7px;
}
.hero-v42-title{
  margin:0;
  white-space:nowrap;
  font-size:clamp(25px,7.2vw,31px);
  line-height:1.12;
  letter-spacing:-1.1px;
  font-weight:1000;
  color:#fff;
}
.hero-v42-light{
  margin-top:8px;
  font-size:10px;
  line-height:1.45;
  color:#f0d7c3;
  font-weight:800;
}
.hero-v42-prof{
  margin-top:11px;
  font-size:13px;
  line-height:1.42;
  font-weight:1000;
  color:#fff;
  letter-spacing:-.15px;
}
.hero-v42-simple{
  margin-top:10px;
  font-size:8.8px;
  line-height:1.62;
  color:rgba(255,255,255,.77);
}
.hero-v42-pro{
  margin-top:7px;
  font-size:8.4px;
  line-height:1.62;
  color:rgba(255,255,255,.64);
}
.hero-v42-slogan{
  margin-top:12px;
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.12);
}
.hero-v42-slogan b{
  display:block;
  font-size:10.2px;
  line-height:1.52;
  color:#fff;
  font-weight:1000;
}
.hero-v42-slogan span{
  display:block;
  font-size:9.2px;
  line-height:1.5;
  color:#f0d7c3;
  font-weight:1000;
  margin-top:4px;
}
@media (max-width:390px){
  .hero-v42-title{
    font-size:24px;
    letter-spacing:-1.2px;
  }
  .hero-v42-prof{font-size:12px}
  .hero-v42-simple{font-size:8.5px}
  .hero-v42-pro{font-size:8.1px}
}


/* V4.3 首屏 / 先逛后注册 / 轻注册 */
.hero.v43{padding:16px 14px 15px}
.hero.v43 .eyebrow{margin-bottom:5px}
.hero.v43 .hero-v42-title{font-size:clamp(24px,6.8vw,29px)}
.hero.v43 .hero-v42-light{margin-top:6px;font-size:9.2px}
.hero.v43 .hero-v42-prof{margin-top:8px;font-size:11.8px}
.hero.v43 .hero-v42-simple{margin-top:7px;font-size:8.2px;line-height:1.52}
.hero.v43 .hero-v42-pro{margin-top:5px;font-size:7.9px;line-height:1.52}
.hero.v43 .hero-v42-slogan{margin-top:9px;padding-top:8px}
.hero.v43 .hero-v42-slogan b{font-size:9.4px}
.hero.v43 .hero-v42-slogan span{font-size:8.6px;margin-top:2px}
.hero.v43 .actions{margin-top:10px;gap:7px}
.hero.v43 .actions .btn{min-height:40px;font-size:10px}

.home-member-strip{
  margin-top:9px;background:#fff;border:1px solid #e8eaed;border-radius:14px;
  padding:9px 10px;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center
}
.home-member-icon{
  width:34px;height:34px;border-radius:10px;background:#17191d;color:#fff;
  display:grid;place-items:center;font-size:12px;font-weight:1000
}
.home-member-main b{display:block;font-size:10.5px}
.home-member-main small{display:block;font-size:7.8px;color:var(--muted);margin-top:2px;line-height:1.35}
.home-member-strip button{
  border:0;border-radius:9px;background:#fff0f0;color:var(--red);
  padding:8px 9px;font-size:8.3px;font-weight:1000;white-space:nowrap
}

.home-first-sec{margin-top:10px!important}
.home-core.v43{margin-top:6px;gap:7px}
.home-core.v43 .home-card-title{padding:8px 8px 3px;font-size:10.5px}
.home-core.v43 .home-product-card .slide{padding:5px 7px 7px}
.home-core.v43 .home-good-visual{
  height:86px;border-radius:12px;background:linear-gradient(145deg,#f5f6f8,#e8eaed);
  display:grid;place-items:center;font-size:42px
}
.home-core.v43 .s-info{margin-top:5px}
.home-core.v43 .s-title{font-size:10.2px}
.home-core.v43 .s-sub{font-size:7.8px;min-height:20px}
.home-core.v43 .s-price{font-size:11px}
.home-core.v43 .home-request-card{padding:8px 7px}
.home-core.v43 .hr-law{font-size:7.5px}
.home-core.v43 .hr-adult{font-size:17px;margin-top:4px}
.home-core.v43 .hr-can{font-size:9px}
.home-core.v43 .hr-special{font-size:10px;line-height:1.28}
.home-core.v43 .hr-special .big-smoke{font-size:18px}
.home-core.v43 .hr-btn{min-height:34px;font-size:9px;margin-top:7px}
.home-core.v43 .hr-note{font-size:6.8px;line-height:1.3;margin-top:5px}

.quick-join-sheet h2{font-size:18px;margin:0 0 5px}
.quick-join-sheet>p{font-size:8.8px;line-height:1.5;color:var(--muted);margin:0}
.quick-join-reason{
  margin-top:10px;background:#fff7ef;border-radius:11px;padding:9px;
  font-size:8.5px;line-height:1.45;color:#755e43
}
.quick-join-fields{display:grid;gap:8px;margin-top:11px}
.quick-join-fields input{
  width:100%;border:1px solid #dfe2e7;border-radius:11px;padding:10px 11px;font:inherit;font-size:10px
}
.quick-join-code{display:grid;grid-template-columns:1fr auto;gap:7px}
.quick-join-code button{
  border:0;border-radius:10px;background:#17191d;color:#fff;padding:0 11px;font-size:8.5px;font-weight:900
}
.quick-join-agree{
  display:flex;gap:7px;align-items:flex-start;margin-top:10px;font-size:8px;line-height:1.45;color:#666
}
.quick-join-agree input{margin-top:2px}
.quick-join-submit{
  width:100%;border:0;border-radius:13px;background:var(--red);color:#fff;
  padding:12px;font-size:10.5px;font-weight:1000;margin-top:10px
}
.quick-join-login{
  width:100%;border:0;background:none;color:#555;font-size:9px;font-weight:900;padding:10px 0 2px
}
.quick-join-benefits{
  display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px
}
.quick-join-benefit{background:#f6f7f8;border-radius:9px;padding:7px 4px;text-align:center}
.quick-join-benefit b{display:block;font-size:9px}
.quick-join-benefit span{font-size:6.8px;color:#888}

.first-id-hero{
  background:linear-gradient(145deg,#17191d,#363b44);color:#fff;border-radius:19px;padding:15px
}
.first-id-hero small{font-size:7.5px;opacity:.6}
.first-id-hero h2{font-size:19px;margin:5px 0}
.first-id-hero p{font-size:8.8px;line-height:1.5;opacity:.72;margin:0}
.first-id-card{
  background:#fff;border:1px solid #eceef1;border-radius:16px;padding:13px;margin-top:10px
}
.first-id-card input{
  width:100%;border:1px solid #dfe2e7;border-radius:11px;padding:10px 11px;
  font:inherit;font-size:10px;margin-bottom:8px
}
.first-id-note{
  background:#f7f8fa;border-radius:11px;padding:9px;font-size:8.3px;line-height:1.5;color:#666
}
.first-id-submit{
  width:100%;border:0;border-radius:13px;background:var(--red);color:#fff;
  padding:12px;font-size:10.5px;font-weight:1000;margin-top:10px
}
.identity-verify-action{
  margin-top:8px;padding:9px;border-radius:11px;background:#fff7ef;font-size:8.5px;color:#755e43;
  display:none
}
.identity-verify-action button{
  border:0;border-radius:8px;background:#17191d;color:#fff;padding:7px 9px;
  font-size:8px;font-weight:900;margin-left:6px
}
.realname-unverified{
  background:#fff7ef;border:1px solid #ead9c2;border-radius:16px;padding:15px
}
.realname-unverified h2{font-size:17px;margin:0 0 5px}
.realname-unverified p{font-size:8.8px;line-height:1.5;color:#746451;margin:0}
.realname-unverified button{margin-top:10px}

@media(max-height:760px){
  .hero.v43{padding-top:13px;padding-bottom:13px}
  .hero.v43 .hero-v42-simple{font-size:7.8px}
  .hero.v43 .hero-v42-pro{font-size:7.5px}
  .home-member-strip{margin-top:7px;padding:7px 9px}
  .home-core.v43 .home-good-visual{height:76px;font-size:36px}
}


/* V4.4 ACE客服：AI先接待 + 必要时转人工专员 */
.ai-service-intro{
  background:linear-gradient(145deg,#17191d,#363b44);color:#fff;
  border-radius:20px;padding:15px
}
.ai-service-intro small{font-size:7.5px;opacity:.58;letter-spacing:.8px}
.ai-service-intro h2{font-size:20px;margin:5px 0}
.ai-service-intro p{font-size:8.8px;line-height:1.55;opacity:.72;margin:0}
.ai-service-status{
  display:flex;gap:6px;flex-wrap:wrap;margin-top:10px
}
.ai-service-pill{
  border-radius:999px;background:rgba(255,255,255,.09);
  padding:5px 7px;font-size:7.5px;font-weight:900
}
.ai-service-pill.live{background:#e7f7ef;color:#167552}
.ai-scope{
  background:#fff;border:1px solid #eceef1;border-radius:15px;padding:11px;margin-top:9px
}
.ai-scope b{font-size:10.5px}
.ai-scope p{font-size:8.2px;line-height:1.5;color:var(--muted);margin:4px 0 0}
.ai-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}
.ai-scope-chip{
  background:#f6f7f8;border-radius:9px;padding:7px;font-size:7.8px;line-height:1.35
}
.ai-scope-chip strong{display:block;font-size:8.5px;margin-bottom:2px}

.ai-toolbar-badge{
  font-size:7.5px;border-radius:999px;padding:4px 7px;
  background:#eaf8f1;color:#177452;font-weight:900
}
.ai-quick-actions{
  display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:0 2px 7px
}
.ai-quick-actions::-webkit-scrollbar{display:none}
.ai-quick-actions button{
  flex:0 0 auto;border:1px solid #dfe2e7;background:#fff;border-radius:999px;
  padding:7px 9px;font-size:7.8px;font-weight:900
}
.ai-note-bubble{
  max-width:88%;background:#eef8f2;border:1px solid #d9eee2;border-radius:13px;
  padding:9px 10px;margin:8px 0;font-size:8.4px;line-height:1.5;color:#37634d
}
.handoff-card{
  background:#fff7ef;border:1px solid #ead9c2;border-radius:15px;padding:11px;margin:9px 0
}
.handoff-card .tag{
  display:inline-block;border-radius:999px;background:#17191d;color:#fff;
  padding:4px 7px;font-size:7.5px;font-weight:900
}
.handoff-card h3{font-size:11.5px;margin:7px 0 4px}
.handoff-card p{font-size:8.3px;line-height:1.5;color:#756957;margin:0}
.handoff-summary{
  margin-top:8px;background:#fff;border-radius:10px;padding:8px;
  font-size:8px;line-height:1.5;color:#666
}
.handoff-card button{
  width:100%;border:0;border-radius:10px;background:var(--red);color:#fff;
  padding:9px;font-size:8.5px;font-weight:1000;margin-top:8px
}
.human-confirmed{
  background:#17191d;color:#fff;border-radius:12px;padding:9px 10px;
  font-size:8.5px;line-height:1.5;margin:8px 0
}
.ai-boundary{
  background:#fff5f2;border:1px solid #efcbc6;border-radius:13px;padding:9px;margin-top:9px
}
.ai-boundary b{font-size:9.5px;color:var(--red)}
.ai-boundary p{font-size:7.8px;line-height:1.5;color:#6e5752;margin:3px 0 0}


/* V4.5 AI导购 / 一键找商品 */
.ai-shop-search{
  margin-top:9px;background:#fff;border:1px solid #e8eaed;border-radius:16px;padding:10px
}
.ai-shop-search-top{display:flex;align-items:center;gap:8px}
.ai-shop-search-icon{
  width:34px;height:34px;border-radius:10px;background:#17191d;color:#fff;
  display:grid;place-items:center;font-size:12px;font-weight:1000
}
.ai-shop-search-main{flex:1}
.ai-shop-search-main b{display:block;font-size:10.8px}
.ai-shop-search-main small{display:block;font-size:7.8px;line-height:1.35;color:var(--muted);margin-top:2px}
.ai-shop-search-row{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:8px}
.ai-shop-search-row input{
  width:100%;border:1px solid #dfe2e7;border-radius:11px;padding:10px 11px;font:inherit;font-size:9.5px
}
.ai-shop-search-row button{
  border:0;border-radius:10px;background:var(--red);color:#fff;padding:0 12px;font-size:8.8px;font-weight:1000
}
.ai-shop-photo{
  margin-top:7px;width:100%;border:1px dashed #cfd5dc;border-radius:10px;background:#f8f9fa;
  padding:8px;font-size:8px;font-weight:900;color:#666
}
.ai-shop-hints{
  display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-top:7px
}
.ai-shop-hints::-webkit-scrollbar{display:none}
.ai-shop-hints button{
  flex:0 0 auto;border:0;border-radius:999px;background:#f2f3f5;
  padding:6px 8px;font-size:7.5px;font-weight:900;color:#555
}
.ai-match-box{
  background:#fff;border:1px solid #eceef1;border-radius:16px;padding:12px;margin-top:10px
}
.ai-match-box h3{font-size:12px;margin:0 0 5px}
.ai-match-box p{font-size:8.3px;line-height:1.5;color:var(--muted);margin:0}
.ai-match-list{display:grid;gap:8px;margin-top:9px}
.ai-match-item{
  display:grid;grid-template-columns:44px 1fr auto;gap:8px;align-items:center;
  border:1px solid #eceef1;border-radius:12px;padding:8px
}
.ai-match-pic{
  width:44px;height:44px;border-radius:11px;background:#f2f3f5;display:grid;place-items:center;font-size:24px
}
.ai-match-main b{display:block;font-size:9.5px}
.ai-match-main small{display:block;font-size:7.4px;color:var(--muted);margin-top:2px;line-height:1.35}
.ai-match-main strong{display:block;font-size:9px;color:var(--red);margin-top:4px}
.ai-match-item button{
  border:0;border-radius:9px;background:#17191d;color:#fff;padding:8px 9px;font-size:7.8px;font-weight:900
}
.ai-no-match{
  background:#fff7ef;border:1px solid #ead9c2;border-radius:14px;padding:10px;margin-top:9px
}
.ai-no-match b{font-size:10px}
.ai-no-match p{font-size:8px;line-height:1.5;color:#735f47;margin:4px 0 0}
.ai-no-match-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.ai-no-match-actions button{
  border:0;border-radius:10px;padding:9px;font-size:8px;font-weight:1000
}
.ai-no-match-actions .primary{background:var(--red);color:#fff}
.ai-no-match-actions .light{background:#f0f1f3}
.ai-search-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:90;display:none;
  align-items:flex-end;justify-content:center;padding:12px
}
.ai-search-overlay.show{display:flex}
.ai-search-sheet{
  width:min(100%,440px);max-height:82vh;overflow:auto;background:#f7f8fa;border-radius:22px;padding:14px
}
.ai-search-sheet .handle{width:44px;height:4px;border-radius:999px;background:#d7d9dc;margin:0 auto 11px}
.ai-search-sheet h2{font-size:18px;margin:0 0 4px}
.ai-search-sheet>p{font-size:8.5px;line-height:1.5;color:var(--muted);margin:0}


/* V4.6 老会员极速买一单 */
.fast-buy-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:96;display:none;
  align-items:flex-end;justify-content:center;padding:12px
}
.fast-buy-overlay.show{display:flex}
.fast-buy-sheet{
  width:min(100%,440px);max-height:88vh;overflow:auto;background:#f7f8fa;
  border-radius:23px;padding:14px
}
.fast-buy-sheet .handle{width:44px;height:4px;border-radius:999px;background:#d5d8dc;margin:0 auto 11px}
.fast-buy-head{display:flex;align-items:flex-start;gap:9px}
.fast-buy-head-main{flex:1}
.fast-buy-head small{font-size:7.5px;color:#8b8f95;font-weight:900;letter-spacing:.5px}
.fast-buy-head h2{font-size:18px;margin:3px 0 3px}
.fast-buy-head p{font-size:8.3px;line-height:1.45;color:var(--muted);margin:0}
.fast-buy-speed{
  background:#e9f8f0;color:#177452;border-radius:999px;padding:5px 7px;
  font-size:7.5px;font-weight:1000;white-space:nowrap
}
.fast-product{
  background:#fff;border:1px solid #eceef1;border-radius:16px;padding:11px;margin-top:10px;
  display:grid;grid-template-columns:50px 1fr auto;gap:9px;align-items:center
}
.fast-product-pic{
  width:50px;height:50px;border-radius:13px;background:#f0f1f3;display:grid;place-items:center;font-size:28px
}
.fast-product-main b{display:block;font-size:10.5px}
.fast-product-main small{display:block;font-size:7.7px;line-height:1.4;color:var(--muted);margin-top:3px}
.fast-product-price{text-align:right}
.fast-product-price span{display:block;font-size:7px;color:#999}
.fast-product-price strong{display:block;font-size:16px;color:var(--red);margin-top:2px}
.fast-section{
  background:#fff;border:1px solid #eceef1;border-radius:16px;padding:11px;margin-top:9px
}
.fast-section-title{display:flex;align-items:center;gap:7px}
.fast-section-title b{font-size:10.5px}
.fast-section-title button{
  margin-left:auto;border:0;background:#f0f1f3;border-radius:8px;padding:6px 8px;font-size:7.8px;font-weight:900
}
.fast-contact-row{
  display:grid;grid-template-columns:65px 1fr;gap:8px;padding:7px 0;border-bottom:1px solid var(--line)
}
.fast-contact-row:last-child{border:0}
.fast-contact-row span{font-size:8px;color:#999}
.fast-contact-row b{font-size:8.8px;line-height:1.4;text-align:right}
.fast-edit-box{display:none;margin-top:7px;border-top:1px solid var(--line);padding-top:8px}
.fast-edit-box.show{display:block}
.fast-edit-label{font-size:7.8px;color:#888;margin:6px 0 5px}
.fast-edit-chips{display:flex;gap:5px;flex-wrap:wrap}
.fast-edit-chips button{
  border:1px solid #dfe2e7;background:#fff;border-radius:999px;padding:6px 7px;font-size:7.5px
}
.fast-edit-chips button.on{background:#17191d;color:#fff;border-color:#17191d}
.fast-benefit{
  display:flex;align-items:center;gap:8px;background:#fff7ef;border-radius:11px;padding:8px;margin-top:8px
}
.fast-benefit .main{flex:1}
.fast-benefit b{font-size:9px}
.fast-benefit small{display:block;font-size:7.3px;color:#866f54;margin-top:2px}
.fast-benefit button{
  border:0;border-radius:8px;background:#17191d;color:#fff;padding:7px 8px;font-size:7.5px;font-weight:900
}
.fast-benefit button.on{background:#e9f8f0;color:#177452}
.fast-pay{
  background:#17191d;color:#fff;border-radius:15px;padding:11px;margin-top:9px;
  display:flex;align-items:end;gap:8px
}
.fast-pay span{font-size:8px;opacity:.65}
.fast-pay strong{margin-left:auto;font-size:23px}
.fast-pay small{display:block;font-size:7px;opacity:.55;margin-top:2px}
.fast-agree{
  display:flex;gap:7px;align-items:flex-start;margin-top:9px;font-size:7.8px;line-height:1.45;color:#666
}
.fast-agree input{margin-top:2px}
.fast-agree button{border:0;background:none;padding:0;color:var(--red);font-size:inherit;font-weight:900}
.fast-main-btn{
  width:100%;border:0;border-radius:13px;background:var(--red);color:#fff;
  padding:12px;font-size:10.5px;font-weight:1000;margin-top:10px
}
.fast-sub-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}
.fast-sub-actions button{
  border:0;border-radius:10px;background:#eceef1;padding:9px;font-size:8px;font-weight:900
}
.fast-tip{
  margin-top:8px;font-size:7.5px;line-height:1.45;color:#888;text-align:center
}
.fast-badge{
  display:inline-flex;align-items:center;gap:4px;background:#e9f8f0;color:#177452;
  border-radius:999px;padding:4px 7px;font-size:7.3px;font-weight:1000
}


/* V4.7 一单到底进度中心 / 首页当前订单 */
.current-order-card{
  margin-top:9px;background:#fff;border:1px solid #e8eaed;border-radius:17px;padding:11px
}
.current-order-head{display:flex;align-items:flex-start;gap:8px}
.current-order-icon{
  width:38px;height:38px;border-radius:11px;background:#17191d;color:#fff;
  display:grid;place-items:center;font-size:17px
}
.current-order-main{flex:1;min-width:0}
.current-order-main b{display:block;font-size:10.8px}
.current-order-main small{display:block;font-size:7.7px;color:var(--muted);margin-top:2px;line-height:1.35}
.current-order-status{
  flex:0 0 auto;background:#eef8f2;color:#177452;border-radius:999px;
  padding:5px 7px;font-size:7.4px;font-weight:1000
}
.current-order-product{
  margin-top:9px;background:#f7f8fa;border-radius:11px;padding:8px;
  display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center
}
.current-order-product .pic{
  width:38px;height:38px;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:22px
}
.current-order-product b{font-size:9.5px}
.current-order-product small{display:block;font-size:7.3px;color:#888;margin-top:2px}
.current-order-product strong{font-size:10px;color:var(--red)}
.current-mini-progress{
  display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-top:10px
}
.current-mini-step{text-align:center;position:relative}
.current-mini-step:before{
  content:"";display:block;width:8px;height:8px;border-radius:50%;
  background:#dfe2e6;margin:0 auto 4px;position:relative;z-index:2
}
.current-mini-step:after{
  content:"";position:absolute;height:2px;background:#dfe2e6;top:3px;
  left:-50%;right:50%;z-index:1
}
.current-mini-step:first-child:after{display:none}
.current-mini-step.on:before{background:#17191d}
.current-mini-step.on:after{background:#17191d}
.current-mini-step.now:before{background:var(--red);box-shadow:0 0 0 3px #ffe4e4}
.current-mini-step span{display:block;font-size:6.3px;line-height:1.2;color:#90949a}
.current-mini-step.on span,.current-mini-step.now span{color:#444;font-weight:900}
.current-order-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}
.current-order-actions button{
  border:0;border-radius:10px;padding:9px 6px;font-size:8.2px;font-weight:1000
}
.current-order-actions .primary{background:#17191d;color:#fff}
.current-order-actions .light{background:#f0f1f3}

.journey-hero{
  background:linear-gradient(145deg,#17191d,#353a43);color:#fff;border-radius:21px;padding:16px
}
.journey-hero small{font-size:7.5px;opacity:.55;letter-spacing:.7px}
.journey-hero h2{font-size:20px;margin:5px 0 4px}
.journey-hero p{font-size:8.7px;line-height:1.5;opacity:.7;margin:0}
.journey-order{
  margin-top:10px;background:rgba(255,255,255,.08);border-radius:12px;padding:9px;
  display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center
}
.journey-order .pic{width:42px;height:42px;border-radius:11px;background:#fff;color:#222;display:grid;place-items:center;font-size:24px}
.journey-order b{font-size:9.7px}
.journey-order small{display:block;font-size:7.2px;opacity:.65;margin-top:2px}
.journey-order strong{font-size:11px}

.journey-map{
  background:#fff;border:1px solid #eceef1;border-radius:18px;padding:13px;margin-top:10px
}
.journey-map h3{font-size:13px;margin:0}
.journey-map>p{font-size:8px;line-height:1.45;color:var(--muted);margin:4px 0 0}
.journey-line{margin-top:12px;position:relative}
.journey-line:before{
  content:"";position:absolute;left:14px;top:13px;bottom:15px;width:2px;background:#e0e3e7
}
.journey-stage{
  position:relative;display:grid;grid-template-columns:30px 1fr auto;gap:9px;
  padding:0 0 14px;align-items:start
}
.journey-stage:last-child{padding-bottom:0}
.journey-dot{
  width:30px;height:30px;border-radius:50%;background:#f0f1f3;display:grid;place-items:center;
  font-size:12px;position:relative;z-index:2
}
.journey-stage.done .journey-dot{background:#17191d;color:#fff}
.journey-stage.now .journey-dot{background:var(--red);color:#fff;box-shadow:0 0 0 4px #ffe5e5}
.journey-stage-main b{display:block;font-size:10px}
.journey-stage-main small{display:block;font-size:7.6px;line-height:1.45;color:var(--muted);margin-top:2px}
.journey-stage-time{
  font-size:7px;color:#999;white-space:nowrap;padding-top:3px
}
.journey-stage.now .journey-stage-main b{color:var(--red)}
.journey-stage .explain-btn{
  margin-top:6px;border:0;border-radius:8px;background:#f0f1f3;padding:6px 8px;
  font-size:7.3px;font-weight:900
}
.journey-stage.now .explain-btn{background:#fff0f0;color:var(--red)}

.journey-service{
  background:#fff7ef;border:1px solid #ead9c2;border-radius:15px;padding:11px;margin-top:10px
}
.journey-service b{font-size:10.5px}
.journey-service p{font-size:8px;line-height:1.5;color:#735f49;margin:4px 0 0}
.journey-service-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:7px;margin-top:8px}
.journey-service-actions button{
  border:0;border-radius:10px;padding:9px;font-size:8px;font-weight:1000
}
.journey-service-actions .primary{background:var(--red);color:#fff}
.journey-service-actions .light{background:#f0f1f3}

.journey-note{
  margin-top:9px;background:#f7f8fa;border-radius:11px;padding:9px;
  font-size:7.5px;line-height:1.5;color:#7c8086
}


/* V4.9 特殊商品简单复购 */
.special-reorder-summary{
  background:#fff7ef;border:1px solid #ead9c2;border-radius:15px;
  padding:11px;margin:9px 0
}
.special-reorder-summary .tag{
  display:inline-block;background:#17191d;color:#fff;border-radius:999px;
  padding:4px 7px;font-size:7.4px;font-weight:1000
}
.special-reorder-summary h3{font-size:11.5px;margin:7px 0 4px}
.special-reorder-summary p{font-size:8.2px;line-height:1.5;color:#735f49;margin:0}
.special-reorder-kv{
  margin-top:8px;background:#fff;border-radius:10px;padding:8px
}
.special-reorder-kv div{
  display:flex;gap:8px;padding:5px 0;border-bottom:1px solid #eee;font-size:8px
}
.special-reorder-kv div:last-child{border-bottom:0}
.special-reorder-kv span{color:#999}
.special-reorder-kv b{margin-left:auto;text-align:right}
.special-reorder-summary button{
  width:100%;border:0;border-radius:10px;background:var(--red);color:#fff;
  padding:9px;font-size:8.5px;font-weight:1000;margin-top:8px
}


