/* ============================================================
   DualStar · 外卖 app（v578）低饱和黑白灰
   ============================================================ */

.wm-view {
  position: absolute; inset: 0;
  display: flex; flex-direction: column;
  background: #F5F5F5; color: #2E2E30;
  font-size: 14px; overflow: hidden;
}
[data-theme="dark"] .wm-view { background: #141416; color: #E5E5E5; }

/* —— 顶部导航 —— */
.wm-nav {
  display: flex; align-items: center; gap: 8px;
  height: calc(52px + var(--safe-area-top, env(safe-area-inset-top, 0px)));
  padding: var(--safe-area-top, env(safe-area-inset-top, 0px)) 14px 0;
  box-sizing: border-box;
  flex: none;
  background: #FFF; border-bottom: 1px solid #ECECEC;
}
[data-theme="dark"] .wm-nav { background: #1C1C1E; border-color: #2A2A2C; }
.wm-nav-btn { border: none; background: none; padding: 10px; color: #3A3A3C; cursor: pointer; display: flex; } /* v581fix：返回键热区 ≥40px */
[data-theme="dark"] .wm-nav-btn { color: #CCC; }
.wm-nav-title { flex: 1; text-align: center; font-size: 16px; font-weight: 600; color: #2E2E30; }
[data-theme="dark"] .wm-nav-title { color: #E5E5E5; }
.wm-nav-right { display: flex; align-items: center; gap: 6px; }

.wm-page-body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; }

/* —— 首页 —— */
.wm-home { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
.wm-topbar {
  display: flex; align-items: center; gap: 10px;
  padding: calc(10px + var(--safe-area-top, env(safe-area-inset-top, 0px))) 14px 10px;
  flex: none;
  background: #FFF; border-bottom: 1px solid #ECECEC;
}
[data-theme="dark"] .wm-topbar { background: #1C1C1E; border-color: #2A2A2C; }
.wm-topbar-back { border: none; background: none; color: #3A3A3C; padding: 10px; cursor: pointer; display: flex; } /* v581fix：返回键热区 */
[data-theme="dark"] .wm-topbar-back { color: #CCC; }
.wm-loc { display: flex; align-items: center; gap: 5px; flex: 1; min-width: 0; }
.wm-loc-ic { color: #6E6E73; display: inline-flex; }
.wm-loc-name { font-size: 14px; font-weight: 600; color: #2E2E30; }
[data-theme="dark"] .wm-loc-name { color: #E5E5E5; }
.wm-topbar-act {
  position: relative; border: none; background: none; color: #3A3A3C;
  padding: 5px; cursor: pointer; display: inline-flex;
}
[data-theme="dark"] .wm-topbar-act { color: #CCC; }
.wm-topbar-badge {
  position: absolute; top: 0; right: 0;
  min-width: 15px; height: 15px; border-radius: 8px;
  background: #3A3A3C; color: #FFF; font-size: 10px;
  display: flex; align-items: center; justify-content: center; padding: 0 3px;
}
.wm-home-scroll { flex: 1; overflow-y: auto; padding-bottom: 70px; }

.wm-running {
  display: flex; align-items: center; gap: 10px;
  margin: 10px 12px; padding: 11px 13px;
  background: #EDEDEF; border-radius: 12px; cursor: pointer;
}
[data-theme="dark"] .wm-running { background: #202022; }
.wm-running-ic { font-size: 18px; }
.wm-running-mid { flex: 1; min-width: 0; }
.wm-running-title { font-size: 13px; font-weight: 600; color: #2E2E30; }
[data-theme="dark"] .wm-running-title { color: #E5E5E5; }
.wm-running-sub { font-size: 11px; color: #8E8E93; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wm-running-go { font-size: 12px; color: #3A3A3C; }

/* TA 请我 */
.wm-invite {
  display: flex; align-items: center; gap: 10px;
  margin: 10px 12px; padding: 12px;
  background: linear-gradient(135deg, #E9E9EB, #F2F2F4);
  border: 1px solid #E0E0E2; border-radius: 14px;
}
[data-theme="dark"] .wm-invite { background: #1E1E21; border-color: #2C2C2F; }
.wm-invite-art { font-size: 24px; }
.wm-invite-mid { flex: 1; min-width: 0; }
.wm-invite-title { font-size: 13.5px; font-weight: 700; color: #2E2E30; }
[data-theme="dark"] .wm-invite-title { color: #E8E8E8; }
.wm-invite-sub { font-size: 11.5px; color: #8E8E93; margin-top: 3px; }
.wm-invite-actions { display: flex; gap: 6px; flex: none; }
.wm-invite-btn {
  border: 1px solid #C8C8CC; background: #FFF; color: #5A5A5E;
  border-radius: 99px; padding: 6px 12px; font-size: 12px; cursor: pointer;
}
[data-theme="dark"] .wm-invite-btn { background: #262629; color: #AAA; border-color: #3A3A3D; }
.wm-invite-btn.main { background: #3A3A3C; border-color: #3A3A3C; color: #FFF; }
[data-theme="dark"] .wm-invite-btn.main { background: #E5E5E5; color: #141416; border-color: #E5E5E5; }
.wm-invite-btn.ghost { background: transparent; }

/* 聊天关键词推荐 */
.wm-pick {
  display: flex; align-items: center; gap: 9px;
  margin: 0 12px 8px; padding: 10px 12px;
  background: #FFF; border: 1px solid #ECECEC; border-radius: 12px; cursor: pointer;
}
[data-theme="dark"] .wm-pick { background: #1C1C1E; border-color: #2A2A2C; }
.wm-pick-ic { font-size: 16px; }
.wm-pick-mid { flex: 1; min-width: 0; }
.wm-pick-title { font-size: 12.5px; font-weight: 600; color: #3A3A3C; }
[data-theme="dark"] .wm-pick-title { color: #D8D8D8; }
.wm-pick-sub { font-size: 11px; color: #9A9AA0; margin-top: 2px; }
.wm-pick-go { font-size: 12px; color: #6E6E73; }

/* 分类 chips */
.wm-cats {
  display: flex; gap: 8px; padding: 6px 14px 10px;
  overflow-x: auto; scrollbar-width: none;
}
.wm-cats::-webkit-scrollbar { display: none; }
.wm-cat {
  flex: none; border: 1px solid #E0E0E2; background: #FFF; color: #6E6E73;
  border-radius: 99px; padding: 6px 14px; font-size: 12.5px; cursor: pointer;
}
[data-theme="dark"] .wm-cat { background: #1E1E21; border-color: #2E2E30; color: #9A9AA0; }
.wm-cat.on { background: #3A3A3C; border-color: #3A3A3C; color: #FFF; }
[data-theme="dark"] .wm-cat.on { background: #E5E5E5; border-color: #E5E5E5; color: #141416; }

/* 商家列表 */
.wm-shop-list { padding: 0 12px; display: flex; flex-direction: column; gap: 10px; }
.wm-shop-card {
  display: flex; align-items: center; gap: 12px;
  background: #FFF; border: 1px solid #ECECEC; border-radius: 14px;
  padding: 12px; cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.03);
}
[data-theme="dark"] .wm-shop-card { background: #1C1C1E; border-color: #2A2A2C; }
.wm-shop-logo {
  flex: none; width: 52px; height: 52px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center; font-size: 24px;
  color: #FFF;
}
.wm-shop-mid { flex: 1; min-width: 0; }
.wm-shop-name { font-size: 14.5px; font-weight: 700; color: #2E2E30; }
[data-theme="dark"] .wm-shop-name { color: #E8E8E8; }
.wm-shop-rating { font-size: 12px; color: #8E8E93; margin-top: 3px; }
.wm-shop-meta { font-size: 11px; color: #A0A0A4; margin-top: 2px; }
.wm-shop-tags { display: flex; gap: 4px; margin-top: 5px; flex-wrap: wrap; }
.wm-shop-tag {
  font-size: 10px; color: #8E8E93; background: #F2F2F4;
  border-radius: 4px; padding: 2px 6px;
}
[data-theme="dark"] .wm-shop-tag { background: #26262A; color: #9A9AA0; }
.wm-shop-arrow { color: #C4C4C8; font-size: 16px; }

.wm-love {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 18px 0 6px; font-size: 11.5px; color: #9A9AA0;
}
.wm-love-ic { color: #B4B4B8; }

/* 底部 tab */
.wm-tabbar {
  position: absolute; left: 0; right: 0; bottom: 0; height: 56px;
  display: flex; background: #FFF; border-top: 1px solid #ECECEC;
}
[data-theme="dark"] .wm-tabbar { background: #1C1C1E; border-color: #2A2A2C; }
.wm-tab-item {
  flex: 1; border: none; background: none; color: #9A9AA0;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  cursor: pointer;
}
.wm-tab-item.active { color: #3A3A3C; }
[data-theme="dark"] .wm-tab-item.active { color: #E5E5E5; }
.wm-tab-label { font-size: 11px; }

.wm-cart-float {
  position: absolute; left: 50%; bottom: 66px; transform: translateX(-50%);
  background: #3A3A3C; color: #FFF; font-size: 13px; font-weight: 600;
  border-radius: 99px; padding: 10px 20px; cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
[data-theme="dark"] .wm-cart-float { background: #E5E5E5; color: #141416; }

/* —— 商家页 —— */
.wm-shop-page { display: flex; flex-direction: column; height: 100%; overflow: hidden; padding-bottom: 64px; }
.wm-shop-head {
  display: flex; align-items: flex-end; gap: 12px;
  padding: calc(14px + var(--safe-area-top, env(safe-area-inset-top, 0px))) 14px 16px;
  box-sizing: border-box;
  color: #FFF; flex: none;
}
.wm-shop-back {
  border: none; background: rgba(255, 255, 255, 0.22); color: #FFF;
  border-radius: 50%; width: 40px; height: 40px; /* v581fix：热区加大 */
  display: flex; align-items: center; justify-content: center; cursor: pointer; flex: none;
}
.wm-shop-head-info { flex: 1; min-width: 0; }
.wm-shop-head-name { font-size: 18px; font-weight: 700; }
.wm-shop-head-sub { font-size: 11.5px; opacity: 0.85; margin-top: 3px; }
.wm-shop-body { flex: 1; display: flex; overflow: hidden; }
.wm-shop-cats {
  width: 86px; flex: none; overflow-y: auto;
  background: #EFEFF1; border-right: 1px solid #E6E6E8;
}
[data-theme="dark"] .wm-shop-cats { background: #19191B; border-color: #262628; }
.wm-scat {
  display: block; width: 100%; border: none; background: none;
  padding: 14px 8px; font-size: 12px; color: #8E8E93; cursor: pointer;
  border-left: 3px solid transparent;
}
.wm-scat.on { background: #FFF; color: #2E2E30; font-weight: 700; border-left-color: #3A3A3C; }
[data-theme="dark"] .wm-scat.on { background: #1E1E21; color: #E8E8E8; }
.wm-menu { flex: 1; overflow-y: auto; background: #FFF; }
[data-theme="dark"] .wm-menu { background: #1C1C1E; }
.wm-menu-group { padding: 4px 12px 14px; }
.wm-menu-group-title { font-size: 13px; font-weight: 700; color: #3A3A3C; padding: 10px 0 6px; }
[data-theme="dark"] .wm-menu-group-title { color: #D8D8D8; }
.wm-item { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid #F2F2F4; }
[data-theme="dark"] .wm-item { border-color: #262628; }
.wm-item-art {
  flex: none; width: 44px; height: 44px; border-radius: 10px;
  background: #F2F2F4; display: flex; align-items: center; justify-content: center; font-size: 22px;
}
[data-theme="dark"] .wm-item-art { background: #26262A; }
.wm-item-mid { flex: 1; min-width: 0; }
.wm-item-name { font-size: 13.5px; font-weight: 600; color: #2E2E30; display: flex; align-items: center; gap: 5px; }
[data-theme="dark"] .wm-item-name { color: #E0E0E0; }
.wm-item-tag {
  font-size: 9.5px; color: #6E6E73; background: #EDEDEF;
  border-radius: 4px; padding: 1px 5px; font-weight: 400;
}
[data-theme="dark"] .wm-item-tag { background: #2C2C2F; color: #AAA; }
.wm-item-desc { font-size: 11px; color: #A0A0A4; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wm-item-price { font-size: 13px; font-weight: 700; color: #3A3A3C; margin-top: 4px; }
[data-theme="dark"] .wm-item-price { color: #D8D8D8; }
.wm-item-ops { flex: none; }
.wm-item-add {
  width: 26px; height: 26px; border-radius: 50%;
  border: 1px solid #C8C8CC; background: #FFF; color: #3A3A3C;
  font-size: 16px; line-height: 1; cursor: pointer;
}
[data-theme="dark"] .wm-item-add { background: #262629; border-color: #3A3A3D; color: #CCC; }
.wm-stepper { display: flex; align-items: center; gap: 8px; }
.wm-step {
  width: 24px; height: 24px; border-radius: 50%;
  border: 1px solid #C8C8CC; background: #FFF; color: #3A3A3C;
  font-size: 15px; line-height: 1; cursor: pointer;
}
[data-theme="dark"] .wm-step { background: #262629; border-color: #3A3A3D; color: #CCC; }
.wm-step-num { min-width: 14px; text-align: center; font-size: 13px; font-weight: 600; color: #2E2E30; }
[data-theme="dark"] .wm-step-num { color: #E0E0E0; }

/* 购物车底栏 */
.wm-cartbar {
  position: absolute; left: 0; right: 0; bottom: 0;
  display: flex; align-items: center; gap: 10px;
  background: #FFF; border-top: 1px solid #ECECEC;
  padding: 10px 14px;
}
[data-theme="dark"] .wm-cartbar { background: #1C1C1E; border-color: #2A2A2C; }
.wm-cartbar-cart {
  position: relative; width: 44px; height: 44px; border-radius: 50%;
  background: #EDEDEF; border: none; font-size: 20px; cursor: pointer;
}
[data-theme="dark"] .wm-cartbar-cart { background: #26262A; }
.wm-cartbar-cart.has { background: #3A3A3C; }
[data-theme="dark"] .wm-cartbar-cart.has { background: #E5E5E5; }
.wm-cartbar-badge {
  position: absolute; top: -3px; right: -3px;
  min-width: 17px; height: 17px; border-radius: 9px;
  background: #111113; color: #FFF; font-size: 10px;
  display: flex; align-items: center; justify-content: center; padding: 0 4px;
}
[data-theme="dark"] .wm-cartbar-badge { background: #FFF; color: #111; }
.wm-cartbar-mid { flex: 1; min-width: 0; }
.wm-cartbar-total { font-size: 15px; font-weight: 700; color: #2E2E30; }
[data-theme="dark"] .wm-cartbar-total { color: #E8E8E8; }
.wm-cartbar-sub { font-size: 11px; color: #9A9AA0; margin-top: 1px; }
.wm-cartbar-go {
  border: none; border-radius: 99px; padding: 10px 22px;
  background: #E2E2E4; color: #9A9AA0; font-size: 13px; font-weight: 600; cursor: pointer;
}
.wm-cartbar-go.on { background: #3A3A3C; color: #FFF; }
[data-theme="dark"] .wm-cartbar-go.on { background: #E5E5E5; color: #141416; }

/* —— 结算 —— */
.wm-checkout { display: flex; flex-direction: column; height: 100%; overflow: hidden; }
.wm-checkout-scroll { flex: 1; overflow-y: auto; padding: 12px; }
.wm-addr-card {
  display: flex; align-items: center; gap: 10px;
  background: #FFF; border: 1px solid #ECECEC; border-radius: 12px;
  padding: 13px; cursor: pointer;
}
[data-theme="dark"] .wm-addr-card { background: #1C1C1E; border-color: #2A2A2C; }
.wm-addr-ic { font-size: 17px; }
.wm-addr-mid { flex: 1; min-width: 0; }
.wm-addr-name { font-size: 14px; font-weight: 600; color: #2E2E30; }
[data-theme="dark"] .wm-addr-name { color: #E5E5E5; }
.wm-addr-line { font-size: 11.5px; color: #9A9AA0; margin-top: 2px; }
.wm-addr-tag { font-size: 12px; color: #6E6E73; }

.wm-checkout-shop {
  display: flex; align-items: center; gap: 10px;
  margin-top: 10px; background: #FFF; border: 1px solid #ECECEC;
  border-radius: 12px; padding: 11px 13px; cursor: pointer;
}
[data-theme="dark"] .wm-checkout-shop { background: #1C1C1E; border-color: #2A2A2C; }
.wm-checkout-shop-logo {
  width: 36px; height: 36px; border-radius: 9px; color: #FFF;
  display: flex; align-items: center; justify-content: center; font-size: 18px;
}
.wm-checkout-shop-mid { flex: 1; min-width: 0; }
.wm-checkout-shop-name { font-size: 13.5px; font-weight: 600; color: #2E2E30; }
[data-theme="dark"] .wm-checkout-shop-name { color: #E0E0E0; }
.wm-checkout-shop-sub { font-size: 11px; color: #9A9AA0; margin-top: 2px; }
.wm-checkout-shop-go { font-size: 12px; color: #6E6E73; }

.wm-checkout-items {
  margin-top: 10px; background: #FFF; border: 1px solid #ECECEC;
  border-radius: 12px; padding: 4px 13px;
}
[data-theme="dark"] .wm-checkout-items { background: #1C1C1E; border-color: #2A2A2C; }
.wm-checkout-item {
  display: flex; align-items: center; gap: 9px; padding: 9px 0;
  border-bottom: 1px solid #F4F4F5;
}
[data-theme="dark"] .wm-checkout-item { border-color: #262628; }
.wm-checkout-item:last-child { border-bottom: none; }
.wm-checkout-item-art { font-size: 17px; }
.wm-checkout-item-name { flex: 1; min-width: 0; font-size: 13px; color: #3A3A3C; }
[data-theme="dark"] .wm-checkout-item-name { color: #CCC; }
.wm-checkout-item-qty { font-size: 12px; color: #9A9AA0; }
.wm-checkout-item-price { font-size: 13px; font-weight: 600; color: #2E2E30; }
[data-theme="dark"] .wm-checkout-item-price { color: #E0E0E0; }

.wm-checkout-opt {
  margin-top: 10px; background: #FFF; border: 1px solid #ECECEC;
  border-radius: 12px; padding: 6px 13px;
}
[data-theme="dark"] .wm-checkout-opt { background: #1C1C1E; border-color: #2A2A2C; }
.wm-checkout-opt-row {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 0; font-size: 13px; color: #3A3A3C;
  border-bottom: 1px solid #F4F4F5;
}
[data-theme="dark"] .wm-checkout-opt-row { color: #CCC; border-color: #262628; }
.wm-checkout-opt-row:last-child { border-bottom: none; }
.wm-checkout-opt-row > span { flex: none; width: 44px; color: #6E6E73; }
.wm-cutlery { display: flex; gap: 6px; }
.wm-cutlery-btn {
  border: 1px solid #E0E0E2; background: #FFF; color: #6E6E73;
  border-radius: 99px; padding: 5px 11px; font-size: 11.5px; cursor: pointer;
}
[data-theme="dark"] .wm-cutlery-btn { background: #262629; border-color: #343438; color: #9A9AA0; }
.wm-cutlery-btn.on { background: #3A3A3C; border-color: #3A3A3C; color: #FFF; }
[data-theme="dark"] .wm-cutlery-btn.on { background: #E5E5E5; color: #141416; border-color: #E5E5E5; }
.wm-note-input {
  flex: 1; border: none; background: #F5F5F5; border-radius: 8px;
  padding: 7px 10px; font-size: 12.5px; outline: none; min-width: 0;
}
[data-theme="dark"] .wm-note-input { background: #26262A; color: #DDD; }

.wm-bill {
  margin-top: 10px; background: #FFF; border: 1px solid #ECECEC;
  border-radius: 12px; padding: 6px 13px;
}
[data-theme="dark"] .wm-bill { background: #1C1C1E; border-color: #2A2A2C; }
.wm-bill-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 7px 0; font-size: 13px; color: #6E6E73;
  border-bottom: 1px solid #F4F4F5;
}
[data-theme="dark"] .wm-bill-row { color: #9A9AA0; border-color: #262628; }
.wm-bill-row:last-child { border-bottom: none; }
.wm-bill-row.total { font-weight: 700; color: #2E2E30; font-size: 14px; }
[data-theme="dark"] .wm-bill-row.total { color: #E8E8E8; }
.wm-bill-row.save { color: #55555A; }
.wm-total-price { color: #2E2E30; }
[data-theme="dark"] .wm-total-price { color: #FFF; }

.wm-pay-balance {
  margin-top: 10px; display: flex; align-items: center; justify-content: space-between;
  font-size: 12.5px; color: #9A9AA0; padding: 4px 2px;
}
.wm-balance-low { color: #C0392B; }
.wm-balance-topup {
  border: 1px solid #C8C8CC; background: #FFF; color: #3A3A3C;
  border-radius: 99px; padding: 5px 12px; font-size: 12px; cursor: pointer;
}
[data-theme="dark"] .wm-balance-topup { background: #262629; color: #CCC; border-color: #3A3A3D; }

.wm-checkout-bar {
  display: flex; gap: 10px; flex: none;
  background: #FFF; border-top: 1px solid #ECECEC; padding: 10px 14px;
}
[data-theme="dark"] .wm-checkout-bar { background: #1C1C1E; border-color: #2A2A2C; }
.wm-checkout-btn {
  flex: 1; border: none; border-radius: 99px; padding: 12px 18px;
  background: #3A3A3C; color: #FFF; font-size: 14px; font-weight: 600; cursor: pointer;
}
[data-theme="dark"] .wm-checkout-btn { background: #E5E5E5; color: #141416; }
.wm-checkout-btn.ghost { background: #EDEDEF; color: #3A3A3C; }
[data-theme="dark"] .wm-checkout-btn.ghost { background: #26262A; color: #CCC; }
.wm-checkout-btn.disabled { opacity: 0.45; }

/* —— 订单列表 —— */
.wm-orders { padding-bottom: 8px; }
.wm-order-tabs {
  display: flex; gap: 4px; padding: 8px 12px 4px; flex: none;
}
.wm-order-tab {
  border: none; background: none; color: #8E8E93; font-size: 13px;
  padding: 8px 12px; cursor: pointer; border-bottom: 2px solid transparent;
}
.wm-order-tab.on { color: #2E2E30; font-weight: 700; border-bottom-color: #3A3A3C; }
[data-theme="dark"] .wm-order-tab.on { color: #E8E8E8; border-bottom-color: #E5E5E5; }
.wm-order-list { padding: 6px 12px 12px; display: flex; flex-direction: column; gap: 10px; }
.wm-order-card {
  background: #FFF; border: 1px solid #ECECEC; border-radius: 14px;
  padding: 12px; cursor: pointer;
}
[data-theme="dark"] .wm-order-card { background: #1C1C1E; border-color: #2A2A2C; }
.wm-order-top {
  display: flex; justify-content: space-between; align-items: center;
  padding-bottom: 8px; border-bottom: 1px solid #F4F4F5;
}
[data-theme="dark"] .wm-order-top { border-color: #262628; }
.wm-order-who { font-size: 12px; color: #8E8E93; }
.wm-order-status { font-size: 12px; font-weight: 600; }
.wm-st-wait { color: #8E8E93; }
.wm-st-shipping { color: #4A4A4D; }
[data-theme="dark"] .wm-st-shipping { color: #B8B8BC; }
.wm-st-done { color: #6E6E73; }
[data-theme="dark"] .wm-st-done { color: #8E8E93; }
.wm-order-goods { display: flex; align-items: center; gap: 10px; padding: 10px 0; }
.wm-order-art {
  flex: none; width: 44px; height: 44px; border-radius: 10px;
  background: #F2F2F4; display: flex; align-items: center; justify-content: center; font-size: 22px;
}
[data-theme="dark"] .wm-order-art { background: #26262A; }
.wm-order-mid { flex: 1; min-width: 0; }
.wm-order-name { font-size: 13.5px; font-weight: 600; color: #2E2E30; }
[data-theme="dark"] .wm-order-name { color: #E0E0E0; }
.wm-order-more { color: #9A9AA0; font-weight: 400; font-size: 12px; }
.wm-order-shop { font-size: 11px; color: #9A9AA0; margin-top: 2px; }
.wm-order-time { font-size: 10.5px; color: #B4B4B8; margin-top: 2px; }
.wm-order-price { font-size: 14px; font-weight: 700; color: #2E2E30; }
[data-theme="dark"] .wm-order-price { color: #E8E8E8; }
.wm-order-tl-wrap { padding-bottom: 6px; }
.wm-order-count { text-align: center; font-size: 10.5px; color: #9A9AA0; padding-top: 4px; }
.wm-order-review { font-size: 11.5px; color: #6E6E73; padding: 6px 0 2px; }
[data-theme="dark"] .wm-order-review { color: #9A9AA0; }
.wm-order-actions { display: flex; flex-wrap: wrap; gap: 7px; padding-top: 8px; border-top: 1px solid #F4F4F5; }
[data-theme="dark"] .wm-order-actions { border-color: #262628; }
.wm-o-btn {
  border: 1px solid #D8D8DC; background: #FFF; color: #5A5A5E;
  border-radius: 99px; padding: 6px 13px; font-size: 12px; cursor: pointer;
}
[data-theme="dark"] .wm-o-btn { background: #262629; border-color: #3A3A3D; color: #AAA; }
.wm-o-btn.main { background: #3A3A3C; border-color: #3A3A3C; color: #FFF; }
[data-theme="dark"] .wm-o-btn.main { background: #E5E5E5; color: #141416; border-color: #E5E5E5; }

/* —— 订单详情 —— */
.wm-order-detail { padding-bottom: 20px; }
.wm-od-status {
  display: flex; align-items: center; gap: 12px;
  margin: 12px; padding: 14px;
  background: #FFF; border: 1px solid #ECECEC; border-radius: 14px;
}
[data-theme="dark"] .wm-od-status { background: #1C1C1E; border-color: #2A2A2C; }
.wm-od-status-icon { font-size: 26px; }
.wm-od-status-title { font-size: 16px; font-weight: 700; color: #2E2E30; }
[data-theme="dark"] .wm-od-status-title { color: #E8E8E8; }
.wm-od-status-sub { font-size: 12px; color: #9A9AA0; margin-top: 3px; }
.wm-od-logi {
  display: flex; align-items: center; gap: 10px;
  margin: 0 12px 10px; padding: 11px 13px;
  background: #F0F0F2; border-radius: 12px; cursor: pointer;
}
[data-theme="dark"] .wm-od-logi { background: #202022; }
.wm-od-logi-ic { font-size: 18px; }
.wm-od-logi-mid { flex: 1; min-width: 0; }
.wm-od-logi-name { font-size: 12.5px; font-weight: 600; color: #3A3A3C; }
[data-theme="dark"] .wm-od-logi-name { color: #D8D8D8; }
.wm-od-logi-cur { font-size: 11px; color: #9A9AA0; margin-top: 2px; }
.wm-od-logi-go { font-size: 12px; color: #6E6E73; }
.wm-od-char {
  display: flex; align-items: center; gap: 10px;
  margin: 0 12px 10px; padding: 11px 13px;
  background: #FFF; border: 1px solid #ECECEC; border-radius: 12px;
}
[data-theme="dark"] .wm-od-char { background: #1C1C1E; border-color: #2A2A2C; }
.wm-od-char-ic { font-size: 18px; }
.wm-od-char-mid { flex: 1; min-width: 0; }
.wm-od-char-name { font-size: 13px; font-weight: 600; color: #2E2E30; }
[data-theme="dark"] .wm-od-char-name { color: #E0E0E0; }
.wm-od-char-sub { font-size: 11px; color: #9A9AA0; margin-top: 2px; }
.wm-od-goods, .wm-od-addr, .wm-od-info {
  margin: 0 12px 10px; background: #FFF; border: 1px solid #ECECEC;
  border-radius: 12px; padding: 4px 13px;
}
[data-theme="dark"] .wm-od-goods, [data-theme="dark"] .wm-od-addr, [data-theme="dark"] .wm-od-info { background: #1C1C1E; border-color: #2A2A2C; }
.wm-od-addr-row, .wm-od-info-row {
  display: flex; justify-content: space-between; gap: 10px;
  padding: 8px 0; font-size: 12.5px; color: #3A3A3C;
  border-bottom: 1px solid #F4F4F5;
}
[data-theme="dark"] .wm-od-addr-row, [data-theme="dark"] .wm-od-info-row { color: #CCC; border-color: #262628; }
.wm-od-addr-row:last-child, .wm-od-info-row:last-child { border-bottom: none; }
.wm-od-addr-row span:first-child, .wm-od-info-row span:first-child { color: #9A9AA0; flex: none; }
.wm-od-addr-row span:last-child { text-align: right; }
.wm-od-actions { display: flex; flex-wrap: wrap; gap: 8px; padding: 4px 12px 10px; }

/* —— 时间线 —— */
.wm-timeline {
  display: flex; align-items: flex-start;
  margin: 0 12px 10px; padding: 12px 10px;
  background: #FFF; border: 1px solid #ECECEC; border-radius: 12px;
}
[data-theme="dark"] .wm-timeline { background: #1C1C1E; border-color: #2A2A2C; }
.wm-tl-node { display: flex; flex-direction: column; align-items: center; gap: 3px; flex: none; width: 44px; }
.wm-tl-dot { width: 8px; height: 8px; border-radius: 50%; background: #D8D8DC; }
.wm-tl-node.done .wm-tl-dot { background: #3A3A3C; }
[data-theme="dark"] .wm-tl-node.done .wm-tl-dot { background: #E5E5E5; }
.wm-tl-label { font-size: 10px; color: #9A9AA0; }
.wm-tl-node.done .wm-tl-label { color: #3A3A3C; font-weight: 600; }
[data-theme="dark"] .wm-tl-node.done .wm-tl-label { color: #E0E0E0; }
.wm-tl-time { font-size: 9px; color: #B4B4B8; }
.wm-tl-line { flex: 1; height: 2px; background: #E8E8EA; margin-top: 3px; overflow: hidden; }
[data-theme="dark"] .wm-tl-line { background: #2C2C2F; }
.wm-tl-line i { display: block; height: 100%; background: #8E8E93; }

/* —— 空态 / 弹层 —— */
.wm-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; color: #9A9AA0; font-size: 13.5px; padding-top: 30%; }
.wm-empty-ic { font-size: 34px; }
.wm-empty-sub { font-size: 11.5px; color: #B4B4B8; }
.wm-empty-btn {
  margin-top: 6px; border: none; border-radius: 99px;
  background: #3A3A3C; color: #FFF; padding: 9px 22px; font-size: 13px; cursor: pointer;
}
[data-theme="dark"] .wm-empty-btn { background: #E5E5E5; color: #141416; }

.wm-sheet-mask {
  position: fixed; inset: 0; z-index: 999;
  background: rgba(0, 0, 0, 0.45);
  display: flex; align-items: flex-end; justify-content: center;
}
.wm-sheet {
  width: 100%; max-width: 420px; max-height: 78vh; overflow-y: auto;
  background: #FFF; border-radius: 18px 18px 0 0;
  padding: 14px 0 18px;
  animation: wmSheetUp 0.22s ease;
}
[data-theme="dark"] .wm-sheet { background: #1C1C1E; }
@keyframes wmSheetUp { from { transform: translateY(30px); opacity: 0.4; } to { transform: none; opacity: 1; } }
.wm-sheet-title { font-size: 16px; font-weight: 700; color: #2E2E30; padding: 2px 18px 4px; }
[data-theme="dark"] .wm-sheet-title { color: #E8E8E8; }
.wm-sheet-sub { font-size: 12px; color: #9A9AA0; padding: 0 18px 10px; }
.wm-sheet-list { display: flex; flex-direction: column; }
.wm-char-item {
  display: flex; align-items: center; gap: 10px;
  border: none; background: none; padding: 11px 18px;
  cursor: pointer; text-align: left;
}
.wm-char-item:active { background: #F5F5F5; }
[data-theme="dark"] .wm-char-item:active { background: #26262A; }
.wm-char-avatar { flex: none; display: flex; }
.wm-char-name { flex: 1; min-width: 0; font-size: 13.5px; color: #2E2E30; }
[data-theme="dark"] .wm-char-name { color: #E0E0E0; }
.wm-char-arrow { color: #C4C4C8; }

.wm-cart-row {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 18px; border-bottom: 1px solid #F4F4F5;
}
[data-theme="dark"] .wm-cart-row { border-color: #262628; }
.wm-cart-row-art { font-size: 17px; }
.wm-cart-row-name { flex: 1; min-width: 0; font-size: 13px; color: #3A3A3C; }
[data-theme="dark"] .wm-cart-row-name { color: #CCC; }
.wm-cart-row-price { font-size: 12.5px; color: #6E6E73; }
.wm-cart-sheet-foot {
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 18px 0;
}
.wm-cart-sheet-total { font-size: 14px; font-weight: 700; color: #2E2E30; }
[data-theme="dark"] .wm-cart-sheet-total { color: #E8E8E8; }

/* 评价 */
.wm-rate-row { display: flex; gap: 10px; padding: 8px 18px 4px; }
.wm-rate-btn {
  flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px;
  border: 1px solid #E0E0E2; background: #FFF; color: #6E6E73;
  border-radius: 12px; padding: 14px 0; font-size: 12px; cursor: pointer;
}
[data-theme="dark"] .wm-rate-btn { background: #262629; border-color: #343438; color: #9A9AA0; }
.wm-rate-btn span { font-size: 19px; }

/* 配送轨迹弹层 */
.wm-logi-sheet { display: flex; flex-direction: column; max-height: 78vh; }
.wm-logi-head { font-size: 12.5px; font-weight: 600; color: #3A3A3C; padding: 0 18px 10px; }
[data-theme="dark"] .wm-logi-head { color: #D8D8D8; }
.wm-logi-timeline { overflow-y: auto; padding: 4px 18px 8px; }
.wm-logi-node { display: flex; gap: 10px; position: relative; padding-bottom: 16px; }
.wm-logi-node::before {
  content: ''; position: absolute; left: 5px; top: 14px; bottom: 0;
  width: 2px; background: #E5E5E7;
}
[data-theme="dark"] .wm-logi-node::before { background: #333336; }
.wm-logi-node:last-child::before { display: none; }
.wm-logi-node.on::before { background: #8E8E93; }
.wm-logi-dot {
  flex: none; width: 12px; height: 12px; border-radius: 50%;
  background: #E5E5E7; margin-top: 2px; position: relative; z-index: 1;
}
[data-theme="dark"] .wm-logi-dot { background: #3A3A3D; }
.wm-logi-node.on .wm-logi-dot { background: #3A3A3C; box-shadow: 0 0 0 3px rgba(58, 58, 60, 0.15); }
[data-theme="dark"] .wm-logi-node.on .wm-logi-dot { background: #E5E5E5; }
.wm-logi-node-body { flex: 1; min-width: 0; }
.wm-logi-node-label { font-size: 13px; font-weight: 600; color: #9A9AA0; }
.wm-logi-node.on .wm-logi-node-label { color: #2E2E30; }
[data-theme="dark"] .wm-logi-node.on .wm-logi-node-label { color: #E0E0E0; }
.wm-logi-node-sub { font-size: 11px; color: #B4B4B8; margin-top: 2px; }
.wm-logi-node-time { font-size: 11px; color: #C8C8CC; margin-top: 3px; }

/* 下单成功 */
.wm-success-mask {
  position: fixed; inset: 0; z-index: 999;
  background: rgba(20, 20, 22, 0.55);
  display: flex; align-items: center; justify-content: center;
}
.wm-success {
  width: 300px; background: #FFF; border-radius: 18px;
  padding: 26px 22px 20px; text-align: center;
  animation: wmSheetUp 0.22s ease;
}
[data-theme="dark"] .wm-success { background: #1E1E21; }
.wm-success-ic { font-size: 40px; }
.wm-success-title { font-size: 16px; font-weight: 700; color: #2E2E30; margin-top: 10px; }
[data-theme="dark"] .wm-success-title { color: #E8E8E8; }
.wm-success-sub { font-size: 12px; color: #9A9AA0; margin-top: 5px; }
.wm-success-amt { font-size: 20px; font-weight: 800; color: #2E2E30; margin-top: 8px; }
[data-theme="dark"] .wm-success-amt { color: #FFF; }
.wm-success-actions { display: flex; gap: 10px; margin-top: 18px; }
.wm-success-btn {
  flex: 1; border: none; border-radius: 99px; padding: 10px 0;
  font-size: 13px; font-weight: 600; cursor: pointer;
}
.wm-success-btn.main { background: #3A3A3C; color: #FFF; }
[data-theme="dark"] .wm-success-btn.main { background: #E5E5E5; color: #141416; }
.wm-success-btn.ghost { background: #F0F0F2; color: #5A5A5E; }
[data-theme="dark"] .wm-success-btn.ghost { background: #26262A; color: #AAA; }

/* —— 深色适配补全 —— */
[data-theme="dark"] .wm-menu-group-title, [data-theme="dark"] .wm-checkout-item-name { color: #D8D8D8; }

/* ============================================================
   v579：无 emoji 化——插画/图标尺寸适配
   ============================================================ */
.wm-art { display: block; }
.wm-shop-logo .wm-art { width: 30px; height: 30px; }
.wm-item-art .wm-art, .wm-order-art .wm-art { width: 26px; height: 26px; }
.wm-cart-row-art .wm-art, .wm-checkout-item-art .wm-art { width: 20px; height: 20px; }
.wm-ico { display: inline-flex; align-items: center; justify-content: center; }
.wm-invite-art .wm-ico { width: 20px; height: 20px; }
.wm-running-ic .wm-ico, .wm-od-logi-ic .wm-ico, .wm-cartbar-ic .wm-ico, .wm-success-ic .wm-ico { width: 20px; height: 20px; }
.wm-od-status-icon .wm-ico { width: 26px; height: 26px; }
.wm-od-char-ic .wm-ico { width: 18px; height: 18px; }
.wm-love-ic .wm-ico { width: 12px; height: 12px; }
.wm-pick-ic .wm-ico { width: 15px; height: 15px; }
.wm-addr-ic .wm-ico { width: 16px; height: 16px; }
.wm-empty-ic .wm-ico { width: 32px; height: 32px; }
.wm-rate-btn span { font-size: 14px; }
.wm-checkout-shop-logo { font-size: 15px; font-weight: 600; }
/* 聊天外卖卡插画 */
.msg-card-wm-logo .wm-art, .msg-card-wm-item .wm-art, .msg-card-wm-cover .wm-art { width: 22px; height: 22px; }

/* ============================================================
   v579 二期：统计页 / 拼单 / 附加样式
   ============================================================ */
.wm-nav-fav {
  border: 1px solid #D8D8DC; background: #FFF; color: #5A5A5E;
  border-radius: 99px; padding: 4px 12px; font-size: 12px; cursor: pointer;
}
[data-theme="dark"] .wm-nav-fav { background: #262629; border-color: #3A3A3D; color: #AAA; }

/* 统计页 */
.wm-stats { padding: 12px; }
.wm-stats-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.wm-stat {
  background: #FFF; border: 1px solid #ECECEC; border-radius: 14px;
  padding: 16px 14px; text-align: center;
}
[data-theme="dark"] .wm-stat { background: #1C1C1E; border-color: #2A2A2C; }
.wm-stat-num { font-size: 18px; font-weight: 800; color: #2E2E30; }
[data-theme="dark"] .wm-stat-num { color: #E8E8E8; }
.wm-stat-label { font-size: 11.5px; color: #9A9AA0; margin-top: 4px; }
.wm-stats-sec-title {
  font-size: 13.5px; font-weight: 700; color: #3A3A3C;
  margin: 18px 2px 8px;
}
[data-theme="dark"] .wm-stats-sec-title { color: #D8D8D8; }
.wm-stats-shops, .wm-stats-chars {
  background: #FFF; border: 1px solid #ECECEC; border-radius: 14px;
  padding: 4px 14px;
}
[data-theme="dark"] .wm-stats-shops, [data-theme="dark"] .wm-stats-chars { background: #1C1C1E; border-color: #2A2A2C; }
.wm-stats-shop {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 0; border-bottom: 1px solid #F4F4F5;
}
[data-theme="dark"] .wm-stats-shop { border-color: #262628; }
.wm-stats-shop:last-child { border-bottom: none; }
.wm-stats-rank {
  width: 20px; height: 20px; border-radius: 6px; flex: none;
  background: #3A3A3C; color: #FFF; font-size: 11px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
[data-theme="dark"] .wm-stats-rank { background: #E5E5E5; color: #141416; }
.wm-stats-shop-name { flex: 1; min-width: 0; font-size: 13px; color: #2E2E30; }
[data-theme="dark"] .wm-stats-shop-name { color: #E0E0E0; }
.wm-stats-shop-n { font-size: 12px; color: #9A9AA0; }
.wm-stats-char {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 0; border-bottom: 1px solid #F4F4F5;
}
[data-theme="dark"] .wm-stats-char { border-color: #262628; }
.wm-stats-char:last-child { border-bottom: none; }
.wm-stats-char-avatar { flex: none; display: flex; }
.wm-stats-char-mid { flex: 1; min-width: 0; }
.wm-stats-char-name { font-size: 13px; font-weight: 600; color: #2E2E30; }
[data-theme="dark"] .wm-stats-char-name { color: #E0E0E0; }
.wm-stats-char-sub { font-size: 11px; color: #9A9AA0; margin-top: 2px; }
.wm-stats-char-sub.right { text-align: right; flex: none; }
.wm-stats-foot { text-align: center; font-size: 11px; color: #B4B4B8; padding: 20px 0 8px; }

/* 拼单 owner 标签 */
.wm-item-owner {
  font-size: 9.5px; color: #6E6E73; background: #EDEDEF;
  border-radius: 4px; padding: 1px 5px; font-weight: 400; margin-left: 5px;
}
[data-theme="dark"] .wm-item-owner { background: #2C2C2F; color: #AAA; }

/* 聊天拼单卡 */
.msg-card-wm-joined {
  font-size: 11.5px; color: #4A4A4D; background: #F5F5F5;
  border-radius: 8px; padding: 6px 9px; margin-top: 6px;
}
[data-theme="dark"] .msg-card-wm-joined { background: #242428; color: #BBB; }
.msg-card-wm-joined.wait { color: #9A9AA0; }
