
/* ============================================================
   水滴链商 - 公安蓝专业主题 (浅色 + 大字体)
   主题色可通过后台「首页装修→主题色」随时更换
   ============================================================ */
:root {
  --bg-page: #f0f4f8;
  --bg-card: #ffffff;
  --bg-input: #f8fafc;
  --bg-dark: #0f172a;
  --border: #e2e8f0;
  --border-focus: #2563eb;
  --text-primary: #1e293b;
  --text-secondary: #64748b;
  --text-muted: #94a3b8;
  --text-inverse: #ffffff;
  --accent: #2563eb;
  --accent-light: #eff6ff;
  --accent-dark: #1d4ed8;
  --red: #dc2626;
  --green: #16a34a;
  --gold: #f59e0b;
  --orange: #ea580c;
  --cyan: #06b6d4;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.08);
  --shadow-lg: 0 8px 30px rgba(0,0,0,0.1);
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --font-xs: 13px;
  --font-sm: 15px;
  --font-md: 17px;
  --font-lg: 20px;
  --font-xl: 26px;
  --font-xxl: 34px;
  --card-padding: 16px;
  --gap-xs: 6px;
  --gap-sm: 8px;
  --gap-md: 12px;
  --gap-lg: 20px;
  --btn-height: 48px;
  --header-h: 56px;
  --safe-bottom: env(safe-area-inset-bottom, 16px);
}
* { margin: 0; padding: 0; box-sizing: border-box;
}
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
  background: var(--bg-page);
  color: var(--text-primary);
  font-size: var(--font-sm);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
#app-root {
  min-height: 100vh;
  padding-bottom: env(safe-area-inset-bottom);
  max-width: 480px;
  margin: 0 auto;
  background: var(--bg-page);
  position: relative;
}

/* ========== 通用组件 ========== */
button { border: none; border-radius: var(--radius-sm); cursor: pointer; font-size: var(--font-sm); font-weight: 600; transition: all 0.25s;
}
button:active { transform: scale(0.96);
}
input, textarea, select {
  font-size: var(--font-sm);
  background: var(--bg-input);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
  padding: 12px 16px;
  outline: none;
  width: 100%;
  box-sizing: border-box;
  transition: border 0.3s, box-shadow 0.3s;
}
input:focus, textarea:focus {
  border-color: var(--border-focus);
  box-shadow: 0 0 0 3px rgba(37,99,235,0.1);
}

/* ========== Tab Bar ========== */
.tab-bar {
  position: fixed;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 24px);
  max-width: 440px;
  z-index: 1000;
}
.tab-inner {
  display: flex;
  background: rgba(255,255,255,0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: var(--radius-lg);
  padding: 6px 8px;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--border);
}
.tab-item {
  flex: 1;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 6px 0; cursor: pointer; position: relative;
  transition: all 0.3s ease;
  -webkit-tap-highlight-color: transparent;
}
.tab-icon-box {
  width: 42px; height: 42px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.3s; color: var(--text-muted); margin-bottom: 3px; font-size: 22px;
}
.tab-icon-box.active {
  color: #fff;
  background: var(--accent);
  box-shadow: 0 4px 12px rgba(37,99,235,0.3);
  transform: translateY(-3px);
}
.tab-icon-svg { display: flex; align-items: center; justify-content: center; transition: transform 0.3s;
}
.tab-item:active .tab-icon-svg { transform: scale(0.88);
}
.tab-text { font-size: 12px; font-weight: 500; color: var(--text-muted); transition: color 0.3s;
}
.tab-item.active .tab-text { color: var(--accent); font-weight: 700;
}
.tab-dot {
  position: absolute; bottom: -2px; width: 6px; height: 6px;
  border-radius: 50%; background: var(--accent); animation: dotIn 0.4s ease;
}
@keyframes dotIn {
from {transform:scale(0);opacity:0}
to {transform:scale(1);opacity:1}
}

/* ========== 动画 ========== */
@keyframes fadeInUp {
from {opacity:0;transform:translateY(20px)}
to {opacity:1;transform:translateY(0)}
}
.animate-in { animation: fadeInUp 0.5s ease forwards;
}

/* 滚动条 */
::-webkit-scrollbar { width: 4px;
}
::-webkit-scrollbar-track { background: transparent;
}
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px;
}

/* ========== Auth Toast ========== */
.auth-toast {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(220, 38, 38, 0.92);
  color: #fff;
  padding: 12px 24px;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 600;
  z-index: 9999;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(220, 38, 38, 0.35);
  animation: authToastIn 0.3s ease;
  white-space: nowrap;
}
@keyframes authToastIn {
from { opacity: 0; transform: translateX(-50%) translateY(-10px);
}
to { opacity: 1; transform: translateX(-50%) translateY(0);
}
}

/* 首页 - 浅色专业风 */
.page[data-v-d4675eb0] { padding-bottom: 80px; max-width: 480px; margin: 0 auto; min-height: 100vh; background: transparent; position: relative;
}
.guest-bar[data-v-d4675eb0] { display: flex; align-items: center; justify-content: space-between; padding: var(--radius-md) 1var(--gap-sm); font-size: 16px; font-weight: 600; background: var(--accent); color: var(--bg-card); margin: var(--gap-md); border-radius: var(--radius-md); box-shadow: 0 4px 16px rgba(37,99,235,0.25);
}
.guest-text[data-v-d4675eb0] { font-size: 16px;
}
.guest-login-btn[data-v-d4675eb0] { background: rgba(255,255,255,0.25); color: var(--bg-card); border: 1px solid rgba(255,255,255,0.4); border-radius: var(--gap-lg); padding: var(--gap-sm) var(--gap-lg); font-size: var(--font-sm); font-weight: 600; cursor: pointer;
}
.sk-banner[data-v-d4675eb0] { height: 180px; background: linear-gradient(90deg,var(--border) 25%,#f1f5f9 50%,var(--border) 75%); background-size:200% 100%; animation:sk-d4675eb0 1.5s infinite; border-radius:var(--radius-md); margin:var(--gap-md);
}
.sk-row[data-v-d4675eb0] { display:flex;align-items:center;gap:var(--radius-md);padding:1var(--gap-sm);background:var(--bg-card);margin:var(--gap-sm) var(--gap-md);border-radius:var(--radius-md);
}
.sk-circle[data-v-d4675eb0] { width:44px;height:44px;border-radius:50%;background:var(--border);
}
.sk-line[data-v-d4675eb0] { flex:1;height:1var(--gap-sm);background:var(--border);border-radius:4px;
}
.sk-grid[data-v-d4675eb0] { display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:var(--gap-sm) var(--gap-md);
}
.sk-card[data-v-d4675eb0] { height:150px;background:var(--border);border-radius:var(--radius-md);
}
@keyframes sk-d4675eb0 {
0%{background-position:200% 0}
100%{background-position:-200% 0}
}
.notice-bar-global[data-v-d4675eb0] { display:flex;align-items:center;padding:var(--radius-md) 1var(--gap-sm);font-size:16px;overflow:hidden;white-space:nowrap;background:var(--accent-light);border:1px solid rgba(37,99,235,0.15);border-radius:var(--radius-md);margin:var(--gap-md);color:var(--accent);
}
.notice-icon[data-v-d4675eb0] { margin-right:10px;font-size:1var(--gap-sm);
}
.notice-text[data-v-d4675eb0] { overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size: var(--font-sm);
}
.section-block[data-v-d4675eb0] { background:var(--bg-card);border-radius:var(--radius-lg);margin:var(--radius-md) var(--gap-md);padding:0 0 16px 0;box-shadow:var(--shadow-md);overflow:hidden;
}
.section-header[data-v-d4675eb0] { display:flex;justify-content:space-between;align-items:center;padding:1var(--gap-sm) 1var(--gap-sm) var(--gap-md) 1var(--gap-sm);
}
.section-title-wrap[data-v-d4675eb0] { display:flex;align-items:center;gap:10px;
}
.section-title-bar[data-v-d4675eb0] { width:4px;height:22px;border-radius:2px;background:var(--accent);
}
.section-title-text[data-v-d4675eb0] { font-size: var(--font-lg);font-weight:700;color:var(--text-primary);letter-spacing:0.5px;
}
.section-more[data-v-d4675eb0] { font-size: var(--font-sm);color:var(--accent);cursor:pointer;font-weight:500;
}
.seckill-countdown[data-v-d4675eb0] { font-size:16px;font-weight:700;color:var(--red);
}
.banner-wrap[data-v-d4675eb0] { position:relative;overflow:hidden;border-radius:var(--radius-md);margin:0 var(--gap-md);
}
.banner-track[data-v-d4675eb0] { display:flex;transition:transform 0.5s ease;
}
.banner-slide[data-v-d4675eb0] { min-width:100%;cursor:pointer;
}
.banner-img[data-v-d4675eb0] { width:100%;height:100%;object-fit:cover;display:block;
}
.banner-dots[data-v-d4675eb0] { position:absolute;bottom:var(--radius-md);left:50%;transform:translateX(-50%);display:flex;gap:var(--gap-sm);
}
.banner-dot[data-v-d4675eb0] { width:var(--gap-sm);height:var(--gap-sm);border-radius:50%;background:rgba(255,255,255,0.5);cursor:pointer;transition:all 0.3s;
}
.banner-dot.active[data-v-d4675eb0] { background:var(--accent);box-shadow:0 0 var(--gap-sm) var(--accent);width:24px;border-radius:4px;
}
.notice-inline[data-v-d4675eb0] { display:flex;align-items:center;gap:10px;padding:var(--gap-md) 16px;margin:0 16px;background:var(--accent-light);border-radius:var(--radius-sm);font-size:16px;color:var(--text-primary);
}
.notice-i[data-v-d4675eb0] { font-size: var(--font-lg);
}
.notice-t[data-v-d4675eb0] { font-size:16px;
}
.signin-card[data-v-d4675eb0] { display:flex;align-items:center;justify-content:space-between;padding:1var(--gap-sm) var(--gap-lg);margin:0 16px;background:var(--accent-light);border:1px solid rgba(37,99,235,0.12);border-radius:var(--radius-md);
}
.signin-title[data-v-d4675eb0] { font-size: var(--font-lg);font-weight:700;color:var(--text-primary);
}
.signin-sub[data-v-d4675eb0] { font-size: var(--font-sm);color:var(--text-secondary);margin-top:4px;
}
.signin-btn[data-v-d4675eb0] { background:var(--accent);color:var(--bg-card);border:none;border-radius:22px;padding:10px 24px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px var(--gap-md) rgba(37,99,235,0.25);
}
.cat-nav[data-v-d4675eb0] { display:grid;gap:var(--radius-md);padding:var(--gap-sm) var(--gap-lg);
}
.cat-item[data-v-d4675eb0] { display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:transform 0.3s;
}
.cat-item[data-v-d4675eb0]:active { transform:scale(0.92);
}
.cat-icon-wrap[data-v-d4675eb0] { width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--accent-light);
}
.cat-icon[data-v-d4675eb0] { font-size: var(--font-xl);
}
.cat-label[data-v-d4675eb0] { font-size: var(--font-sm);color:var(--text-secondary);font-weight:500;
}
.seckill-wrap[data-v-d4675eb0] { padding:var(--radius-md);margin:0 var(--gap-md);background:#fef2f2;border-radius:var(--radius-md);border:1px solid #fecaca;
}
.seckill-item[data-v-d4675eb0] { display:flex;align-items:center;gap:var(--radius-md);padding:var(--gap-md) 0;
}
.seckill-item+.seckill-item[data-v-d4675eb0] { border-top:1px solid #fee2e2;
}
.seckill-img[data-v-d4675eb0],.seckill-img-placeholder[data-v-d4675eb0] { width:72px;height:72px;border-radius:var(--radius-sm);object-fit:cover;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--text-muted);
}
.seckill-info[data-v-d4675eb0] { flex:1;
}
.seckill-name[data-v-d4675eb0] { font-size: var(--font-md);font-weight:600;color:var(--text-primary);
}
.seckill-price[data-v-d4675eb0] { font-size: var(--font-lg);font-weight:700;color:var(--red);margin-top:4px;
}
.seckill-buy[data-v-d4675eb0] { background:var(--red);color:var(--bg-card);border:none;border-radius:var(--gap-lg);padding:var(--gap-sm) 1var(--gap-sm);font-size: var(--font-sm);font-weight:600;cursor:pointer;
}
.coupon-scroll[data-v-d4675eb0] { display:flex;gap:12px;overflow-x:auto;padding:8px 12px; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory;
}
.coupon-card[data-v-d4675eb0] { min-width:280px; border-radius:12px; overflow:hidden; cursor:pointer; border:2px solid #e8e8e8; scroll-snap-align:start; position:relative; transition:all 0.2s ease; box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.coupon-card[data-v-d4675eb0]:active { transform:scale(0.97); box-shadow:0 6px 20px rgba(0,0,0,0.12);
}
.coupon-tag[data-v-d4675eb0] { position:absolute; top:8px; left:8px; z-index:2; padding:2px 8px; border-radius:4px; font-size:10px; color:#fff; font-weight:600; letter-spacing:0.5px;
}
.coupon-code[data-v-d4675eb0] { position:absolute; top:8px; right:8px; z-index:2; font-size:10px; color:#999; font-family:"Courier New",monospace; letter-spacing:1px;
}
.coupon-ripple[data-v-d4675eb0] { position:absolute; top:-30px; right:-30px; width:80px; height:80px; border:2px solid; border-radius:50%; opacity:0.15;
}
.coupon-body[data-v-d4675eb0] { display:flex; padding:20px 12px 14px; gap:12px; position:relative; z-index:1;
}
.coupon-left-v2[data-v-d4675eb0] { width:66px; height:66px; border-radius:12px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; flex-shrink:0; box-shadow:0 4px 12px rgba(0,0,0,0.15);
}
.coupon-currency[data-v-d4675eb0] { font-size:12px; font-weight:500; margin-bottom:-2px;
}
.coupon-amount[data-v-d4675eb0] { font-size:24px; font-weight:800; line-height:1;
}
.coupon-right-v2[data-v-d4675eb0] { flex:1; display:flex; flex-direction:column; justify-content:center; gap:4px; overflow:hidden;
}
.coupon-store-name[data-v-d4675eb0] { font-size:15px; font-weight:700; color:#1a1a2e; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.coupon-condition[data-v-d4675eb0] { font-size:12px; color:#666;
}
.coupon-meta[data-v-d4675eb0] { display:flex; align-items:center; justify-content:space-between; margin-top:4px;
}
.coupon-stock[data-v-d4675eb0] { font-size:11px; color:#999;
}
.coupon-claim-btn[data-v-d4675eb0] { font-size:12px; font-weight:600;
}
.coupon-left-count[data-v-d4675eb0]::before { content:'🔥 ';
}
.floor-wrap[data-v-d4675eb0] { padding:var(--radius-md);margin:0 var(--gap-md);background:var(--bg-input);border-radius:var(--radius-md);
}
.floor-banner[data-v-d4675eb0] { width:100%;border-radius:var(--radius-sm);margin-bottom:var(--gap-md);cursor:pointer;
}
.floor-double[data-v-d4675eb0] { display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
}
.floor-single[data-v-d4675eb0] { display:flex;flex-direction:column;gap:10px;
}
.floor-product[data-v-d4675eb0] { background:var(--bg-card);border-radius:var(--radius-sm);padding:10px;cursor:pointer;transition:transform 0.3s;box-shadow:var(--shadow-sm);
}
.floor-product[data-v-d4675eb0]:active { transform:scale(0.97);
}
.floor-img[data-v-d4675eb0],.floor-img-placeholder[data-v-d4675eb0] { width:100%;height:140px;object-fit:cover;border-radius:6px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:36px;color:var(--text-muted);
}
.floor-name[data-v-d4675eb0] { font-size:16px;font-weight:600;color:var(--text-primary);margin-top:var(--gap-sm);
}
.floor-price[data-v-d4675eb0] { font-size:1var(--gap-sm);font-weight:700;color:var(--red);margin-top:4px;
}
.waterfall[data-v-d4675eb0] { columns:2;column-gap:10px;padding:var(--gap-sm) 1var(--gap-sm);
}
.wf-item[data-v-d4675eb0] { break-inside:avoid;margin-bottom:10px;background:var(--bg-card);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:transform 0.3s;box-shadow:var(--shadow-sm);
}
.wf-item[data-v-d4675eb0]:active { transform:scale(0.97);
}
.wf-img[data-v-d4675eb0],.wf-img-placeholder[data-v-d4675eb0] { width:100%;display:block;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--text-muted);min-height:140px;
}
.wf-info[data-v-d4675eb0] { padding:var(--gap-md);
}
.wf-name[data-v-d4675eb0] { font-size: var(--font-sm);font-weight:600;color:var(--text-primary);
}
.wf-price[data-v-d4675eb0] { font-size:1var(--gap-sm);font-weight:700;color:var(--red);margin-top:4px;
}
.product-scroll[data-v-d4675eb0] { display:flex;gap:var(--gap-md);overflow-x:auto;padding:var(--gap-sm) 1var(--gap-sm);
}
.ps-item[data-v-d4675eb0] { min-width:130px;background:var(--bg-card);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;transition:transform 0.3s;box-shadow:var(--shadow-sm);
}
.ps-item[data-v-d4675eb0]:active { transform:scale(0.97);
}
.ps-img[data-v-d4675eb0],.ps-img-placeholder[data-v-d4675eb0] { width:100%;height:1var(--gap-lg);object-fit:cover;background:#f1f5f9;display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--text-muted);
}
.ps-name[data-v-d4675eb0] { font-size: var(--font-sm);font-weight:600;color:var(--text-primary);padding:var(--gap-sm) 10px 0;
}
.ps-price[data-v-d4675eb0] { font-size: var(--font-md);font-weight:700;color:var(--red);padding:4px 10px var(--gap-sm);
}
.exchange-section[data-v-d4675eb0] { background:var(--bg-card);border-radius:var(--radius-lg);margin:var(--radius-md) var(--gap-md);padding:0 0 16px 0;box-shadow:var(--shadow-md);
}
.exchange-section .section-header[data-v-d4675eb0] { display:flex;justify-content:space-between;align-items:center;padding:1var(--gap-sm) 1var(--gap-sm) var(--gap-md) 1var(--gap-sm);
}
.exchange-section .section-header span[data-v-d4675eb0]:first-child { font-size: var(--font-lg);font-weight:700;color:var(--accent);
}
.exchange-scroll[data-v-d4675eb0] { display:flex;gap:var(--gap-md);overflow-x:auto;padding:var(--gap-sm) 1var(--gap-sm);
}
.exchange-card[data-v-d4675eb0] { min-width:130px;background:var(--accent-light);border:1px solid rgba(37,99,235,0.1);border-radius:var(--radius-sm);padding:var(--gap-md);cursor:pointer;transition:transform 0.3s;
}
.exchange-card[data-v-d4675eb0]:active { transform:scale(0.97);
}
.ex-img[data-v-d4675eb0] { width:100%;height:100px;border-radius:6px;overflow:hidden;background:#f1f5f9;display:flex;align-items:center;justify-content:center;
}
.ex-img-inner[data-v-d4675eb0] { width:100%;height:100%;object-fit:cover;
}
.ex-placeholder[data-v-d4675eb0] { font-size:40px;
}
.ex-name[data-v-d4675eb0] { font-size: var(--font-sm);font-weight:600;color:var(--text-primary);margin-top:var(--gap-sm);
}
.ex-stock[data-v-d4675eb0] { font-size: var(--font-xs);color:var(--text-muted);margin-top:2px;
}
.ex-price[data-v-d4675eb0] { font-size:1var(--gap-sm);font-weight:700;color:var(--accent);margin-top:4px;
}
.ex-unit[data-v-d4675eb0] { font-size:var(--radius-md);
}
.featured-scroll[data-v-d4675eb0] { display:flex;gap:var(--radius-md);overflow-x:auto;padding:var(--gap-sm) 1var(--gap-sm);
}
.featured-card[data-v-d4675eb0] { min-width:240px;background:var(--bg-card);border-radius:var(--radius-md);padding:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border);
}
.fs-name[data-v-d4675eb0] { font-size: var(--font-md);font-weight:700;color:var(--gold);margin-bottom:10px;
}
.fs-products[data-v-d4675eb0] { display:flex;gap:10px;
}
.fs-p-item[data-v-d4675eb0] { width:80px;text-align:center;cursor:pointer;background:var(--bg-input);border-radius:6px;padding:var(--gap-sm);
}
.fs-p-img[data-v-d4675eb0] { width:60px;height:60px;object-fit:cover;border-radius:4px;
}
.fs-p-placeholder[data-v-d4675eb0] { width:60px;height:60px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;border-radius:4px;font-size:16px;color:var(--text-muted);
}
.fs-p-name[data-v-d4675eb0] { font-size: var(--font-xs);color:var(--text-secondary);margin-top:4px;
}
.fs-p-price[data-v-d4675eb0] { font-size:var(--radius-md);font-weight:600;color:var(--red);
}

/* 隐私授权弹窗 */
.consent-overlay[data-v-d4675eb0] { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.6); z-index: 10000; display: flex; align-items: flex-end; justify-content: center;
}
.consent-dialog[data-v-d4675eb0] { background: var(--bg-card); border-radius: var(--gap-lg) var(--gap-lg) 0 0; width: 100%; max-width: 480px; padding: 2var(--gap-sm) 24px var(--gap-lg); animation: slideUp-d4675eb0 0.3s ease;
}
@keyframes slideUp-d4675eb0 {
from { transform: translateY(100%);
}
to { transform: translateY(0);
}
}
.consent-title[data-v-d4675eb0] { font-size: var(--font-lg); font-weight: 700; text-align: center; margin-bottom: 16px; color: var(--text-primary);
}
.consent-body[data-v-d4675eb0] { font-size: var(--font-sm); line-height: 1.7; color: #475569; margin-bottom: var(--gap-lg);
}
.consent-body a[data-v-d4675eb0] { color: var(--accent); text-decoration: underline;
}
.consent-detail[data-v-d4675eb0] { font-size: var(--font-xs); color: var(--text-muted); margin-top: 10px; line-height: 1.6;
}
.consent-btns[data-v-d4675eb0] { display: flex; gap: var(--gap-md);
}
.consent-btn[data-v-d4675eb0] { flex: 1; padding: var(--radius-md); border-radius: var(--gap-md); font-size: 16px; font-weight: 600; border: none; cursor: pointer;
}
.consent-btn.deny[data-v-d4675eb0] { background: #f1f5f9; color: var(--text-secondary);
}
.consent-btn.agree[data-v-d4675eb0] { background: var(--accent); color: var(--bg-card);
}
.consent-btn[data-v-d4675eb0]:active { transform: scale(0.97);
}
.nearby-section[data-v-d4675eb0] { margin: 0 14px 16px; background: var(--bg-card); border-radius: var(--radius-md); padding: var(--card-padding); box-shadow: var(--shadow-sm);
}
.section-title[data-v-d4675eb0] { font-weight: 700; font-size: var(--font-md); color: var(--text-primary);
}
.section-more[data-v-d4675eb0] { font-size: var(--font-xs); color: var(--accent); cursor: pointer;
}
.nearby-scroll[data-v-d4675eb0] { display: flex; gap: var(--gap-md); overflow-x: auto; padding: var(--gap-sm) 0; scroll-snap-type: x mandatory;
}
.nearby-card[data-v-d4675eb0] { min-width: 140px; background: var(--bg-input); border-radius: var(--radius-sm); padding: var(--gap-sm); cursor: pointer; scroll-snap-align: start; display: flex; align-items: center; gap: var(--gap-sm);
}
.nearby-img[data-v-d4675eb0] { width: 100%; height: 100%; object-fit: cover;
}
.nearby-img-wrap[data-v-d4675eb0] { width: 48px; height: 48px; border-radius: var(--radius-sm); background: var(--accent-light); display: flex; align-items: center; justify-content: center; font-size: 24px; flex-shrink: 0;
}
.nearby-name[data-v-d4675eb0] { font-size: var(--font-sm); font-weight: 600; color: var(--text-primary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 90px;
}
.nearby-addr[data-v-d4675eb0] { font-size: var(--font-xs); color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 90px;
}
.nearby-dist[data-v-d4675eb0] { font-size: var(--font-xs); color: var(--accent); font-weight: 600;
}
.brand-slogan[data-v-d4675eb0] { text-align:center; padding:20px 16px 8px;
}
.slogan-line[data-v-d4675eb0] { font-size:20px; font-weight:800; background:linear-gradient(135deg, #07C160, #3B82F6); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.slogan-sub[data-v-d4675eb0] { font-size:14px; color:var(--text-muted); margin-top:4px; letter-spacing:4px;
}


/* Partner Bind Banner */
.partner-bind-banner[data-v-d4675eb0] {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 8px 12px;
  padding: 12px 16px;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border-radius: 12px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(245,158,11,0.2);
  border: 1px solid #fcd34d;
  animation: fadeInUp 0.4s ease;
}
.pbb-icon[data-v-d4675eb0] { font-size: 20px;
}
.pbb-text[data-v-d4675eb0] { flex: 1; font-size: 14px; font-weight: 600; color: #92400e;
}
.pbb-arrow[data-v-d4675eb0] { font-size: 13px; font-weight: 700; color: #d97706; white-space: nowrap;
}

.task-page[data-v-89efb54b]{padding:16px;min-height:100vh;background:#f0f4ff}
.task-header[data-v-89efb54b]{text-align:center;margin-bottom:16px}
.task-header h2[data-v-89efb54b]{font-size:22px;color:#1e293b;margin:0}
.task-sub[data-v-89efb54b]{font-size:13px;color:#94a3b8;margin:4px 0 0}
.task-info[data-v-89efb54b]{background:#fff;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:12px;color:#64748b;line-height:1.6}
.info-title[data-v-89efb54b]{font-weight:700;color:#1e293b;margin-bottom:4px}
.task-list[data-v-89efb54b]{display:flex;flex-direction:column;gap:12px}
.task-card[data-v-89efb54b]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,0.04)}
.task-left[data-v-89efb54b]{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.task-icon[data-v-89efb54b]{font-size:32px}
.task-info-col[data-v-89efb54b]{flex:1}
.task-name[data-v-89efb54b]{font-size:16px;font-weight:700;color:#1e293b}
.task-desc[data-v-89efb54b]{font-size:12px;color:#94a3b8;margin-top:2px}
.task-right[data-v-89efb54b]{display:flex;align-items:center}
.task-status-badge[data-v-89efb54b]{font-size:12px;padding:4px 10px;border-radius:10px;font-weight:600}
.task-status-badge.active[data-v-89efb54b]{background:#fef3c7;color:#d97706}
.task-status-badge.done[data-v-89efb54b]{background:#f0fdf4;color:#10b981}
.task-status-badge.locked[data-v-89efb54b]{background:#f1f5f9;color:#94a3b8}
.task-progress[data-v-89efb54b]{margin:8px 0}
.progress-bar[data-v-89efb54b]{height:4px;background:#e2e8f0;border-radius:2px;overflow:hidden}
.progress-fill[data-v-89efb54b]{height:100%;background:linear-gradient(90deg,#d97706,#f59e0b);border-radius:2px;transition:width 0.3s}
.task-btn[data-v-89efb54b]{width:100%;padding:15px;border-radius:28px;font-size:15px;font-weight:700;cursor:pointer;border:none;transition:all 0.2s}
.task-btn.active[data-v-89efb54b]{background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;box-shadow:0 4px 16px rgba(217,119,6,0.3)}
.task-btn.done[data-v-89efb54b]{background:#f0fdf4;color:#10b981;cursor:default}
.task-btn.locked[data-v-89efb54b]{background:#f1f5f9;color:#94a3b8;cursor:default}
.task-btn[data-v-89efb54b]:active:not(:disabled){transform:scale(0.97)}
.task-reward[data-v-89efb54b]{text-align:center;font-size:12px;color:#d97706;font-weight:600;margin-top:8px}
.article-panel[data-v-89efb54b]{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:2000;overflow-y:auto}
.article-panel-header[data-v-89efb54b]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #e2e8f0;font-size:18px;font-weight:700}
.ap-close[data-v-89efb54b]{background:none;border:none;font-size:24px;color:#94a3b8;cursor:pointer}
.article-panel-hint[data-v-89efb54b]{text-align:center;padding:12px;font-size:13px;color:#64748b;background:#f8fafc}
.article-list[data-v-89efb54b]{padding:8px 16px}
.article-item[data-v-89efb54b]{padding:14px;border-bottom:1px solid #f1f5f9;cursor:pointer;border-radius:8px;margin-bottom:4px}
.article-item[data-v-89efb54b]:active{background:#f1f5f9}
.ai-title[data-v-89efb54b]{font-size:15px;font-weight:600;color:#1e293b}
.ai-digest[data-v-89efb54b]{font-size:12px;color:#94a3b8;margin-top:4px}
.reading-pill[data-v-89efb54b]{animation:pillIn-89efb54b 0.3s ease}
@keyframes pillIn-89efb54b{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.pill-inner[data-v-89efb54b]{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);border-radius:20px;padding:8px 14px;box-shadow:0 4px 20px rgba(0,0,0,0.1)}
.pill-inner.paused[data-v-89efb54b]{background:rgba(254,243,199,0.95)}
.pill-icon[data-v-89efb54b]{font-size:18px}
.pill-bar-wrap[data-v-89efb54b]{flex:1;min-width:60px}
.pill-bar[data-v-89efb54b]{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}
.pill-bar-fill[data-v-89efb54b]{height:100%;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:3px;transition:width 0.5s}
.pill-bar-fill.paused[data-v-89efb54b]{background:#d97706}
.pill-time[data-v-89efb54b]{font-size:12px;font-weight:700;color:#64748b;white-space:nowrap}
.pill-time.done[data-v-89efb54b]{color:#10b981}
.pill-btn[data-v-89efb54b]{font-size:11px;padding:4px 12px;border-radius:12px;border:none;background:#3b82f6;color:#fff;font-weight:600;cursor:pointer}
.pill-btn.resume[data-v-89efb54b]{background:#d97706}
.pill-close[data-v-89efb54b]{background:none;border:none;font-size:16px;color:#94a3b8;cursor:pointer}
.sim-overlay[data-v-89efb54b]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.7);z-index:1000;display:flex;align-items:center;justify-content:center}
.sim-card[data-v-89efb54b]{background:#fff;border-radius:20px;padding:40px 30px;text-align:center;max-width:340px;width:90%}
.sim-icon[data-v-89efb54b]{font-size:56px;margin-bottom:16px}
.sim-title[data-v-89efb54b]{font-size:20px;font-weight:700;color:#1e293b;margin-bottom:8px}
.sim-timer[data-v-89efb54b]{font-size:36px;font-weight:800;color:#d97706;margin-bottom:12px}
.sim-hint[data-v-89efb54b]{font-size:12px;color:#94a3b8;margin-bottom:16px}
.sim-btn[data-v-89efb54b]{width:100%;padding:14px;border-radius:25px;border:none;background:linear-gradient(135deg,#d97706,#f59e0b);color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.sim-btn[data-v-89efb54b]:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}
.toast-bar[data-v-89efb54b]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.8);color:#fff;padding:12px 24px;border-radius:25px;font-size:14px;z-index:99999;white-space:nowrap}

.page[data-v-0f406a42] { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.page[data-v-818e484c] { min-height:100vh; background:#f0f4ff; padding-bottom:80px;
}
.profile-hero[data-v-818e484c] { position:relative; margin-bottom:16px;
}
.hero-bg[data-v-818e484c] { position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(160deg,#3b82f6,#1d4ed8); border-radius:0 0 28px 28px;
}
.hero-content[data-v-818e484c] { position:relative; z-index:1; padding:28px 20px; text-align:center; color:#fff;
}
.hero-avatar[data-v-818e484c] { width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; font-size:30px; margin:0 auto 10px; cursor:pointer; overflow:hidden;
}
.hero-avatar[data-v-818e484c]:active { opacity:0.7;
}
.avatar-img[data-v-818e484c] { width:100%; height:100%; object-fit:cover; border-radius:50%;
}
.hero-name[data-v-818e484c] { font-size:18px; font-weight:700; cursor:pointer;
}
.edit-hint[data-v-818e484c] { font-size:12px; opacity:0.5;
}
.nick-input[data-v-818e484c] { background:rgba(255,255,255,0.2); border:none; color:#fff; font-size:18px; font-weight:700; text-align:center; border-radius:8px; padding:4px 8px; width:80%; outline:none;
}
.hero-role[data-v-818e484c] { font-size:13px; opacity:0.85; margin-top:4px; padding:2px 12px; background:rgba(255,255,255,0.15); border-radius:10px; display:inline-block;
}
.hero-id[data-v-818e484c] { font-size:12px; opacity:0.7; margin-top:6px;
}
.asset-row[data-v-818e484c] { display:flex; gap:10px; padding:0 14px; margin-bottom:16px;
}
.asset-card[data-v-818e484c] { flex:1; background:#fff; border-radius:14px; padding:16px 10px; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,0.04);
}
.asset-card.clickable[data-v-818e484c] { cursor:pointer; transition:all .2s;
}
.asset-card.clickable[data-v-818e484c]:active { transform:scale(0.95);
}
.asset-num[data-v-818e484c] { font-size:22px; font-weight:800; color:#1e293b;
}
.asset-num.blue[data-v-818e484c] { color:#3b82f6;
}
.asset-num.purple[data-v-818e484c] { color:#8b5cf6;
}
.asset-label[data-v-818e484c] { font-size:12px; color:#64748b; margin-top:4px; font-weight:500;
}
.quick-actions[data-v-818e484c] { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; padding:0 14px; margin-bottom:16px;
}
.qa-item[data-v-818e484c] { display:flex; flex-direction:column; align-items:center; gap:6px; background:#fff; border-radius:14px; padding:16px 6px; cursor:pointer; box-shadow:0 1px 4px rgba(0,0,0,0.03); transition:all .2s;
}
.qa-item[data-v-818e484c]:active { transform:scale(0.93); background:#eff6ff;
}
.qa-icon[data-v-818e484c] { font-size:22px;
}
.qa-text[data-v-818e484c] { font-size:13px; font-weight:600; color:#1e293b;
}
.section[data-v-818e484c] { background:#fff; border-radius:16px; padding:18px; margin:0 14px 14px; box-shadow:0 1px 4px rgba(0,0,0,0.03);
}
.sec-header[data-v-818e484c] { display:flex; align-items:center; gap:8px; font-size:15px; font-weight:700; color:#1e293b;
}
.sec-header.clickable[data-v-818e484c] { cursor:pointer;
}
.sec-icon[data-v-818e484c] { font-size:18px;
}
.sec-title[data-v-818e484c] { font-size:15px; font-weight:700;
}
.sec-badge[data-v-818e484c] { background:#ef4444; color:#fff; font-size:12px; padding:1px 8px; border-radius:10px; margin-left:4px;
}
.sec-arrow[data-v-818e484c] { margin-left:auto; font-size:12px; color:#94a3b8;
}
.sec-desc[data-v-818e484c] { font-size:13px; color:#64748b; line-height:1.6; margin-top:8px; margin-bottom:12px;
}
.sec-hint[data-v-818e484c] { font-size:12px; color:#94a3b8;
}
.role-entry[data-v-818e484c] { display:flex; flex-direction:column; gap:8px; margin-top:12px;
}
.btn-enter[data-v-818e484c] { width:100%; padding:14px; border:none; border-radius:12px; font-size:14px; font-weight:700; color:#fff; cursor:pointer; transition:all .2s;
}
.btn-enter[data-v-818e484c]:active { transform:scale(0.97);
}
.partner-btn[data-v-818e484c] { background:linear-gradient(135deg,#f59e0b,#d97706); box-shadow:0 3px 12px rgba(217,119,6,0.3);
}
.ai-btn[data-v-818e484c] { background:linear-gradient(135deg,#8b5cf6,#7c3aed); box-shadow:0 3px 12px rgba(124,58,237,0.3);
}
.agent-btn[data-v-818e484c] { background:linear-gradient(135deg,#6366f1,#4f46e5); box-shadow:0 3px 12px rgba(99,102,241,0.3);
}
.upgrade-btns[data-v-818e484c] { display:flex; gap:10px;
}
.btn-up[data-v-818e484c] { flex:1; padding:14px; border:none; border-radius:14px; font-size:13px; font-weight:700; cursor:pointer; text-align:center; color:#fff; transition:all .2s;
}
.btn-up[data-v-818e484c]:active { transform:scale(0.96);
}
.btn-up small[data-v-818e484c] { display:block; font-size:11px; font-weight:400; opacity:0.8; margin-top:2px;
}
.btn-up.partner[data-v-818e484c] { background:linear-gradient(135deg,#f59e0b,#d97706); box-shadow:0 3px 12px rgba(217,119,6,0.3);
}
.btn-up.agent[data-v-818e484c] { background:linear-gradient(135deg,#8b5cf6,#7c3aed); box-shadow:0 3px 12px rgba(124,58,237,0.3);
}
.btn-up.merchant[data-v-818e484c] { background:linear-gradient(135deg,#10b981,#059669); box-shadow:0 3px 12px rgba(16,185,129,0.3);
}
.btn-bind[data-v-818e484c] { padding:12px 20px; background:linear-gradient(135deg,#3b82f6,#6366f1); color:#fff; border:none; border-radius:10px; font-size:14px; font-weight:600; cursor:pointer; white-space:nowrap;
}
.btn-bind[data-v-818e484c]:active { opacity:0.8;
}
.btn-bind[data-v-818e484c]:disabled { opacity:0.4;
}
.menu-item[data-v-818e484c] { display:flex; align-items:center; gap:8px; cursor:pointer; padding:12px 0;
}
.menu-item .sec-arrow[data-v-818e484c] { font-size:20px;
}
.coupon-ticket[data-v-818e484c] { display:flex; background:linear-gradient(135deg,#fff9f0,#fff); border:1px solid #fde68a; border-radius:12px; margin-bottom:10px; overflow:hidden;
}
.ticket-left[data-v-818e484c] { width:80px; background:linear-gradient(180deg,#f59e0b,#d97706); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:14px 0; flex-shrink:0;
}
.ticket-num[data-v-818e484c] { font-size:22px; font-weight:800;
}
.ticket-type[data-v-818e484c] { font-size:11px; opacity:0.85; margin-top:2px;
}
.ticket-right[data-v-818e484c] { flex:1; padding:12px 14px; display:flex; flex-direction:column; gap:6px;
}
.ticket-code[data-v-818e484c] { font-size:13px; font-weight:700; color:#1e293b;
}
.ticket-addr[data-v-818e484c] { font-size:12px; color:#94a3b8;
}
.ticket-actions[data-v-818e484c] { display:flex; gap:12px; margin-top:2px;
}
.ticket-action[data-v-818e484c] { font-size:12px; color:#3b82f6; font-weight:500; cursor:pointer;
}
.ticket-action[data-v-818e484c]:active { opacity:0.6;
}
.ticket-action.nav[data-v-818e484c] { color:#d97706;
}
.invite-section[data-v-818e484c] { background:linear-gradient(135deg,#eff6ff,#f0f9ff); border:1px solid #bfdbfe; cursor:pointer; transition:all .2s;
}
.invite-section[data-v-818e484c]:active { transform:scale(0.98);
}
.invite-header[data-v-818e484c] { display:flex; align-items:center; gap:12px;
}
.invite-icon[data-v-818e484c] { font-size:30px;
}
.invite-title[data-v-818e484c] { font-size:15px; font-weight:700; color:#1e293b;
}
.invite-sub[data-v-818e484c] { font-size:12px; color:#64748b; margin-top:2px;
}
.logout-btn[data-v-818e484c] { display:block; width:calc(100% - 28px); margin:0 14px; padding:14px; background:#fff; border:1px solid #e2e8f0; border-radius:12px; font-size:14px; color:#64748b; cursor:pointer;
}
.notif-bell[data-v-818e484c] { position:absolute; top:16px; right:16px; z-index:20; width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,0.25); backdrop-filter:blur(10px); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .3s;
}
.notif-bell[data-v-818e484c]:active { transform:scale(0.9);
}
.bell-icon[data-v-818e484c] { font-size:18px;
}
.bell-badge[data-v-818e484c] { position:absolute; top:-2px; right:-2px; min-width:18px; height:18px; border-radius:9px; background:#ef4444; color:#fff; font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; padding:0 5px; box-shadow:0 2px 6px rgba(220,38,38,0.4);
}
.phone-banner[data-v-818e484c] { background:#fff3cd; border:1px solid #ffc107; border-radius:12px; padding:12px 16px; margin:12px 16px; display:flex; align-items:center; justify-content:space-between; font-size:13px; cursor:pointer;
}
.modal-overlay[data-v-818e484c] { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.5); z-index:999; display:flex; align-items:center; justify-content:center;
}
.modal-sheet[data-v-818e484c] { background:#fff; border-radius:16px; padding:24px; width:90%; max-height:80vh; overflow-y:auto;
}
.modal-center[data-v-818e484c] { background:#fff; border-radius:16px; padding:24px; width:90%; max-width:320px; text-align:center;
}
.modal-head[data-v-818e484c] { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px;
}
.modal-title[data-v-818e484c] { font-size:18px; font-weight:700;
}
.modal-close[data-v-818e484c] { font-size:20px; cursor:pointer; color:#999;
}
.modal-close-btn[data-v-818e484c] { width:100%; padding:12px; background:#f1f5f9; border:none; border-radius:10px; font-size:15px; cursor:pointer; margin-top:12px;
}
.empty-hint[data-v-818e484c] { text-align:center; color:#999; padding:20px; font-size:14px;
}
.log-row[data-v-818e484c] { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid #f1f5f9;
}
.log-info[data-v-818e484c] { display:flex; flex-direction:column;
}
.log-remark[data-v-818e484c] { font-size:14px; color:#1e293b;
}
.log-time[data-v-818e484c] { font-size:12px; color:#94a3b8;
}
.log-amount.pos[data-v-818e484c] { color:#10b981; font-weight:700;
}
.qr-text[data-v-818e484c] { font-size:14px; color:#64748b;
}
.field[data-v-818e484c] { margin-bottom:16px;
}
.field label[data-v-818e484c] { display:block; font-size:13px; font-weight:600; color:#64748b; margin-bottom:6px;
}
.inp[data-v-818e484c] { width:100%; padding:14px; border:1px solid #e2e8f0; border-radius:10px; font-size:15px; outline:none; box-sizing:border-box;
}
.inp[data-v-818e484c]:focus { border-color:#3b82f6;
}
.field-row[data-v-818e484c] { display:flex; gap:8px; margin-bottom:16px;
}
.flex1[data-v-818e484c] { flex:1;
}
.btn-primary[data-v-818e484c] { width:100%; padding:16px; background:linear-gradient(135deg,#3b82f6,#2563eb); color:#fff; border:none; border-radius:12px; font-size:16px; font-weight:700; cursor:pointer;
}
.btn-primary[data-v-818e484c]:disabled { opacity:0.5;
}
.btn-sms[data-v-818e484c] { padding:14px 16px; background:#3b82f6; color:#fff; border:none; border-radius:10px; font-size:13px; white-space:nowrap; cursor:pointer;
}
.btn-sms[data-v-818e484c]:disabled { opacity:0.5;
}

/* ========== Partner Dashboard (Tech) ========== */
.partner-dashboard[data-v-818e484c] {
  background: linear-gradient(160deg, #f8faff, #eff6ff);
  border-radius: 16px;
  padding: 20px;
  margin: 12px 16px 0;
  box-shadow: 0 8px 32px rgba(37,99,235,0.08), 0 2px 8px rgba(0,0,0,0.04);
  border: 1px solid rgba(37,99,235,0.08);
  position: relative;
  overflow: hidden;
}
.pd-header[data-v-818e484c] { margin-bottom: 14px;
}
.pd-title-row[data-v-818e484c] { display: flex; flex-direction: column; gap: 4px;
}
.pd-badge[data-v-818e484c] {
  display: inline-block;
  font-size: 12px; font-weight: 700;
  color: #2563eb;
  background: linear-gradient(135deg, #dbeafe, #eff6ff);
  padding: 4px 12px; border-radius: 20px;
  width: fit-content; letter-spacing: 0.5px;
  border: 1px solid rgba(37,99,235,0.15);
}
.pd-subtitle[data-v-818e484c] { font-size: 12px; color: #64748b;
}
.pd-stats[data-v-818e484c] { display: flex; gap: 10px; margin-bottom: 16px;
}
.pd-stat[data-v-818e484c] {
  flex: 1; background: #fff; border-radius: 12px;
  padding: 14px 10px; text-align: center;
  cursor: pointer; transition: all 0.2s;
  border: 1px solid #e8ecf1;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.pd-stat[data-v-818e484c]:active { transform: scale(0.96); border-color: #2563eb; background: #f8faff;
}
.pd-stat-num[data-v-818e484c] {
  font-size: 24px; font-weight: 800; color: #1e40af;
  font-variant-numeric: tabular-nums;
}
.pd-stat-num.gold[data-v-818e484c] { color: #d97706;
}
.pd-stat-num.green[data-v-818e484c] { color: #059669;
}
.pd-stat-label[data-v-818e484c] { font-size: 11px; color: #64748b; margin-top: 2px;
}

/* Workbench Entry Card */
.pd-workbench[data-v-818e484c] {
  position: relative;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  border-radius: 14px;
  padding: 0;
  cursor: pointer;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(37,99,235,0.3);
  transition: all 0.3s;
}
.pd-workbench[data-v-818e484c]:active { transform: scale(0.97); box-shadow: 0 3px 12px rgba(37,99,235,0.2);
}
.pd-wb-glow[data-v-818e484c] {
  position: absolute; top: -20px; right: -20px;
  width: 100px; height: 100px;
  background: radial-gradient(circle, rgba(255,255,255,0.3), transparent);
  border-radius: 50%;
}
.pd-wb-content[data-v-818e484c] { display: flex; align-items: center; gap: 14px; padding: 16px 18px; position: relative; z-index: 1;
}
.pd-wb-icon-wrap[data-v-818e484c] {
  width: 48px; height: 48px; border-radius: 14px;
  background: rgba(255,255,255,0.2);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.pd-wb-icon[data-v-818e484c] { font-size: 22px;
}
.pd-wb-info[data-v-818e484c] { flex: 1; min-width: 0;
}
.pd-wb-title[data-v-818e484c] { font-size: 16px; font-weight: 700; color: #fff; letter-spacing: 0.5px;
}
.pd-wb-desc[data-v-818e484c] { font-size: 12px; color: rgba(255,255,255,0.75); margin-top: 2px;
}
.pd-wb-arrow[data-v-818e484c] {
  width: 32px; height: 32px; border-radius: 50%;
  background: rgba(255,255,255,0.2);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  color: #fff; font-size: 16px; font-weight: 700;
}

/* Team Inline Links */
.pd-team-inline[data-v-818e484c] { display: flex; gap: 8px; margin-top: 10px;
}
.pd-team-item[data-v-818e484c] {
  flex: 1;
  display: flex; align-items: center; gap: 8px;
  background: #fff;
  border: 1px solid #e8ecf1;
  border-radius: 10px;
  padding: 10px 12px;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}
.pd-team-item[data-v-818e484c]:active { transform: scale(0.96); border-color: #2563eb;
}
.pd-team-icon[data-v-818e484c] { font-size: 16px;
}
.pd-team-text[data-v-818e484c] { font-size: 13px; font-weight: 600; color: #475569;
}
.pd-team-badge[data-v-818e484c] {
  margin-left: auto;
  font-size: 11px; color: #2563eb;
  background: #eff6ff;
  padding: 2px 8px; border-radius: 10px;
  font-weight: 600;
}


.login-page[data-v-f8b7bf42] {
  min-height: 100vh;
  background: linear-gradient(180deg, #eff6ff 0%, #ffffff 100%);
  padding: 40px 20px;
  text-align: center;
}
.login-hero[data-v-f8b7bf42] { margin-bottom: 24px;
}
.login-icon[data-v-f8b7bf42] { font-size: 56px; display: block; margin-bottom: 8px;
}
.login-brand[data-v-f8b7bf42] { font-size: 28px; font-weight: 800; color: #1e293b; margin: 0;
}
.login-desc[data-v-f8b7bf42] { font-size: 14px; color: #64748b; margin-top: 6px;
}
.login-card[data-v-f8b7bf42] {
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  text-align: left;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* ===== 小程序模式 ===== */
.mp-box[data-v-f8b7bf42] { text-align: center;
}
.mp-text[data-v-f8b7bf42] { font-size: 15px; color: #64748b; margin-bottom: 16px;
}

/* ===== 公众号模式 ===== */
.wechat-box[data-v-f8b7bf42] { text-align: center;
}
.wechat-text[data-v-f8b7bf42] { font-size: 15px; color: #64748b; margin-bottom: 16px;
}
.wechat-hint[data-v-f8b7bf42] { font-size: 12px; color: #94a3b8; margin-top: 10px;
}

/* ===== H5模式 ===== */
.tab-row[data-v-f8b7bf42] {
  display: flex;
  margin-bottom: 20px;
  border-radius: 10px;
  overflow: hidden;
  border: 1.5px solid #e2e8f0;
}
.tab-row span[data-v-f8b7bf42] {
  flex: 1;
  text-align: center;
  padding: 12px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  background: #f8fafc;
  color: #94a3b8;
  transition: all 0.2s;
}
.tab-row span.active[data-v-f8b7bf42] { background: #2563eb; color: #fff;
}
.inp[data-v-f8b7bf42] {
  width: 100%;
  padding: 14px;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  font-size: 15px;
  outline: none;
  box-sizing: border-box;
  margin-bottom: 12px;
}
.inp[data-v-f8b7bf42]:focus { border-color: #2563eb;
}
.sms-row[data-v-f8b7bf42] { display: flex; gap: 8px; align-items: center; margin-bottom: 12px;
}
.sms-inp[data-v-f8b7bf42] { flex: 1; margin-bottom: 0;
}
.btn-sms[data-v-f8b7bf42] {
  flex-shrink: 0; height: 48px; padding: 0 14px;
  background: #f1f5f9; color: #2563eb; border: 1px solid #e2e8f0;
  border-radius: 10px; font-size: 13px; font-weight: 600;
  cursor: pointer; white-space: nowrap;
}
.btn-sms[data-v-f8b7bf42]:disabled { color: #94a3b8; cursor: not-allowed;
}
.btn-submit[data-v-f8b7bf42] {
  width: 100%;
  padding: 16px;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3);
}
.btn-submit[data-v-f8b7bf42]:disabled { opacity: 0.5;
}
.btn-wechat[data-v-f8b7bf42] {
  width: 100%;
  padding: 16px;
  background: linear-gradient(135deg, #07c160, #06ad56);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 14px rgba(7, 193, 96, 0.35);
}
.btn-wechat[data-v-f8b7bf42]:disabled { opacity: 0.5;
}
.switch-link[data-v-f8b7bf42] { text-align: center; font-size: 13px; color: #94a3b8; margin-top: 14px;
}
.switch-link span[data-v-f8b7bf42] { color: #2563eb; cursor: pointer; font-weight: 600;
}
.forgot-link[data-v-f8b7bf42] { text-align: right; margin-top: 8px; font-size: 13px;
}
.forgot-link span[data-v-f8b7bf42] { color: #64748b; cursor: pointer;
}
.err[data-v-f8b7bf42] { text-align: center; color: #dc2626; margin-top: 12px; font-size: 13px;
}

/* ===== 弹窗公用样式 ===== */
.modal-overlay[data-v-f8b7bf42] { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); z-index: 999; display: flex; align-items: center; justify-content: center;
}
.modal-sheet[data-v-f8b7bf42] { background: #fff; border-radius: 16px; padding: 24px; width: 90%; max-width: 360px; max-height: 90vh; overflow-y: auto;
}
.modal-head[data-v-f8b7bf42] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;
}
.modal-title[data-v-f8b7bf42] { font-size: 18px; font-weight: 700;
}
.modal-close[data-v-f8b7bf42] { font-size: 20px; cursor: pointer; color: #999;
}

/* ========== 商圈页 浅色专业风 ========== */
.page[data-v-228dee0b] { padding: 14px; min-height: 100vh; background: transparent; padding-bottom: 80px;
}

/* Header */
.shop-header[data-v-228dee0b] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px;
}
.header-top[data-v-228dee0b] { display: flex; align-items: center; gap: 10px;
}
.header-icon[data-v-228dee0b] { font-size: 28px;
}
.header-title[data-v-228dee0b] { font-size: var(--font-xl); font-weight: 800; color: var(--text-primary); line-height: 1.2;
}
.header-sub[data-v-228dee0b] { font-size: var(--font-sm); color: var(--text-secondary);
}
.header-stats[data-v-228dee0b] { background: var(--accent-light); color: var(--accent); padding: 6px 14px; border-radius: 20px; font-size: var(--font-sm); font-weight: 600;
}

/* Search */
.search-bar[data-v-228dee0b] { display: flex; align-items: center; gap: 10px; background: var(--text-inverse); border-radius: var(--radius-md); padding: 12px 16px; margin-bottom: 18px; box-shadow: var(--shadow-sm);
}
.search-icon[data-v-228dee0b] { font-size: var(--font-md); color: var(--text-muted);
}
.search-inp[data-v-228dee0b] { flex: 1; border: none; background: transparent; font-size: var(--font-sm); color: var(--text-primary); outline: none; padding: 0;
}
.search-clear[data-v-228dee0b] { font-size: var(--font-sm); color: var(--text-muted); cursor: pointer; padding: 4px;
}

/* Skeleton */
.sk-grid[data-v-228dee0b] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px;
}
.sk-card[data-v-228dee0b] { background: var(--text-inverse); border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--shadow-sm);
}
.sk-img[data-v-228dee0b] { height: 120px; background: linear-gradient(90deg,var(--border) 25%,#f1f5f9 50%,var(--border) 75%); background-size:200% 100%; animation: sk-228dee0b 1.5s infinite;
}
.sk-line[data-v-228dee0b] { height: 14px; background: var(--border); border-radius: 4px; margin: 12px 12px 0;
}
.sk-line.short[data-v-228dee0b] { width: 60%; margin-bottom: 12px;
}
@keyframes sk-228dee0b {
0%{background-position:200% 0}
100%{background-position:-200% 0}
}

/* Empty */
.empty[data-v-228dee0b] { text-align: center; padding: 80px 20px;
}
.empty-icon[data-v-228dee0b] { font-size: 64px; display: block; margin-bottom: 16px;
}
.empty-text[data-v-228dee0b] { font-size: var(--font-md); color: var(--text-secondary); font-weight: 600;
}
.empty-hint[data-v-228dee0b] { font-size: var(--font-sm); color: var(--text-muted); margin-top: 8px;
}

/* ========== Store Grid ========== */
.store-grid[data-v-228dee0b] { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px;
}
.store-card[data-v-228dee0b] {
  background: var(--text-inverse); border-radius: var(--radius-md); overflow: hidden;
  box-shadow: var(--shadow-sm); cursor: pointer;
  transition: all 0.3s ease;
}
.store-card[data-v-228dee0b]:active { transform: scale(0.97); box-shadow: var(--shadow-md);
}

/* 门头照片 */
.card-cover[data-v-228dee0b] {
  position: relative; width: 100%; height: 130px;
  background: #f1f5f9; overflow: hidden;
}
.cover-img[data-v-228dee0b] { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease;
}
.store-card:active .cover-img[data-v-228dee0b] { transform: scale(1.05);
}
.cover-placeholder[data-v-228dee0b] {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--accent-light), #e0e7ff);
  font-size: 48px;
}
.cover-badge[data-v-228dee0b] {
  position: absolute; top: 8px; right: 8px;
  background: rgba(0,0,0,0.6); color: var(--text-inverse);
  padding: 3px 10px; border-radius: 12px;
  font-size: var(--font-xs); font-weight: 600;
}

/* 信息区 */
.card-body[data-v-228dee0b] { padding: 14px;
}
.card-name[data-v-228dee0b] {
  font-size: var(--font-md); font-weight: 700; color: var(--text-primary);
  line-height: 1.3; margin-bottom: 6px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.card-addr[data-v-228dee0b] { display: flex; align-items: flex-start; gap: 4px; margin-bottom: 10px;
}
.addr-icon[data-v-228dee0b] { font-size: var(--font-xs); flex-shrink: 0; margin-top: 1px;
}
.addr-dist[data-v-228dee0b] { font-size: var(--font-xs); color: #0d6efd; font-weight: 600; margin-top: 2px; display: block;
}
.addr-text[data-v-228dee0b] {
  font-size: var(--font-xs); color: var(--text-secondary); line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.card-footer[data-v-228dee0b] { display: flex; justify-content: space-between; align-items: center;
}
.card-tag[data-v-228dee0b] {
  background: #fef3c7; color: #d97706;
  padding: 2px 10px; border-radius: 10px; font-size: var(--font-xs); font-weight: 600;
}
.card-arrow[data-v-228dee0b] { font-size: var(--font-xs); color: var(--accent); font-weight: 600;
}

.page[data-v-e3920bd9] { min-height: 100vh; background: var(--bg-page); padding-bottom: 90px;
}
.loading-state[data-v-e3920bd9] { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 60vh; color: var(--text-muted);
}
.loading-spinner[data-v-e3920bd9] { width: 40px; height: 40px; border: 3px solid var(--border); border-top-color: var(--accent); border-radius: 50%; animation: spin-e3920bd9 0.8s linear infinite; margin-bottom: 12px;
}
@keyframes spin-e3920bd9 {
to { transform: rotate(360deg);
}
}

/* Hero */
.hero-section[data-v-e3920bd9] { position: relative; width: 100%; height: 340px; overflow: hidden;
}
.hero-img[data-v-e3920bd9] { width: 100%; height: 100%; object-fit: cover;
}
.hero-placeholder[data-v-e3920bd9] { width: 100%; height: 100%; background: linear-gradient(135deg, var(--accent-light), #e0e7ff); display: flex; align-items: center; justify-content: center;
}
.hero-placeholder-icon[data-v-e3920bd9] { font-size: 80px; opacity: 0.6;
}
.hero-overlay[data-v-e3920bd9] { position: absolute; top: 0; left: 0; right: 0; padding: 16px; display: flex; justify-content: space-between; align-items: flex-start;
}
.back-btn[data-v-e3920bd9] { color: white; font-size: var(--font-md); font-weight: 600; cursor: pointer; text-shadow: 0 1px 4px rgba(0,0,0,0.3); padding: 6px 12px; background: rgba(0,0,0,0.2); border-radius: 20px; backdrop-filter: blur(4px);
}
.tag-platform[data-v-e3920bd9] { background: var(--accent); color: white; font-size: var(--font-xs); padding: 4px 12px; border-radius: 12px; font-weight: 600;
}
.tag-merchant[data-v-e3920bd9] { background: rgba(255,255,255,0.9); color: var(--text-primary); font-size: var(--font-xs); padding: 4px 12px; border-radius: 12px; font-weight: 500; backdrop-filter: blur(4px);
}

/* Info Card */
.info-card[data-v-e3920bd9] { background: var(--bg-card); margin: -20px 12px 12px; padding: 20px; border-radius: var(--radius-lg); box-shadow: var(--shadow-md); position: relative; z-index: 1;
}
.price-row[data-v-e3920bd9] { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;
}
.price-symbol[data-v-e3920bd9] { font-size: var(--font-md); color: #FF6B35; font-weight: 600;
}
.price-value[data-v-e3920bd9] { font-size: 34px; color: #FF6B35; font-weight: 800; line-height: 1;
}
.price-original[data-v-e3920bd9] { font-size: var(--font-xs); color: var(--text-muted); text-decoration: line-through; margin-left: 8px;
}
.stock-badge[data-v-e3920bd9] { font-size: var(--font-xs); color: var(--green); background: #f0fdf4; padding: 4px 10px; border-radius: 10px; font-weight: 500;
}
.stock-badge.sold-out[data-v-e3920bd9] { color: var(--red); background: #fef2f2;
}
.product-name[data-v-e3920bd9] { font-size: var(--font-lg); font-weight: 700; color: var(--text-primary); line-height: 1.4; margin-bottom: 12px;
}
.meta-row[data-v-e3920bd9] { display: flex; gap: var(--gap-md); flex-wrap: wrap;
}
.meta-item[data-v-e3920bd9] { display: flex; align-items: center; gap: 4px; font-size: var(--font-xs); padding: 6px 10px; border-radius: 8px; font-weight: 500;
}
.meta-item.bonus[data-v-e3920bd9] { background: #f0fdf4; color: var(--green);
}
.meta-item.free[data-v-e3920bd9] { background: var(--accent-light); color: var(--accent);
}
.meta-item.shipping[data-v-e3920bd9] { background: #fef3c7; color: #d97706;
}
.meta-icon[data-v-e3920bd9] { font-size: 14px;
}

/* Section */
.section[data-v-e3920bd9] { background: var(--bg-card); border-radius: var(--radius-md); padding: var(--card-padding); margin: 0 12px 12px; box-shadow: var(--shadow-sm);
}
.section-title[data-v-e3920bd9] { display: flex; align-items: center; gap: 8px; font-size: var(--font-md); font-weight: 700; color: var(--text-primary); margin-bottom: 12px;
}
.section-title-icon[data-v-e3920bd9] { font-size: 20px;
}
.desc-section[data-v-e3920bd9] { padding: 0 16px 16px;
}
.desc-title[data-v-e3920bd9] { font-size: var(--font-md); font-weight: 700; color: var(--text-primary); margin-bottom: 10px; padding-bottom: 8px; border-bottom: 2px solid #FF6B35; display: inline-block;
}
.desc-empty[data-v-e3920bd9] { padding: 24px 0; text-align: center; color: var(--text-muted); font-size: var(--font-sm); background: linear-gradient(135deg, #fafafa, #f5f5f5); border-radius: 12px;
}
.desc-text[data-v-e3920bd9] { font-size: var(--font-sm); color: var(--text-secondary); line-height: 1.8; white-space: pre-wrap;
}
.desc-empty[data-v-e3920bd9] { text-align: center; padding: 24px 0;
}
.desc-empty-icon[data-v-e3920bd9] { font-size: 40px; display: block; margin-bottom: 8px; opacity: 0.5;
}
.desc-empty p[data-v-e3920bd9] { color: var(--text-muted); font-size: var(--font-sm);
}
.desc-empty-sub[data-v-e3920bd9] { font-size: var(--font-xs) !important; margin-top: 4px;
}
.detail-imgs[data-v-e3920bd9] { margin-top: 16px;
}
.detail-img[data-v-e3920bd9] { width: 100%; border-radius: var(--radius-sm); margin-bottom: 8px; display: block;
}

/* Exchange */
.exchange-section[data-v-e3920bd9] { background: linear-gradient(135deg, #fff7ed, #fff); border: 1px solid #fed7aa;
}
.exchange-tip[data-v-e3920bd9] { font-size: var(--font-xs); color: #FF6B35; margin-bottom: 12px;
}
.inp[data-v-e3920bd9] { width: 100%; padding: 14px 16px; border: 1px solid var(--border); border-radius: 10px; font-size: var(--font-sm); background: var(--bg-input); color: var(--text-primary); outline: none; margin-bottom: 10px; box-sizing: border-box;
}
.inp[data-v-e3920bd9]:focus { border-color: var(--accent);
}
.textarea[data-v-e3920bd9] { resize: vertical; font-family: inherit;
}
.btn-exchange[data-v-e3920bd9] { width: 100%; padding: 16px; background: linear-gradient(135deg, #FF6B35, #ea580c); color: white; border: none; border-radius: 14px; font-size: var(--font-md); font-weight: 700; cursor: pointer; box-shadow: 0 4px 16px rgba(255,107,53,0.3); margin-top: 4px; transition: all 0.25s;
}
.btn-exchange[data-v-e3920bd9]:active { transform: scale(0.97);
}
.btn-exchange[data-v-e3920bd9]:disabled { opacity: 0.5; cursor: not-allowed;
}

/* Bottom Bar */
.bottom-bar[data-v-e3920bd9] { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 480px; background: var(--bg-card); padding: 12px 16px; padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; justify-content: space-between; box-shadow: 0 -4px 20px rgba(0,0,0,0.08); z-index: 100;
}
.bottom-info[data-v-e3920bd9] { display: flex; align-items: baseline; gap: 8px;
}
.bottom-price[data-v-e3920bd9] { font-size: var(--font-xl); font-weight: 800; color: #FF6B35;
}
.bottom-bonus[data-v-e3920bd9] { font-size: var(--font-xs); color: var(--green); background: #f0fdf4; padding: 2px 8px; border-radius: 6px;
}
.btn-buy[data-v-e3920bd9] { padding: 14px 36px; background: linear-gradient(135deg, #FF6B35, #ea580c); color: white; border: none; border-radius: 28px; font-size: var(--font-md); font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: 6px; box-shadow: 0 6px 20px rgba(255,107,53,0.35); transition: all 0.25s;
}
.btn-buy[data-v-e3920bd9]:active { transform: scale(0.95); box-shadow: 0 2px 8px rgba(255,107,53,0.2);
}
.btn-buy[data-v-e3920bd9]:disabled { opacity: 0.5; cursor: not-allowed;
}
.btn-buy-icon[data-v-e3920bd9] { font-size: 20px;
}
.btn-store-visit[data-v-e3920bd9] { padding: 14px 36px; background: linear-gradient(135deg, var(--accent), var(--accent-dark)); color: white; border: none; border-radius: 28px; font-size: var(--font-md); font-weight: 700; cursor: pointer; display: flex; align-items: center; gap: 6px; box-shadow: 0 6px 20px rgba(37,99,235,0.3);
}

/* ========== 门店详情页 ========== */
.page[data-v-f3112ffb] { min-height: 100vh; background: transparent; padding-bottom: 80px;
}
.back-bar[data-v-f3112ffb] { padding: 14px 16px;
}
.back-btn[data-v-f3112ffb] { font-size: var(--font-sm); color: var(--accent); cursor: pointer; font-weight: 600;
}

/* Loading */
.loading[data-v-f3112ffb] { padding: 16px;
}
.sk-hero[data-v-f3112ffb] { height: 180px; background: linear-gradient(90deg,var(--border) 25%,#f1f5f9 50%,var(--border) 75%); background-size:200% 100%; animation:sk-f3112ffb 1.5s infinite; border-radius:var(--radius-md); margin-bottom:16px;
}
.sk-line[data-v-f3112ffb] { height:14px;background:var(--border);border-radius:4px;margin-bottom:12px;
}
.sk-line.short[data-v-f3112ffb] { width:60%;
}
@keyframes sk-f3112ffb {
0%{background-position:200% 0}
100%{background-position:-200% 0}
}

/* Hero */
.hero[data-v-f3112ffb] { position:relative; width:100%; height:200px; overflow:hidden;
}
.hero-img[data-v-f3112ffb] { width:100%;height:100%;object-fit:cover;display:block;
}
.hero-placeholder[data-v-f3112ffb] { width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accent-dark));font-size:72px;color:var(--text-inverse);
}
.hero-actions[data-v-f3112ffb] { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; z-index: 1;
}
.hero-dist[data-v-f3112ffb] { font-size: var(--font-xs); color: var(--text-inverse); background: rgba(255,255,255,0.2); padding: 2px 10px; border-radius: 10px;
}
.hero-nav-btn[data-v-f3112ffb] { font-size: var(--font-xs); color: var(--text-inverse); background: rgba(255,255,255,0.25); border: 1px solid rgba(255,255,255,0.4); padding: 4px 12px; border-radius: 14px; font-weight: 600; cursor: pointer;
}
.hero-overlay[data-v-f3112ffb] { position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.7));padding:40px 20px 20px;color:var(--text-inverse);
}
.hero-name[data-v-f3112ffb] { font-size: var(--font-xl);font-weight:800;margin-bottom:4px;text-shadow:0 1px 4px rgba(0,0,0,0.3);
}
.hero-addr[data-v-f3112ffb] { font-size: var(--font-sm);opacity:0.9;text-shadow:0 1px 2px rgba(0,0,0,0.3);
}

/* Section */
.section[data-v-f3112ffb] { margin:16px 14px;
}
.sec-title[data-v-f3112ffb] { display:flex;align-items:center;gap:10px;margin-bottom:14px;
}
.sec-title-bar[data-v-f3112ffb] { width:4px;height:20px;border-radius:2px;background:var(--accent);
}
.sec-title span[data-v-f3112ffb]:last-child { font-size: var(--font-md);font-weight:700;color:var(--text-primary);
}

/* Coupons */
.coupon-list[data-v-f3112ffb] { display:flex;flex-direction:column;gap:10px;
}
.coupon-item[data-v-f3112ffb] {
  display:flex; align-items:stretch; background:linear-gradient(135deg, var(--text-inverse) 0%, #fafbfd 100%);
  border-radius:12px; overflow:hidden; cursor:pointer;
  box-shadow:0 2px 12px rgba(0,0,0,0.05); transition:all 0.3s;
  border:1px solid #f1f5f9; position:relative;
}
.coupon-item[data-v-f3112ffb]:active { transform:scale(0.98); box-shadow:0 4px 20px rgba(0,0,0,0.1);
}
.coupon-item[data-v-f3112ffb]::after {
  content:''; position:absolute; left:96px; top:8px; bottom:8px; width:1px;
  background:repeating-linear-gradient(to bottom, var(--border) 0px, var(--border) 5px, transparent 5px, transparent 10px);
}
.cp-left[data-v-f3112ffb] {
  min-width:96px; display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:linear-gradient(160deg, #f43f5e 0%, #e11d48 100%); color:var(--text-inverse); padding:16px 8px;
  position:relative;
}
.cp-value[data-v-f3112ffb] { font-size:28px; font-weight:800; line-height:1;
}
.cp-value small[data-v-f3112ffb] { font-size: var(--font-sm); font-weight:600;
}
.cp-sub[data-v-f3112ffb] { font-size:11px; opacity:0.8; margin-top:3px; letter-spacing:2px;
}
.cp-mid[data-v-f3112ffb] { flex:1; padding:16px; display:flex; flex-direction:column; justify-content:center;
}
.cp-stock[data-v-f3112ffb] { font-size: var(--font-sm); color:var(--text-primary); font-weight:600; margin-bottom:2px;
}
.cp-valid[data-v-f3112ffb] { font-size: var(--font-xs); color:var(--text-muted);
}
.cp-right[data-v-f3112ffb] { display:flex; align-items:center; padding-right:16px; flex-shrink:0;
}
.cp-btn[data-v-f3112ffb] { padding:10px 20px; border-radius:22px; background:linear-gradient(135deg, #f43f5e, #e11d48); color:var(--text-inverse); font-size: var(--font-sm); font-weight:700; box-shadow:0 3px 10px rgba(244,63,94,0.3); white-space:nowrap;
}
.cp-btn.claimed[data-v-f3112ffb] { background:var(--border); color:var(--text-muted); box-shadow:none;
}

/* Products */
.product-grid[data-v-f3112ffb] { display:grid;grid-template-columns:repeat(2,1fr);gap:12px;
}
.product-card[data-v-f3112ffb] { background:var(--text-inverse);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-sm);transition:all 0.3s;
}
.product-card[data-v-f3112ffb]:active { transform:scale(0.97);
}
.pro-img-wrap[data-v-f3112ffb] { position:relative;width:100%;height:130px;background:#f1f5f9;display:flex;align-items:center;justify-content:center;
}
.pro-img[data-v-f3112ffb] { width:100%;height:100%;object-fit:cover;
}
.pro-placeholder[data-v-f3112ffb] { font-size:40px;color:var(--text-muted);
}
.pro-badge[data-v-f3112ffb] { position:absolute;top:6px;left:6px;background:rgba(0,0,0,0.5);color:var(--text-inverse);padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;
}
.pro-info[data-v-f3112ffb] { padding:12px;
}
.pro-name[data-v-f3112ffb] { font-size: var(--font-sm);font-weight:600;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.pro-price[data-v-f3112ffb] { font-size: var(--font-md);font-weight:700;color:var(--red);margin-top:4px;
}
.empty[data-v-f3112ffb] { text-align:center;padding:60px 20px;font-size:48px;color:var(--text-muted);
}
.empty p[data-v-f3112ffb] { font-size: var(--font-sm);margin-top:12px;
}
.toast-bar[data-v-f3112ffb]{position:fixed;top:60px;left:50%;transform:translateX(-50%);background:#333;color:var(--text-inverse);padding:12px 24px;border-radius:24px;font-size: var(--font-sm);z-index:9999;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis;animation:toastIn-f3112ffb 0.3s ease}
@keyframes toastIn-f3112ffb{from{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}

/* ========================================
   水滴链商 - 服务商中心 明亮科技主题
   Light Gradient + Glass Cards + Blue Accents
   ======================================== */
.page[data-v-bd2b7edb] {
  min-height: 100vh;
  background: linear-gradient(180deg, #eef2ff 0%, #f0f4ff 30%, #f8fafc 100%);
  padding-bottom: 120px;
  position: relative;
  overflow-x: hidden;
  color: #1e293b;
  font-size: 15px;
}

/* ===== Animated Tech Background ===== */
.tech-bg[data-v-bd2b7edb] { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 0; pointer-events: none; overflow: hidden;
}
.tech-grid[data-v-bd2b7edb] {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  background-image: linear-gradient(rgba(99,102,241,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(99,102,241,0.04) 1px, transparent 1px);
  background-size: 60px 60px;
}
.tech-orb[data-v-bd2b7edb] {
  position: absolute; border-radius: 50%; filter: blur(100px); opacity: 0.12;
}
.orb-1[data-v-bd2b7edb] { width: 300px; height: 300px; background: #6366f1; top: -50px; right: -80px; animation: orbFloat-bd2b7edb 8s ease-in-out infinite;
}
.orb-2[data-v-bd2b7edb] { width: 200px; height: 200px; background: #06b6d4; bottom: 100px; left: -60px; animation: orbFloat-bd2b7edb 6s ease-in-out infinite reverse;
}
.orb-3[data-v-bd2b7edb] { width: 250px; height: 250px; background: #8b5cf6; top: 40%; right: -100px; animation: orbFloat-bd2b7edb 10s ease-in-out infinite 2s;
}
@keyframes orbFloat-bd2b7edb {
0%, 100% { transform: translate(0, 0) scale(1);
}
33% { transform: translate(30px, -40px) scale(1.1);
}
66% { transform: translate(-20px, 20px) scale(0.9);
}
}

/* ===== Hero ===== */
.partner-hero[data-v-bd2b7edb] {
  position: relative; z-index: 1;
  margin: 20px 12px 16px;
  padding: 24px 20px;
  background: linear-gradient(135deg, #6366f1, #4f46e5);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(99,102,241,0.2);
}
.hero-glow[data-v-bd2b7edb] {
  position: absolute; top: -30px; right: -30px;
  width: 120px; height: 120px;
  background: radial-gradient(circle, rgba(255,255,255,0.3), transparent);
  border-radius: 50%;
}
.hero-content[data-v-bd2b7edb] { display: flex; align-items: center; gap: 14px; position: relative; z-index: 1;
}
.hero-icon[data-v-bd2b7edb] { font-size: 36px; filter: drop-shadow(0 0 8px rgba(255,255,255,0.3));
}
.hero-title[data-v-bd2b7edb] { font-size: 24px; font-weight: 800; color: #fff;
}
.hero-sub[data-v-bd2b7edb] { font-size: 14px; color: rgba(255,255,255,0.85); margin-top: 2px;
}

/* ===== Tech Card (shared glass card) ===== */
.tech-card[data-v-bd2b7edb] {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06), 0 4px 16px rgba(0,0,0,0.04);
  border: 1px solid rgba(99,102,241,0.08);
}
.tech-title[data-v-bd2b7edb] {
  position: relative;
  padding-left: 14px;
  color: #1e293b;
}
.tech-title[data-v-bd2b7edb]::before {
  content: "";
  position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 4px; height: 18px;
  background: linear-gradient(180deg, #6366f1, #06b6d4);
  border-radius: 2px;
}

/* ===== Stats Row ===== */
.stats-row[data-v-bd2b7edb] {
  display: flex; gap: 10px;
  margin: 0 12px 16px;
  position: relative; z-index: 1;
}
.stat-card[data-v-bd2b7edb] {
  flex: 1;
  background: #fff;
  border-radius: 14px;
  padding: 14px 10px;
  text-align: center;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  transition: all 0.3s;
}
.stat-card[data-v-bd2b7edb]:active { transform: scale(0.96);
}
.stat-icon-wrap[data-v-bd2b7edb] {
  width: 36px; height: 36px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 8px; font-size: 18px;
}
.s-blue[data-v-bd2b7edb] { background: rgba(99,102,241,0.12);
}
.s-cyan[data-v-bd2b7edb] { background: rgba(6,182,212,0.12);
}
.s-gold[data-v-bd2b7edb] { background: rgba(245,158,11,0.12);
}
.stat-num[data-v-bd2b7edb] {
  font-size: 28px; font-weight: 800;
  color: #1e293b;
}
.stat-num.cyan[data-v-bd2b7edb] { color: #06b6d4;
}
.stat-num.gold[data-v-bd2b7edb] { color: #f59e0b;
}
.stat-label[data-v-bd2b7edb] { font-size: 13px; color: #64748b; margin-top: 2px; font-weight: 500;
}

/* ===== Section ===== */
.section[data-v-bd2b7edb] {
  margin: 0 12px 16px;
  padding: 18px 16px;
  position: relative; z-index: 1;
}
.sec-title[data-v-bd2b7edb] { font-size: 16px; font-weight: 700; color: #1e293b; margin-bottom: 8px;
}
.sec-desc[data-v-bd2b7edb] { font-size: 13px; color: #64748b; margin-bottom: 12px; line-height: 1.5;
}
.empty[data-v-bd2b7edb] { text-align: center; color: #94a3b8; padding: 24px; font-size: 14px;
}
.empty-hint[data-v-bd2b7edb] { text-align: center; color: #94a3b8; padding: 20px; font-size: 13px;
}

/* ===== Quick Action Grid ===== */
.action-grid[data-v-bd2b7edb] {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.action-card[data-v-bd2b7edb] {
  background: #f8fafc;
  border: 1px solid rgba(99,102,241,0.1);
  border-radius: 12px;
  padding: 14px;
  cursor: pointer;
  transition: all 0.25s;
  display: flex; flex-direction: column; gap: 6px;
}
.action-card[data-v-bd2b7edb]:active {
  transform: scale(0.96);
  border-color: #6366f1;
  background: #eef2ff;
}
.ac-icon-wrap[data-v-bd2b7edb] {
  width: 34px; height: 34px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
}
.ac-green[data-v-bd2b7edb] { background: rgba(16,185,129,0.15);
}
.ac-blue[data-v-bd2b7edb] { background: rgba(99,102,241,0.15);
}
.ac-purple[data-v-bd2b7edb] { background: rgba(139,92,246,0.15);
}
.ac-cyan[data-v-bd2b7edb] { background: rgba(6,182,212,0.15);
}
.ac-text[data-v-bd2b7edb] { font-size: 15px; font-weight: 600; color: #1e293b;
}
.ac-badge[data-v-bd2b7edb] {
  font-size: 12px; color: #f59e0b;
  background: rgba(245,158,11,0.1);
  padding: 2px 8px; border-radius: 10px;
  align-self: flex-start;
}
.ac-badge.info[data-v-bd2b7edb] { color: #6366f1; background: rgba(99,102,241,0.08);
}

/* ===== Promo Section ===== */
.promo-section[data-v-bd2b7edb] { text-align: center;
}
.promo-header[data-v-bd2b7edb] {
  display: flex; align-items: center; gap: 10px;
  text-align: left; margin-bottom: 16px;
}
.promo-icon[data-v-bd2b7edb] { font-size: 28px;
}
.promo-title[data-v-bd2b7edb] { font-size: 16px; font-weight: 700; color: #1e293b;
}
.promo-sub[data-v-bd2b7edb] { font-size: 13px; color: #64748b;
}
.qr-area[data-v-bd2b7edb] { display: flex; justify-content: center; margin-bottom: 14px;
}
.qr-card[data-v-bd2b7edb] {
  background: #f8fafc; border-radius: 12px; padding: 14px;
  display: inline-block;
  border: 1px solid #e2e8f0;
}
.qr-img[data-v-bd2b7edb] { display: block; border-radius: 8px;
}
.qr-label[data-v-bd2b7edb] { font-size: 12px; color: #94a3b8; margin-top: 6px;
}
.ref-code-area[data-v-bd2b7edb] { margin-top: 8px;
}
.ref-code-label[data-v-bd2b7edb] { font-size: 13px; color: #64748b; margin-bottom: 6px;
}
.ref-code-box[data-v-bd2b7edb] {
  display: flex; align-items: center; gap: 8px;
  justify-content: center;
}
.ref-code-val[data-v-bd2b7edb] {
  font-size: 24px; font-weight: 800;
  letter-spacing: 2px;
  color: #6366f1;
}
.ref-copy-btn[data-v-bd2b7edb] {
  padding: 6px 16px;
  background: linear-gradient(135deg, #6366f1, #4f46e5);
  border: none;
  border-radius: 20px;
  color: #fff; font-size: 12px; font-weight: 600;
  cursor: pointer;
}

/* ===== Buttons ===== */
.btn-submit[data-v-bd2b7edb] {
  width: 100%; padding: 14px;
  background: linear-gradient(135deg, #6366f1, #4f46e5);
  color: #fff; border: none; border-radius: 12px;
  font-size: 16px; font-weight: 700; cursor: pointer;
  box-shadow: 0 4px 20px rgba(99,102,241,0.3);
  transition: all 0.3s;
  position: relative; z-index: 1;
}
.btn-submit[data-v-bd2b7edb]:active { transform: scale(0.97);
}
.btn-submit[data-v-bd2b7edb]:disabled { opacity: 0.4;
}
.btn-activate[data-v-bd2b7edb] {
  width: 100%; padding: 16px;
  background: linear-gradient(135deg, #06b6d4, #6366f1);
  color: #fff; border: none; border-radius: 14px;
  font-size: 17px; font-weight: 800; cursor: pointer;
  box-shadow: 0 4px 24px rgba(6,182,212,0.3);
  transition: all 0.3s;
}
.btn-activate[data-v-bd2b7edb]:active { transform: scale(0.97);
}
.btn-activate[data-v-bd2b7edb]:disabled { opacity: 0.3; box-shadow: none;
}
.prod-btn[data-v-bd2b7edb] {
  width: 100%; padding: 14px;
  background: #f8fafc;
  border: 1px solid rgba(99,102,241,0.15);
  border-radius: 12px; color: #1e293b;
  font-size: 15px; font-weight: 600; cursor: pointer;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  transition: all 0.3s;
}
.prod-btn.active[data-v-bd2b7edb] {
  background: rgba(239,68,68,0.06);
  border-color: rgba(239,68,68,0.2);
  color: #ef4444;
}
.prod-btn .prod-btn-icon[data-v-bd2b7edb] { font-size: 20px;
}

/* ===== Sub Users ===== */
.sub-row[data-v-bd2b7edb] {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #f1f5f9;
}
.sub-avatar[data-v-bd2b7edb] {
  width: 38px; height: 38px; border-radius: 50%;
  background: linear-gradient(135deg, #6366f1, #06b6d4);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 700; font-size: 15px;
}
.sub-info[data-v-bd2b7edb] { flex: 1;
}
.sub-name[data-v-bd2b7edb] { font-size: 14px; font-weight: 600; color: #1e293b;
}
.sub-id[data-v-bd2b7edb] { font-size: 12px; color: #94a3b8;
}
.sub-stats[data-v-bd2b7edb] { text-align: right;
}
.sub-drop[data-v-bd2b7edb] { font-size: 13px; color: #64748b;
}

/* ===== Commission ===== */
.comm-row[data-v-bd2b7edb] {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid #f1f5f9;
}
.comm-type-icon[data-v-bd2b7edb] { font-size: 16px;
}
.comm-remark[data-v-bd2b7edb] { flex: 1; font-size: 14px; color: #475569;
}
.comm-amount[data-v-bd2b7edb] { font-size: 14px; font-weight: 700; color: #10b981;
}

/* ===== Production Section ===== */
.prod-section[data-v-bd2b7edb] { text-align: center;
}
.prod-stats[data-v-bd2b7edb] {
  display: flex; gap: 8px;
  margin-bottom: 14px;
}
.prod-stat[data-v-bd2b7edb] {
  flex: 1;
  background: #f8fafc;
  border-radius: 10px;
  padding: 12px 8px;
}
.ps-num[data-v-bd2b7edb] { font-size: 22px; font-weight: 800; color: #6366f1;
}
.ps-label[data-v-bd2b7edb] { font-size: 12px; color: #94a3b8; margin-top: 2px;
}
.prod-bar-wrap[data-v-bd2b7edb] { display: flex; align-items: center; gap: 10px; margin-bottom: 12px;
}
.prod-bar[data-v-bd2b7edb] { flex: 1; height: 8px; background: #e2e8f0; border-radius: 4px; overflow: hidden;
}
.prod-bar-fill[data-v-bd2b7edb] {
  height: 100%; border-radius: 4px;
  background: linear-gradient(90deg, #6366f1, #06b6d4);
  transition: width 0.5s;
}
.prod-bar-label[data-v-bd2b7edb] { font-size: 13px; font-weight: 700; color: #6366f1; min-width: 36px;
}
.prod-warn[data-v-bd2b7edb] {
  font-size: 12px; color: #f59e0b; margin-bottom: 8px;
  background: rgba(245,158,11,0.08); padding: 6px 10px; border-radius: 8px;
}
.prod-info[data-v-bd2b7edb] {
  font-size: 12px; color: #64748b; margin-bottom: 8px;
  background: rgba(99,102,241,0.06); padding: 6px 10px; border-radius: 8px;
}
.prod-rate-row[data-v-bd2b7edb] {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 10px;
}
.rate-label[data-v-bd2b7edb] { font-size: 13px; color: #64748b;
}
.rate-auto-badge[data-v-bd2b7edb] {
  font-size: 12px; color: #6366f1;
  background: rgba(99,102,241,0.08);
  padding: 3px 10px; border-radius: 10px;
}
.prod-msg[data-v-bd2b7edb] { color: #6366f1;
}

/* ===== Form (Apply) ===== */
.form-header[data-v-bd2b7edb] {
  display: flex; align-items: center; gap: 10px;
  margin-bottom: 8px;
}
.form-icon[data-v-bd2b7edb] { font-size: 28px;
}
.form-header h3[data-v-bd2b7edb] { font-size: 18px; font-weight: 700; color: #1e293b; margin: 0;
}
.form-sub[data-v-bd2b7edb] { font-size: 14px; color: #64748b; margin-bottom: 12px;
}
.price-tag[data-v-bd2b7edb] {
  font-size: 32px; font-weight: 800; color: #6366f1;
  text-align: center; margin-bottom: 8px;
}
.balance-hint[data-v-bd2b7edb] { text-align: center; font-size: 13px; color: #94a3b8; margin-bottom: 14px;
}

/* ===== Status ===== */
.status-card[data-v-bd2b7edb] {
  display: flex; align-items: center; gap: 12px;
  padding: 16px; border-radius: 12px;
  background: rgba(245,158,11,0.08);
  border: 1px solid rgba(245,158,11,0.2);
  margin-bottom: 12px;
}
.status-icon[data-v-bd2b7edb] { font-size: 28px;
}
.status-title[data-v-bd2b7edb] { font-size: 16px; font-weight: 700; color: #92400e;
}
.status-desc[data-v-bd2b7edb] { font-size: 12px; color: #64748b; margin-top: 2px;
}

/* ===== AI Chat ===== */
.ai-fab[data-v-bd2b7edb] {
  position: fixed; bottom: 100px; right: 20px;
  width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(135deg, #6366f1, #06b6d4);
  display: flex; align-items: center; justify-content: center;
  font-size: 26px; cursor: pointer; z-index: 100;
  box-shadow: 0 4px 24px rgba(99,102,241,0.4);
  animation: fabPulse-bd2b7edb 2s ease-in-out infinite;
}
@keyframes fabPulse-bd2b7edb {
0%, 100% { box-shadow: 0 4px 20px rgba(99,102,241,0.3);
}
50% { box-shadow: 0 4px 36px rgba(99,102,241,0.55);
}
}
.ai-chat-panel[data-v-bd2b7edb] {
  position: fixed; bottom: 168px; right: 16px;
  width: calc(100% - 32px); max-width: 360px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.12), 0 0 0 1px rgba(99,102,241,0.08);
  z-index: 99;
  display: flex; flex-direction: column;
  max-height: 420px;
  overflow: hidden;
}
.chat-header[data-v-bd2b7edb] {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 16px;
  background: linear-gradient(135deg, #6366f1, #4f46e5);
  color: #fff;
  font-size: 15px; font-weight: 700;
  border-radius: 16px 16px 0 0;
}
.chat-close[data-v-bd2b7edb] { font-size: 18px; cursor: pointer; color: rgba(255,255,255,0.8);
}
.chat-messages[data-v-bd2b7edb] {
  flex: 1; overflow-y: auto; padding: 14px 16px;
  max-height: 260px;
  background: #f8fafc;
}
.chat-empty[data-v-bd2b7edb] { text-align: center; color: #94a3b8; font-size: 13px; padding: 24px;
}
.chat-msg-user[data-v-bd2b7edb], .chat-msg-ai[data-v-bd2b7edb] { margin-bottom: 10px;
}
.chat-msg-user[data-v-bd2b7edb] { display: flex; justify-content: flex-end;
}
.msg-bubble[data-v-bd2b7edb] {
  max-width: 80%; padding: 10px 14px; border-radius: 14px;
  font-size: 14px; line-height: 1.5;
}
.msg-user[data-v-bd2b7edb] { background: linear-gradient(135deg, #6366f1, #4f46e5); color: #fff; border-bottom-right-radius: 4px;
}
.msg-ai[data-v-bd2b7edb] { background: #fff; color: #334155; border-bottom-left-radius: 4px; border: 1px solid #e2e8f0;
}
.chat-input-row[data-v-bd2b7edb] {
  display: flex; gap: 8px; padding: 12px 16px;
  border-top: 1px solid #f1f5f9;
  background: #fff;
}
.chat-input[data-v-bd2b7edb] {
  flex: 1; padding: 10px 14px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 20px; color: #1e293b; font-size: 13px; outline: none;
}
.chat-input[data-v-bd2b7edb]:focus { border-color: #6366f1; background: #fff;
}
.chat-send[data-v-bd2b7edb] {
  padding: 10px 20px;
  background: linear-gradient(135deg, #6366f1, #4f46e5);
  color: #fff; border: none; border-radius: 20px;
  font-size: 13px; font-weight: 600; cursor: pointer;
}

/* ===== Modal ===== */
.modal-overlay[data-v-bd2b7edb] {
  position: fixed; top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
  backdrop-filter: blur(4px);
  z-index: 200;
  display: flex; align-items: center; justify-content: center;
}
.modal-sheet[data-v-bd2b7edb] {
  background: #fff;
  border-radius: 18px; padding: 20px;
  width: 90%; max-width: 380px;
  max-height: 80vh; overflow-y: auto;
  box-shadow: 0 16px 48px rgba(0,0,0,0.15);
}
.modal-head[data-v-bd2b7edb] {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 14px;
}
.modal-title[data-v-bd2b7edb] { font-size: 18px; font-weight: 700; color: #1e293b;
}
.modal-close[data-v-bd2b7edb] { font-size: 18px; cursor: pointer; color: #94a3b8;
}
.modal-close-btn[data-v-bd2b7edb] {
  width: 100%; padding: 12px; margin-top: 14px;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 10px; color: #64748b;
  font-size: 15px; cursor: pointer;
}
.team-stats-inline[data-v-bd2b7edb] { display: flex; gap: 10px; margin-bottom: 14px;
}
.tsi-item[data-v-bd2b7edb] {
  flex: 1; text-align: center;
  background: #f8fafc;
  border-radius: 10px; padding: 12px 8px;
}
.tsi-num[data-v-bd2b7edb] { font-size: 22px; font-weight: 800; color: #1e293b;
}
.tsi-num.gold[data-v-bd2b7edb] { color: #f59e0b;
}
.tsi-num.green[data-v-bd2b7edb] { color: #10b981;
}
.tsi-label[data-v-bd2b7edb] { font-size: 11px; color: #94a3b8; margin-top: 2px;
}
.log-row[data-v-bd2b7edb] {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #f1f5f9;
}
.log-info[data-v-bd2b7edb] { display: flex; flex-direction: column;
}
.log-remark[data-v-bd2b7edb] { font-size: 14px; color: #334155;
}
.log-time[data-v-bd2b7edb] { font-size: 12px; color: #94a3b8;
}
.log-amount[data-v-bd2b7edb] { font-size: 13px; font-weight: 600;
}
.log-amount.pos[data-v-bd2b7edb] { color: #06b6d4;
}


/* 代理商中心 */
.page[data-v-a376a489] { min-height:100vh; background:var(--bg-page); padding-bottom:100px;
}
.agent-hero[data-v-a376a489] { position:relative; margin-bottom:16px;
}
.hero-bg[data-v-a376a489] { position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(160deg,#8b5cf6,#6d28d9);border-radius:0 0 24px 24px;
}
.hero-content[data-v-a376a489] { position:relative;z-index:1;padding:28px 20px;color:var(--text-inverse);display:flex;align-items:center;gap:14px;
}
.hero-icon[data-v-a376a489] { font-size:40px;
}
.hero-title[data-v-a376a489] { font-size: var(--font-xl);font-weight:800;
}
.hero-sub[data-v-a376a489] { font-size: var(--font-sm);opacity:0.85;margin-top:2px;
}
.section[data-v-a376a489] { background:var(--text-inverse);border-radius:16px;padding:20px;margin:0 14px 16px;box-shadow:0 1px 4px rgba(0,0,0,0.03);
}
.sec-title[data-v-a376a489] { font-size: var(--font-md);font-weight:700;color:var(--text-primary);margin-bottom:14px;
}
.empty[data-v-a376a489] { text-align:center;color:var(--text-muted);padding:24px;font-size: var(--font-sm);
}

/* Form */
.form-header[data-v-a376a489] { display:flex;align-items:center;gap:10px;margin-bottom:4px;
}
.form-icon[data-v-a376a489] { font-size:36px;
}
.form-header h3[data-v-a376a489] { font-size: var(--font-lg);font-weight:700;margin:0;
}
.form-sub[data-v-a376a489] { font-size: var(--font-sm);color:var(--text-secondary);margin-bottom:20px;
}
.field[data-v-a376a489] { margin-bottom:14px;
}
.field label[data-v-a376a489] { display:block;font-size: var(--font-sm);font-weight:600;color:var(--text-primary);margin-bottom:6px;
}
.req[data-v-a376a489] { color:var(--red);
}
.inp[data-v-a376a489] { width:100%;padding:13px 16px;border:1px solid var(--border);border-radius:10px;font-size: var(--font-sm);background:var(--bg-input);color:var(--text-primary);outline:none;box-sizing:border-box;
}
.inp[data-v-a376a489]:focus { border-color:var(--accent);
}
.field-row[data-v-a376a489] { display:flex;gap:10px;
}
.field.half[data-v-a376a489] { flex:1;
}
.sel[data-v-a376a489] { width:100%;padding:13px 16px;border:1px solid var(--border);border-radius:10px;font-size: var(--font-sm);background:var(--text-inverse);color:var(--text-primary);outline:none;
}
.btn-submit[data-v-a376a489] { width:100%;padding:16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:var(--text-inverse);border:none;border-radius:14px;font-size: var(--font-md);font-weight:700;cursor:pointer;margin-top:8px;box-shadow:0 4px 14px rgba(124,58,237,0.3);
}
.btn-submit[data-v-a376a489]:active { transform:scale(0.97);
}
.btn-submit[data-v-a376a489]:disabled { opacity:0.5;
}

/* Status */
.status-card[data-v-a376a489] { display:flex;align-items:center;gap:16px;padding:20px;border-radius:14px;
}
.status-card.warning[data-v-a376a489] { background:#fef3c7;border:1px solid #fcd34d;
}
.status-icon[data-v-a376a489] { font-size:36px;
}
.status-title[data-v-a376a489] { font-size: var(--font-md);font-weight:700;
}
.status-desc[data-v-a376a489] { font-size: var(--font-sm);color:var(--text-secondary);margin-top:2px;
}

/* Region */
.region-card[data-v-a376a489] { text-align:center;
}
.region-badge[data-v-a376a489] { font-size: var(--font-lg);font-weight:800;color:#7c3aed;
}
.region-label[data-v-a376a489] { font-size: var(--font-sm);color:var(--text-muted);margin-top:4px;
}

/* Stats */
.stats-row[data-v-a376a489] { display:flex;gap:10px;padding:0 14px;margin-bottom:16px;
}
.stat[data-v-a376a489] { flex:1;background:var(--text-inverse);border-radius:14px;padding:16px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,0.03);cursor:pointer;transition:all 0.2s;
}
.stat[data-v-a376a489]:active { transform:scale(0.96);
}
.stat-num[data-v-a376a489] { font-size: var(--font-xl);font-weight:800;color:#7c3aed;
}
.stat-num.blue[data-v-a376a489] { color:var(--accent);
}
.stat-num.green[data-v-a376a489] { color:var(--green);
}
.stat-label[data-v-a376a489] { font-size: var(--font-xs);color:var(--text-muted);margin-top:4px;
}

/* Actions */
.action-grid[data-v-a376a489] { display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
}
.action-card[data-v-a376a489] { display:flex;align-items:center;gap:10px;background:var(--bg-page);border-radius:12px;padding:16px;cursor:pointer;transition:all 0.2s;
}
.action-card[data-v-a376a489]:active { transform:scale(0.96); background:var(--accent-light);
}
.ac-icon[data-v-a376a489] { font-size: var(--font-xl);
}
.ac-text[data-v-a376a489] { flex:1;font-size: var(--font-sm);font-weight:600;color:var(--text-primary);
}
.ac-arrow[data-v-a376a489] { color:var(--text-muted);font-size: var(--font-sm);
}

/* Referral */
.ref-info[data-v-a376a489] {
}
.ref-row[data-v-a376a489] { display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f5f9;
}
.ref-label[data-v-a376a489] { font-size: var(--font-sm);color:var(--text-secondary);
}
.ref-value[data-v-a376a489] { font-size: var(--font-sm);font-weight:600;color:var(--text-primary);
}
.ref-link[data-v-a376a489] { color:var(--accent);
}
.ref-hint[data-v-a376a489] { font-size: var(--font-xs);color:var(--text-muted);margin-top:8px;
}

/* Modal */
.modal-overlay[data-v-a376a489] { position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);z-index:2000;display:flex;align-items:flex-end;justify-content:center;
}
.modal-sheet[data-v-a376a489] { background:var(--text-inverse);border-radius:20px 20px 0 0;width:100%;max-height:65vh;overflow-y:auto;padding:20px;
}
.modal-head[data-v-a376a489] { display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;
}
.modal-title[data-v-a376a489] { font-size: var(--font-md);font-weight:700;
}
.modal-close[data-v-a376a489] { font-size: var(--font-lg);cursor:pointer;color:var(--text-muted);
}
.transfer-hint[data-v-a376a489] { font-size: var(--font-sm);color:var(--text-secondary);margin-bottom:12px;
}
.ref-user-row[data-v-a376a489], .ru-name[data-v-a376a489] { font-size: var(--font-sm);font-weight:600;
}
.ru-id[data-v-a376a489] { font-size: var(--font-xs);color:var(--text-muted);margin-top:2px;
}
.badge[data-v-a376a489] { display:inline-block;padding:3px 10px;border-radius:10px;font-size: var(--font-xs);font-weight:600;
}
.badge.info[data-v-a376a489] { background:var(--accent-light);color:var(--accent);
}
.badge.warning[data-v-a376a489] { background:#fef3c7;color:#d97706;
}
.badge.success[data-v-a376a489] { background:#f0fdf4;color:var(--green);
}

/* Premium Promo */
.promo-section[data-v-a376a489] { background:linear-gradient(160deg, #faf5ff 0%, var(--text-inverse) 100%); border:1px solid #e9d5ff;
}
.promo-header[data-v-a376a489] { display:flex;align-items:center;gap:14px;margin-bottom:20px;
}
.promo-icon[data-v-a376a489] { font-size:36px;
}
.promo-title[data-v-a376a489] { font-size: var(--font-lg);font-weight:800;color:#7c3aed;
}
.promo-sub[data-v-a376a489] { font-size: var(--font-sm);color:#a78bfa;margin-top:2px;line-height:1.4;
}
.qr-area[data-v-a376a489] { text-align:center;margin-bottom:20px;
}
.qr-card[data-v-a376a489] { display:inline-block;background:var(--text-inverse);border-radius:20px;padding:16px;box-shadow:0 4px 20px rgba(139,92,246,0.15);border:2px solid #e9d5ff;
}
.qr-img[data-v-a376a489] { display:block;border-radius:12px;
}
.qr-label[data-v-a376a489] { font-size: var(--font-xs);color:#a78bfa;margin-top:10px;font-weight:600;
}
.qr-divider[data-v-a376a489] { display:flex;align-items:center;gap:14px;margin:18px 0;
}
.qr-divider span[data-v-a376a489]:first-child,.qr-divider span[data-v-a376a489]:last-child { flex:1;height:1px;background:#e9d5ff;
}
.qr-divider span[data-v-a376a489]:nth-child(2) { font-size: var(--font-xs);color:#c4b5fd;font-weight:600;
}
.ref-code-area[data-v-a376a489] { margin-bottom:16px;
}
.ref-code-label[data-v-a376a489] { font-size: var(--font-xs);font-weight:600;color:#a78bfa;margin-bottom:6px;text-transform:uppercase;letter-spacing:1px;
}
.ref-code-box[data-v-a376a489] { display:flex;align-items:center;gap:10px;background:var(--text-inverse);border:2px solid #e9d5ff;border-radius:14px;padding:12px 16px;
}
.ref-code-val[data-v-a376a489] { font-size: var(--font-xl);font-weight:800;color:#7c3aed;letter-spacing:2px;flex:1;
}
.ref-copy-btn[data-v-a376a489] { padding:8px 20px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:var(--text-inverse);border:none;border-radius:20px;font-size: var(--font-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:all 0.2s;
}
.ref-copy-btn[data-v-a376a489]:active { transform:scale(0.94);
}
.ref-hint[data-v-a376a489] { font-size: var(--font-xs);color:#c4b5fd;margin-top:6px;
}
.share-link-area[data-v-a376a489] { margin-bottom:16px;
}
.share-link-box[data-v-a376a489] { display:flex;align-items:center;gap:8px;background:var(--text-inverse);border:1px solid #e9d5ff;border-radius:12px;padding:10px 14px;
}
.share-link-text[data-v-a376a489] { flex:1;font-size: var(--font-xs);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.promo-stats[data-v-a376a489] { display:flex;gap:12px;margin-bottom:16px;
}
.promo-stat[data-v-a376a489] { flex:1;text-align:center;background:var(--text-inverse);border-radius:12px;padding:14px;border:1px solid #e9d5ff;
}
.ps-num[data-v-a376a489] { font-size: var(--font-xl);font-weight:800;color:#7c3aed;
}
.ps-num.gold[data-v-a376a489] { color:#d97706;
}
.ps-label[data-v-a376a489] { font-size: var(--font-xs);color:#a78bfa;margin-top:2px;
}
.promo-list-btn[data-v-a376a489] { width:100%;padding:12px;background:var(--text-inverse);border:2px solid #e9d5ff;border-radius:12px;color:#7c3aed;font-size: var(--font-sm);font-weight:600;cursor:pointer;transition:all 0.2s;
}
.promo-list-btn[data-v-a376a489]:active { background:#faf5ff;
}


.page[data-v-e416727d] { min-height: 100vh; background: #f5f3ff; padding-bottom: 100px;
}
.hero[data-v-e416727d] { background: linear-gradient(135deg, #6366f1, #4f46e5); padding: 20px 18px 24px; color: var(--text-inverse);
}
.back[data-v-e416727d] { font-size: var(--font-sm); opacity: 0.8; cursor: pointer; display: inline-block; margin-bottom: 12px;
}
.hero-main[data-v-e416727d] { display: flex; align-items: center; gap: 14px;
}
.hero-icon[data-v-e416727d] { font-size: 40px;
}
.hero-title[data-v-e416727d] { font-size: var(--font-xl); font-weight: 800;
}
.hero-sub[data-v-e416727d] { font-size: var(--font-sm); opacity: 0.85; margin-top: 4px;
}
.loading-wrap[data-v-e416727d] { padding: 20px 16px;
}
.sk[data-v-e416727d] { background: var(--text-inverse); border-radius: 14px; padding: 20px; margin-bottom: 12px;
}
.sk-line[data-v-e416727d] { height: 14px; background: var(--border); border-radius: 7px; margin-bottom: 10px;
}
.sk-line.w40[data-v-e416727d] { width: 40%;
}
.sk-line.w60[data-v-e416727d] { width: 60%;
}
.product-list[data-v-e416727d] { padding: 12px 14px;
}
.product-card[data-v-e416727d] {
  display: flex; align-items: center; gap: 12px;
  background: var(--text-inverse); border-radius: 16px; padding: 14px; margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.pc-img-wrap[data-v-e416727d] { width: 80px; height: 80px; border-radius: 12px; overflow: hidden; background: var(--bg-input); flex-shrink: 0; display: flex; align-items: center; justify-content: center;
}
.pc-img[data-v-e416727d] { width: 100%; height: 100%; object-fit: cover;
}
.pc-placeholder[data-v-e416727d] { font-size: 36px; color: #cbd5e1;
}
.pc-body[data-v-e416727d] { flex: 1; min-width: 0;
}
.pc-name[data-v-e416727d] { font-size: var(--font-sm); font-weight: 700; color: var(--text-primary); line-height: 1.3;
}
.pc-desc[data-v-e416727d] { font-size: var(--font-xs); color: var(--text-muted); margin-top: 2px;
}
.pc-prices[data-v-e416727d] { margin-top: 6px; display: flex; gap: 10px; align-items: baseline;
}
.pc-wholesale[data-v-e416727d] { font-size: var(--font-md); font-weight: 800; color: #6366f1;
}
.pc-retail[data-v-e416727d] { font-size: var(--font-xs); color: var(--text-muted); text-decoration: line-through;
}
.pc-stock[data-v-e416727d] { font-size: var(--font-xs); color: var(--text-secondary); margin-top: 2px;
}
.pc-action[data-v-e416727d] { flex-shrink: 0;
}
.qty-ctrl[data-v-e416727d] { display: flex; align-items: center; gap: 8px;
}
.qty-btn[data-v-e416727d] { width: 32px; height: 32px; border-radius: 50%; border: 2px solid #c7d2fe; background: var(--text-inverse); color: #6366f1; font-size: var(--font-md); font-weight: 700; cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.qty-val[data-v-e416727d] { font-size: var(--font-md); font-weight: 700; color: var(--text-primary); min-width: 24px; text-align: center;
}
.add-btn[data-v-e416727d] { padding: 10px 18px; background: linear-gradient(135deg,#6366f1,#4f46e5); color: var(--text-inverse); border: none; border-radius: 20px; font-size: var(--font-sm); font-weight: 700; cursor: pointer;
}
.add-btn[data-v-e416727d]:active { transform: scale(0.95);
}
.empty[data-v-e416727d] { text-align: center; padding: 60px 20px; color: var(--text-muted);
}
.empty-icon[data-v-e416727d] { font-size: 48px; margin-bottom: 12px;
}
.cart-bar[data-v-e416727d] { position: fixed; bottom: 0; left: 0; right: 0; background: var(--text-inverse); padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 -4px 20px rgba(0,0,0,0.08); z-index: 100;
}
.cart-info[data-v-e416727d] { display: flex; flex-direction: column;
}
.cart-info span[data-v-e416727d] { font-size: var(--font-sm); color: var(--text-secondary);
}
.cart-price[data-v-e416727d] { font-size: var(--font-md) !important; font-weight: 800; color: #6366f1 !important;
}
.cart-btn[data-v-e416727d] { padding: 14px 28px; background: linear-gradient(135deg,#6366f1,#4f46e5); color: var(--text-inverse); border: none; border-radius: 24px; font-size: var(--font-sm); font-weight: 700; cursor: pointer; box-shadow: 0 4px 16px rgba(99,102,241,0.3);
}
.cart-btn[data-v-e416727d]:active { transform: scale(0.96);
}

.page[data-v-67477278]{max-width:480px;margin:0 auto;background:var(--bg-page);min-height:100vh;padding-bottom:30px}
.nav-bar[data-v-67477278]{display:flex;align-items:center;padding:12px 16px;background:var(--text-inverse);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.nav-back[data-v-67477278]{background:none;border:none;font-size: var(--font-sm);color:var(--accent);cursor:pointer;padding:0}
.nav-title[data-v-67477278]{flex:1;text-align:center;font-size: var(--font-md);font-weight:700}
.loading-msg[data-v-67477278]{text-align:center;padding:60px;color:var(--text-muted)}
.card[data-v-67477278]{background:var(--text-inverse);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-sm)}
.pool-card[data-v-67477278]{background:linear-gradient(135deg,#1e40af,var(--accent));color:var(--text-inverse);padding:20px;text-align:center}
.pool-icon[data-v-67477278]{font-size:36px;margin-bottom:4px}
.pool-label[data-v-67477278]{font-size: var(--font-xs);opacity:.8}
.pool-amount[data-v-67477278]{font-size:32px;font-weight:800;margin:4px 0}
.pool-info[data-v-67477278]{font-size: var(--font-xs);opacity:.7;margin-top:6px}
.section[data-v-67477278]{margin:10px 12px}
.sec-title[data-v-67477278]{font-size: var(--font-sm);font-weight:700;margin-bottom:12px}
.progress-wrap[data-v-67477278]{margin-bottom:12px}
.progress-bar[data-v-67477278]{height:14px;background:var(--border);border-radius:7px;overflow:hidden}
.progress-fill[data-v-67477278]{height:100%;border-radius:7px;transition:width .5s}
.progress-text[data-v-67477278]{display:flex;justify-content:space-between;font-size: var(--font-xs);margin-top:6px;color:var(--text-secondary)}
.green[data-v-67477278]{color:var(--green)}.red[data-v-67477278]{color:var(--red)}.blue[data-v-67477278]{color:var(--accent)}
.stats-mini[data-v-67477278]{display:flex;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.sm-item[data-v-67477278]{flex:1;text-align:center}
.sm-num[data-v-67477278]{display:block;font-size: var(--font-lg);font-weight:700}
.sm-label[data-v-67477278]{font-size: var(--font-xs);color:var(--text-muted)}
.hint[data-v-67477278]{font-size: var(--font-xs);color:var(--text-muted);margin-bottom:10px}
.link-row[data-v-67477278]{display:flex;gap:8px;align-items:center}
.link-text[data-v-67477278]{flex:1;font-size: var(--font-xs);background:var(--bg-input);padding:10px;border-radius:var(--radius-sm);word-break:break-all;color:var(--text-secondary)}
.btn-copy[data-v-67477278]{background:var(--accent);color:var(--text-inverse);border:none;padding:10px 14px;border-radius:var(--radius-sm);font-size: var(--font-xs);font-weight:600;cursor:pointer;white-space:nowrap}
.empty[data-v-67477278]{text-align:center;color:var(--text-muted);padding:20px;font-size: var(--font-sm)}
.inv-item[data-v-67477278]{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}
.inv-item[data-v-67477278]:last-child{border-bottom:none}
.inv-left[data-v-67477278]{display:flex;flex-direction:column;gap:2px}
.inv-name[data-v-67477278]{font-size: var(--font-sm);font-weight:600}
.inv-tier[data-v-67477278]{font-size:11px;color:var(--accent)}
.inv-date[data-v-67477278]{font-size:11px;color:var(--text-muted)}
.inv-amount[data-v-67477278]{font-size: var(--font-sm);font-weight:700}

.page[data-v-5ef0e7d6] { padding:15px; min-height:100vh; background:#f5f6fa;
}
.header[data-v-5ef0e7d6] { font-size: var(--font-lg); font-weight:bold; margin-bottom:15px; color:#333;
}
.card[data-v-5ef0e7d6] { background:var(--text-inverse); border-radius:12px; padding:16px; margin-bottom:12px; box-shadow:0 2px 8px rgba(0,0,0,0.06);
}
.merchant-hero[data-v-5ef0e7d6] { background:linear-gradient(135deg,#07C160,#06AD56); color:var(--text-inverse);
}
.field[data-v-5ef0e7d6] { margin-bottom:12px;
}
.field label[data-v-5ef0e7d6] { display:block; font-size: var(--font-xs); color:#666; margin-bottom:6px; font-weight:bold;
}
.field-row[data-v-5ef0e7d6] { display:flex; gap:10px;
}
.inp[data-v-5ef0e7d6], .sel[data-v-5ef0e7d6] { width:100%; padding:10px 12px; border:1px solid #ddd; border-radius:8px; font-size: var(--font-sm); outline:none; box-sizing:border-box;
}
.sel[data-v-5ef0e7d6] { background:var(--text-inverse);
}
.sel[data-v-5ef0e7d6]:disabled { background:#f5f5f5; color:#999;
}
.inp[data-v-5ef0e7d6]:focus, .sel[data-v-5ef0e7d6]:focus { border-color:#07C160;
}
.upload-box[data-v-5ef0e7d6] { width:100%; height:100px; border:2px dashed #ddd; border-radius:8px; display:flex; align-items:center; justify-content:center; cursor:pointer; overflow:hidden;
}
.upload-box[data-v-5ef0e7d6]:hover { border-color:#07C160;
}
.upload-placeholder[data-v-5ef0e7d6] { font-size: var(--font-xl); color:#ccc;
}
.upload-preview[data-v-5ef0e7d6] { width:100%; height:100%; object-fit:cover;
}
.btn-green[data-v-5ef0e7d6] { width:100%; padding:14px; background:linear-gradient(135deg,#07C160,#06AD56); color:var(--text-inverse); border:none; border-radius:8px; font-size: var(--font-sm); cursor:pointer;
}
.btn-green[data-v-5ef0e7d6]:disabled { background:#ccc; cursor:not-allowed;
}
.btn-orange[data-v-5ef0e7d6] { background:linear-gradient(135deg,#FF6B35,#FF4500); color:var(--text-inverse); border:none; padding:12px 24px; border-radius:24px; font-size: var(--font-sm); cursor:pointer;
}
.btn-sm[data-v-5ef0e7d6] { background:#07C160; color:var(--text-inverse); border:none; padding:6px 14px; border-radius:6px; font-size: var(--font-xs); cursor:pointer;
}
.btn-xs[data-v-5ef0e7d6] { background:#f0f0f0; border:1px solid #ddd; padding:4px 10px; border-radius:4px; font-size:11px; cursor:pointer; color:#666;
}

/* Tabs */
.tab-nav[data-v-5ef0e7d6] { display:flex; background:var(--text-inverse); border-radius:12px; overflow:hidden; margin-bottom:12px;
}
.tab-btn[data-v-5ef0e7d6] { flex:1; text-align:center; padding:12px; font-size: var(--font-sm); color:#999; cursor:pointer; border-bottom:2px solid transparent;
}
.tab-btn.active[data-v-5ef0e7d6] { color:#07C160; border-bottom-color:#07C160; font-weight:bold;
}

/* Product Form */
.product-form[data-v-5ef0e7d6] { background:#f9f9f9; border-radius:8px; padding:12px; margin-bottom:12px;
}

/* Product List */
.product-item[data-v-5ef0e7d6] { display:flex; align-items:center; padding:10px 0; border-bottom:1px solid #f5f5f5; gap:10px;
}
.pi-img[data-v-5ef0e7d6] { width:44px; height:44px; border-radius:8px; background:#f0f0f0; display:flex; align-items:center; justify-content:center; font-size: var(--font-lg);
}
.pi-info[data-v-5ef0e7d6] { flex:1;
}
.pi-name[data-v-5ef0e7d6] { font-size: var(--font-sm); font-weight:500;
}
.pi-meta[data-v-5ef0e7d6] { font-size: var(--font-xs); color:#999; margin-top:2px;
}

/* Coupon List */
.coupon-item[data-v-5ef0e7d6] { display:flex; align-items:center; padding:10px 0; border-bottom:1px solid #f5f5f5; gap:10px;
}
.cp-left[data-v-5ef0e7d6] { width:60px; height:44px; background:#FFF7E6; border-radius:8px; display:flex; align-items:center; justify-content:center;
}
.cp-value[data-v-5ef0e7d6] { font-size: var(--font-sm); font-weight:bold; color:#FF6B35;
}
.cp-info[data-v-5ef0e7d6] { flex:1; font-size: var(--font-xs); color:#999; display:flex; flex-direction:column;
}

/* QR */
.qr-wrap[data-v-5ef0e7d6] { display:flex; justify-content:center;
}
.qr-wrap canvas[data-v-5ef0e7d6] { border:1px solid #eee; border-radius:8px; padding:8px;
}
.tier-grid[data-v-5ef0e7d6]{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tier-card[data-v-5ef0e7d6]{background:var(--text-inverse);border:2px solid var(--border);border-radius:var(--radius-md);padding:14px;text-align:center;cursor:pointer;transition:all .2s}
.tier-card[data-v-5ef0e7d6]:active{transform:scale(.97)}
.tier-card[data-v-5ef0e7d6]:hover{border-color:var(--accent)}
.tier-header[data-v-5ef0e7d6]{margin-bottom:6px}
.tier-label[data-v-5ef0e7d6]{font-size: var(--font-xs);color:var(--accent);font-weight:700;background:var(--accent-light);padding:2px 10px;border-radius:10px}
.tier-price[data-v-5ef0e7d6]{display:block;font-size: var(--font-xl);font-weight:800;margin:8px 0;color:var(--text-primary)}
.tier-days[data-v-5ef0e7d6]{font-size: var(--font-xs);color:var(--green);font-weight:600;margin-bottom:6px}
.tier-desc[data-v-5ef0e7d6]{font-size:11px;color:var(--text-muted);margin-bottom:10px;line-height:1.4}
.tier-btn[data-v-5ef0e7d6]{width:100%;padding:8px;background:var(--accent);color:var(--text-inverse);border:none;border-radius:var(--radius-sm);font-size: var(--font-xs);font-weight:600;cursor:pointer}
.tier-btn[data-v-5ef0e7d6]:disabled{opacity:.5}
.upload-hint[data-v-5ef0e7d6] { font-size: 11px; color: #999; margin-top: 2px;
}

.page[data-v-341e5d7a] { min-height:100vh; background:#f5f5f7; padding-bottom:80px;
}
.hero[data-v-341e5d7a] { position:relative; margin-bottom:16px;
}
.hero-bg[data-v-341e5d7a] { position:absolute;top:0;left:0;right:0;bottom:0; background:linear-gradient(160deg,#6366f1,#4f46e5); border-radius:0 0 24px 24px;
}
.hero-content[data-v-341e5d7a] { position:relative;z-index:1; padding:24px 20px; color:var(--text-inverse); display:flex; align-items:center; gap:14px;
}
.hero-icon[data-v-341e5d7a] { font-size:42px;
}
.hero-title[data-v-341e5d7a] { font-size: var(--font-lg); font-weight:800;
}
.hero-sub[data-v-341e5d7a] { font-size: var(--font-xs); opacity:0.9; margin-top:4px; line-height:1.4;
}
.tabs[data-v-341e5d7a] { display:flex; gap:6px; padding:0 14px; margin-bottom:14px;
}
.tabs span[data-v-341e5d7a] { flex:1; text-align:center; padding:10px 0; border-radius:12px; font-size: var(--font-sm); font-weight:600; background:var(--text-inverse); color:var(--text-secondary); cursor:pointer;
}
.tabs span.on[data-v-341e5d7a] { background:#6366f1; color:var(--text-inverse);
}
.card[data-v-341e5d7a] { background:var(--text-inverse); border-radius:14px; padding:16px; margin:0 14px 10px; box-shadow:0 1px 4px rgba(0,0,0,0.03);
}
.req-header[data-v-341e5d7a] { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px;
}
.req-product[data-v-341e5d7a] { font-size: var(--font-md); font-weight:700; color:var(--text-primary);
}
.req-qty[data-v-341e5d7a] { font-size: var(--font-xs); color:#6366f1; font-weight:600;
}
.req-detail[data-v-341e5d7a] { font-size: var(--font-sm); color:var(--text-secondary); margin-bottom:8px; line-height:1.5;
}
.req-footer[data-v-341e5d7a] { display:flex; justify-content:space-between; align-items:center;
}
.req-price[data-v-341e5d7a] { font-size: var(--font-md); font-weight:800; color:#ef4444;
}
.req-status[data-v-341e5d7a] { font-size: var(--font-xs); padding:3px 10px; border-radius:10px; font-weight:600;
}
.req-status.sunpaid[data-v-341e5d7a] { background:#fee2e2; color:var(--red);
}
.req-status.sopen[data-v-341e5d7a] { background:#fef3c7; color:#d97706;
}
.req-status.ssupplied[data-v-341e5d7a] { background:#e0e7ff; color:#6366f1;
}
.req-status.scompleted[data-v-341e5d7a] { background:#d1fae5; color:#059669;
}
.req-status.scancelled[data-v-341e5d7a] { background:#f1f5f9; color:var(--text-muted);
}
.supply-area[data-v-341e5d7a] { margin-top:10px; padding-top:10px; border-top:1px solid #f1f5f9;
}
.supply-row[data-v-341e5d7a] { display:flex; align-items:center; justify-content:space-between;
}
.supply-hint[data-v-341e5d7a] { font-size: var(--font-xs); color:var(--text-secondary);
}
.btn-supply[data-v-341e5d7a] { padding:8px 20px; background:linear-gradient(135deg,#6366f1,#4f46e5); color:var(--text-inverse); border:none; border-radius:10px; font-size: var(--font-sm); font-weight:600; cursor:pointer;
}
.supply-done[data-v-341e5d7a] { margin-top:10px; padding:8px 12px; background:#f0fdf4; border-radius:8px; font-size: var(--font-xs); color:#059669;
}
.my-action[data-v-341e5d7a] { margin-top:10px; padding-top:10px; border-top:1px solid #f1f5f9; display:flex; align-items:center; justify-content:space-between;
}
.frozen-hint[data-v-341e5d7a] { font-size: var(--font-xs); color:var(--text-secondary);
}
.done-hint[data-v-341e5d7a] { font-size: var(--font-xs); color:#059669;
}
.cancel-hint[data-v-341e5d7a] { font-size: var(--font-xs); color:var(--text-muted);
}
.btn-confirm[data-v-341e5d7a] { padding:8px 20px; background:#10b981; color:var(--text-inverse); border:none; border-radius:10px; font-size: var(--font-sm); font-weight:600; cursor:pointer;
}
.btn-cancel[data-v-341e5d7a] { padding:8px 20px; background:var(--text-inverse); color:#ef4444; border:1px solid #fecaca; border-radius:10px; font-size: var(--font-sm); font-weight:600; cursor:pointer;
}
.form-card[data-v-341e5d7a] { background:var(--text-inverse); border-radius:16px; padding:20px; margin:0 14px; box-shadow:0 1px 4px rgba(0,0,0,0.03);
}
.field[data-v-341e5d7a] { margin-bottom:14px;
}
.field label[data-v-341e5d7a] { display:block; font-size: var(--font-sm); font-weight:600; color:var(--text-primary); margin-bottom:6px;
}
.inp[data-v-341e5d7a] { width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:10px; font-size: var(--font-sm); background:var(--bg-input); color:var(--text-primary); outline:none; box-sizing:border-box;
}
.ta[data-v-341e5d7a] { min-height:80px; resize:vertical;
}
.publish-info[data-v-341e5d7a] { font-size: var(--font-xs); color:var(--text-secondary); margin-bottom:12px; padding:8px 12px; background:var(--bg-input); border-radius:8px;
}
.btn-submit[data-v-341e5d7a] { width:100%; padding:14px; background:linear-gradient(135deg,#6366f1,#4f46e5); color:var(--text-inverse); border:none; border-radius:14px; font-size: var(--font-md); font-weight:700; cursor:pointer;
}
.btn-submit[data-v-341e5d7a]:disabled { opacity:0.5;
}
.empty[data-v-341e5d7a] { text-align:center; color:var(--text-muted); padding:40px; font-size: var(--font-sm);
}

/* Pay Dialog */
.pay-overlay[data-v-341e5d7a] { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.5); display:flex; align-items:center; justify-content:center; z-index:200; padding:20px;
}
.pay-dialog[data-v-341e5d7a] { background:var(--text-inverse); border-radius:20px; padding:32px 24px; width:100%; max-width:320px; text-align:center;
}
.pay-icon[data-v-341e5d7a] { font-size:48px; margin-bottom:12px;
}
.pay-title[data-v-341e5d7a] { font-size: var(--font-md); font-weight:700; color:var(--text-primary); margin-bottom:8px;
}
.pay-amount[data-v-341e5d7a] { font-size:36px; font-weight:800; color:#ef4444; margin-bottom:4px;
}
.pay-desc[data-v-341e5d7a] { font-size: var(--font-xs); color:var(--text-muted); margin-bottom:20px;
}
.pay-btns[data-v-341e5d7a] { display:flex; gap:10px;
}
.pay-cancel[data-v-341e5d7a] { flex:1; padding:12px; background:#f1f5f9; border:none; border-radius:10px; font-size: var(--font-sm); cursor:pointer; color:var(--text-secondary); font-weight:600;
}
.pay-confirm[data-v-341e5d7a] { flex:1; padding:12px; background:linear-gradient(135deg,#10b981,#059669); color:var(--text-inverse); border:none; border-radius:10px; font-size: var(--font-sm); cursor:pointer; font-weight:600;
}
.pay-confirm[data-v-341e5d7a]:disabled { opacity:0.5;
}
.btn-pay[data-v-341e5d7a] { padding:8px 20px; background:linear-gradient(135deg,#10b981,#059669); color:var(--text-inverse); border:none; border-radius:10px; font-size: var(--font-sm); font-weight:600; cursor:pointer;
}
.req-status.sunpaid[data-v-341e5d7a] { background:#fee2e2; color:var(--red);
}

.page[data-v-83e78073] { min-height:100vh; background:#f5f5f7; padding-bottom:120px;
}
.pay-header[data-v-83e78073] { display:flex; align-items:center; gap:12px; padding:16px 18px; background:var(--text-inverse);
}
.back-btn[data-v-83e78073] { font-size: var(--font-md); color:#3b82f6; cursor:pointer; font-weight:600;
}
.pay-title[data-v-83e78073] { font-size: var(--font-md); font-weight:700; color:var(--text-primary);
}

/* Product Card */
.product-card[data-v-83e78073] { display:flex; gap:14px; background:var(--text-inverse); margin:12px 14px; padding:14px; border-radius:16px; box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.product-img[data-v-83e78073] { width:80px; height:80px; border-radius:12px; object-fit:cover;
}
.product-img-placeholder[data-v-83e78073] { width:80px; height:80px; border-radius:12px; background:#f1f5f9; display:flex; align-items:center; justify-content:center; font-size:32px;
}
.product-detail[data-v-83e78073] { flex:1; display:flex; flex-direction:column; justify-content:center; gap:4px;
}
.product-name[data-v-83e78073] { font-size: var(--font-md); font-weight:700; color:var(--text-primary);
}
.product-merchant[data-v-83e78073] { font-size: var(--font-xs); color:var(--text-muted);
}
.product-price[data-v-83e78073] { font-size: var(--font-lg); font-weight:800; color:#ef4444; margin-top:4px;
}

/* Address Card */
.address-card[data-v-83e78073] { display:flex; gap:12px; background:var(--text-inverse); margin:12px 14px; padding:16px; border-radius:16px; box-shadow:0 1px 3px rgba(0,0,0,0.04); align-items:flex-start;
}
.addr-icon[data-v-83e78073] { font-size: var(--font-lg); flex-shrink:0; margin-top:2px;
}
.addr-info[data-v-83e78073] { flex:1;
}
.addr-contact[data-v-83e78073] { font-size: var(--font-sm); font-weight:600; color:var(--text-primary); margin-bottom:4px;
}
.addr-full[data-v-83e78073] { font-size: var(--font-sm); color:var(--text-secondary); line-height:1.5;
}

/* Payment Method */
.method-section[data-v-83e78073] { background:var(--text-inverse); margin:12px 14px; padding:20px; border-radius:16px; box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.section-label[data-v-83e78073] { font-size: var(--font-sm); color:var(--text-secondary); margin-bottom:12px;
}
.method-option[data-v-83e78073] { display:flex; align-items:center; gap:10px; padding:14px; border:2px solid var(--border); border-radius:12px; margin-bottom:8px; cursor:pointer; transition:all 0.2s;
}
.method-option.active[data-v-83e78073] { border-color:#3b82f6; background:#eff6ff;
}
.method-icon[data-v-83e78073] { font-size: var(--font-lg);
}
.method-name[data-v-83e78073] { flex:1; font-size: var(--font-sm); font-weight:600; color:var(--text-primary);
}
.method-check[data-v-83e78073] { font-size: var(--font-md); color:#3b82f6;
}

/* Amount Section */
.amount-section[data-v-83e78073] { background:var(--text-inverse); margin:12px 14px; padding:20px; border-radius:16px; box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.amount-label[data-v-83e78073] { font-size: var(--font-sm); color:var(--text-secondary); margin-bottom:10px;
}
.amount-display[data-v-83e78073] { text-align:center; padding:10px 0;
}
.amount-big[data-v-83e78073] { font-size:36px; font-weight:800; color:var(--text-primary);
}

/* Coupon */
.card[data-v-83e78073] { background:var(--text-inverse); margin:12px 14px; padding:20px; border-radius:16px; box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.section-title[data-v-83e78073] { font-size: var(--font-sm); color:var(--text-secondary); margin-bottom:10px;
}
.coupon-option[data-v-83e78073] { display:flex; align-items:center; gap:10px; padding:12px; border:2px solid var(--border); border-radius:12px; margin-bottom:8px; cursor:pointer; transition:all 0.2s;
}
.coupon-option.selected[data-v-83e78073] { border-color:#3b82f6; background:#eff6ff;
}
.coupon-option.disabled[data-v-83e78073] { opacity:0.4; cursor:not-allowed;
}
.cp-check[data-v-83e78073] { font-size: var(--font-lg); color:#3b82f6; width:24px;
}
.cp-info[data-v-83e78073] { flex:1;
}
.cp-value[data-v-83e78073] { font-size: var(--font-md); font-weight:700; color:var(--text-primary);
}
.cp-type[data-v-83e78073] { font-size: var(--font-xs); color:var(--text-muted); margin-left:6px;
}
.cp-discount[data-v-83e78073] { font-size: var(--font-sm); font-weight:700; color:#ef4444;
}
.cp-hint[data-v-83e78073] { font-size: var(--font-xs); color:var(--text-muted);
}
.no-coupon-hint[data-v-83e78073] { text-align:center; color:#3b82f6; font-size: var(--font-sm); padding:8px; cursor:pointer;
}

/* Total */
.total-section[data-v-83e78073] { background:var(--text-inverse); margin:12px 14px; padding:20px; border-radius:16px; box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.total-row[data-v-83e78073] { display:flex; justify-content:space-between; align-items:center; padding:8px 0; font-size: var(--font-sm); color:var(--text-secondary);
}
.total-row.discount span[data-v-83e78073]:last-child { color:#ef4444; font-weight:600;
}
.total-divider[data-v-83e78073] { height:1px; background:var(--border); margin:10px 0;
}
.total-row.final[data-v-83e78073] { font-size: var(--font-md); font-weight:700; color:var(--text-primary);
}
.final-price[data-v-83e78073] { font-size: var(--font-xl); font-weight:800; color:#ef4444;
}

/* Pay Bar */
.pay-bar[data-v-83e78073] { position:fixed; bottom:0; left:0; right:0; background:var(--text-inverse); padding:16px 20px; box-shadow:0 -2px 10px rgba(0,0,0,0.06); display:flex; align-items:center; gap:16px; z-index:100;
}
.pay-info[data-v-83e78073] { flex:1;
}
.pay-label[data-v-83e78073] { display:block; font-size: var(--font-xs); color:var(--text-secondary);
}
.pay-total[data-v-83e78073] { display:block; font-size: var(--font-xl); font-weight:800; color:#ef4444;
}
.pay-btn[data-v-83e78073] { padding:14px 32px; background:linear-gradient(135deg,#3b82f6,var(--accent)); color:var(--text-inverse); border:none; border-radius:14px; font-size: var(--font-md); font-weight:700; cursor:pointer; box-shadow:0 4px 16px rgba(37,99,235,0.3); white-space:nowrap; transition:all 0.2s;
}
.pay-btn[data-v-83e78073]:active { transform:scale(0.96);
}
.pay-btn[data-v-83e78073]:disabled { opacity:0.4; transform:none;
}

.page[data-v-f7ec8af9] { min-height:100vh; background:#f5f5f7; padding-bottom:100px;
}
.header-bar[data-v-f7ec8af9] { display:flex; align-items:center; gap:12px; padding:16px 18px; background:var(--text-inverse);
}
.back-btn[data-v-f7ec8af9] { font-size: var(--font-sm); color:#3b82f6; cursor:pointer; font-weight:600;
}
.page-title[data-v-f7ec8af9] { font-size: var(--font-md); font-weight:700; color:var(--text-primary);
}

/* Order Card */
.order-card[data-v-f7ec8af9] { display:flex; align-items:center; gap:14px; margin:16px 14px; padding:16px; background:var(--text-inverse); border-radius:16px; box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.order-img[data-v-f7ec8af9] { width:64px; height:64px; border-radius:12px; object-fit:cover; flex-shrink:0;
}
.order-icon[data-v-f7ec8af9] { font-size:36px;
}
.order-name[data-v-f7ec8af9] { font-size: var(--font-sm); font-weight:600; color:var(--text-primary);
}
.order-amount[data-v-f7ec8af9] { font-size: var(--font-lg); font-weight:800; color:#ef4444; margin-top:4px;
}

/* Form Card */
.form-card[data-v-f7ec8af9] { margin:0 14px 16px; padding:20px; background:var(--text-inverse); border-radius:16px; box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.form-group[data-v-f7ec8af9] { margin-bottom:18px;
}
.form-label[data-v-f7ec8af9] { display:block; font-size: var(--font-sm); font-weight:600; color:#475569; margin-bottom:8px;
}
.form-input[data-v-f7ec8af9] { width:100%; padding:14px; border:1.5px solid var(--border); border-radius:12px; font-size: var(--font-sm); color:var(--text-primary); outline:none; box-sizing:border-box; background:var(--bg-input); transition:border 0.2s;
}
.form-input[data-v-f7ec8af9]:focus { border-color:#3b82f6; background:var(--text-inverse);
}
.form-textarea[data-v-f7ec8af9] { width:100%; padding:14px; border:1.5px solid var(--border); border-radius:12px; font-size: var(--font-sm); color:var(--text-primary); outline:none; box-sizing:border-box; background:var(--bg-input); resize:none; font-family:inherit; transition:border 0.2s;
}
.form-textarea[data-v-f7ec8af9]:focus { border-color:#3b82f6; background:var(--text-inverse);
}

/* Region Picker */
.region-picker[data-v-f7ec8af9] { display:flex; align-items:center; gap:6px;
}
.region-sel[data-v-f7ec8af9] { flex:1; padding:12px 8px; border:1.5px solid var(--border); border-radius:12px; font-size: var(--font-sm); color:var(--text-primary); outline:none; background:var(--bg-input); appearance:none; -webkit-appearance:none; text-align:center; cursor:pointer;
}
.region-sel[data-v-f7ec8af9]:disabled { opacity:0.4; cursor:not-allowed;
}
.region-arrow[data-v-f7ec8af9] { font-size: var(--font-sm); color:#cbd5e1; flex-shrink:0;
}

/* Submit */
.submit-btn[data-v-f7ec8af9] { display:block; width:calc(100% - 28px); margin:20px 14px; padding:16px; background:linear-gradient(135deg,#3b82f6,var(--accent)); color:var(--text-inverse); border:none; border-radius:14px; font-size: var(--font-md); font-weight:700; cursor:pointer; box-shadow:0 4px 16px rgba(37,99,235,0.3);
}
.submit-btn[data-v-f7ec8af9]:active { transform:scale(0.97);
}
.submit-btn[data-v-f7ec8af9]:disabled { opacity:0.4; transform:none;
}
.wx-import-btn[data-v-f7ec8af9] { font-size: 14px; color: #07C160; font-weight: 600; cursor: pointer; padding: 6px 14px; border: 1px solid #07C160; border-radius: 18px; background: #f0fff4; white-space: nowrap;
}
.wx-import-btn[data-v-f7ec8af9]:active { background: #d9f9e6;
}

.page[data-v-a1c5b5f2] { min-height:100vh; background:var(--bg-page); padding-bottom:80px;
}
/* Hero */
.hero[data-v-a1c5b5f2] { position:relative; margin-bottom:0;
}
.hero-bg[data-v-a1c5b5f2] { position:absolute;top:0;left:0;right:0;bottom:60px;background:linear-gradient(160deg,var(--accent),var(--accent-dark));border-radius:0 0 28px 28px;
}
.hero-content[data-v-a1c5b5f2] { position:relative;z-index:1;padding:16px 18px 0;display:flex;align-items:center;justify-content:space-between;
}
.back-btn[data-v-a1c5b5f2] { color:rgba(255,255,255,0.85);font-size: var(--font-sm);cursor:pointer;
}
.hero-center[data-v-a1c5b5f2] { display:flex;align-items:center;gap:10px;
}
.hero-icon[data-v-a1c5b5f2] { font-size:32px;
}
.hero-title[data-v-a1c5b5f2] { font-size: var(--font-lg);font-weight:800;color:var(--text-inverse);
}
.hero-sub[data-v-a1c5b5f2] { font-size: var(--font-xs);color:rgba(255,255,255,0.75);margin-top:2px;
}
/* Balance */
.balance-card[data-v-a1c5b5f2] { position:relative;z-index:1;margin:14px 16px 0;background:var(--text-inverse);border-radius:16px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 16px rgba(37,99,235,0.12);
}
.bal-left[data-v-a1c5b5f2] { display:flex;align-items:center;gap:10px;
}
.bal-icon[data-v-a1c5b5f2] { font-size: var(--font-xl);
}
.bal-num[data-v-a1c5b5f2] { font-size:32px;font-weight:800;color:var(--text-primary);
}
.bal-label[data-v-a1c5b5f2] { font-size: var(--font-sm);color:var(--text-muted);
}
.frozen-text[data-v-a1c5b5f2] { font-size: var(--font-xs);color:var(--text-muted);
}
/* Empty */
.empty-card[data-v-a1c5b5f2] { text-align:center;padding:60px 20px;
}
.empty-icon[data-v-a1c5b5f2] { font-size:56px;display:block;margin-bottom:12px;
}
.empty-text[data-v-a1c5b5f2] { color:var(--text-muted);font-size: var(--font-sm);
}
/* Product */
.product-card[data-v-a1c5b5f2] { margin:12px 16px;background:var(--text-inverse);border-radius:16px;overflow:hidden;display:flex;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,0.04);transition:transform 0.2s;
}
.product-card[data-v-a1c5b5f2]:active { transform:scale(0.98);
}
.p-img-wrap[data-v-a1c5b5f2] { width:120px;height:120px;flex-shrink:0;background:var(--bg-input);display:flex;align-items:center;justify-content:center;
}
.p-img[data-v-a1c5b5f2] { width:100%;height:100%;object-fit:cover;
}
.p-img-ph[data-v-a1c5b5f2] { font-size:36px;color:#cbd5e1;
}
.p-body[data-v-a1c5b5f2] { flex:1;padding:12px 14px;display:flex;flex-direction:column;justify-content:space-between;
}
.p-name[data-v-a1c5b5f2] { font-size: var(--font-sm);font-weight:600;color:var(--text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.p-desc[data-v-a1c5b5f2] { font-size: var(--font-xs);color:var(--text-muted);margin-top:2px;
}
.p-bottom[data-v-a1c5b5f2] { display:flex;justify-content:space-between;align-items:center;margin-top:8px;
}
.p-price-row[data-v-a1c5b5f2] { display:flex;flex-direction:column;
}
.p-price[data-v-a1c5b5f2] { font-size: var(--font-lg);font-weight:700;color:var(--accent);
}
.p-stock[data-v-a1c5b5f2] { font-size:11px;color:var(--text-muted);
}
.btn-exchange[data-v-a1c5b5f2] { padding:8px 18px;background:linear-gradient(135deg,var(--accent),#6366f1);color:var(--text-inverse);border:none;border-radius:10px;font-size: var(--font-sm);font-weight:600;cursor:pointer;white-space:nowrap;
}
.btn-exchange[data-v-a1c5b5f2]:active { transform:scale(0.95);opacity:0.85;
}
.btn-exchange[data-v-a1c5b5f2]:disabled { opacity:0.4;
}
/* Orders */
.orders-card[data-v-a1c5b5f2] { margin:16px;background:var(--text-inverse);border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.orders-title[data-v-a1c5b5f2] { font-size: var(--font-md);font-weight:700;color:var(--text-primary);margin-bottom:12px;
}
.order-item[data-v-a1c5b5f2] { padding:12px 0;border-bottom:1px solid #f1f5f9;
}
.order-item[data-v-a1c5b5f2]:last-child { border-bottom:none;
}
.o-top[data-v-a1c5b5f2] { display:flex;justify-content:space-between;font-size: var(--font-sm);margin-bottom:6px;
}
.o-name[data-v-a1c5b5f2] { color:var(--text-primary);
}
.o-cost[data-v-a1c5b5f2] { color:var(--accent);font-weight:600;
}
.o-bottom[data-v-a1c5b5f2] { display:flex;align-items:center;gap:10px;font-size: var(--font-xs);
}
.o-status[data-v-a1c5b5f2] { padding:2px 10px;border-radius:6px;font-weight:500;
}
.o-pending[data-v-a1c5b5f2] { background:#fef3c7;color:#d97706;
}
.o-shipped[data-v-a1c5b5f2] { background:#dbeafe;color:var(--accent);
}
.o-delivered[data-v-a1c5b5f2] { background:#f0fdf4;color:var(--green);
}
.o-done[data-v-a1c5b5f2] { background:#f0fdf4;color:var(--green);
}
.o-addr[data-v-a1c5b5f2] { color:var(--accent);cursor:pointer;
}
.o-track[data-v-a1c5b5f2] { color:var(--text-secondary);
}
.o-date[data-v-a1c5b5f2] { color:var(--text-muted);margin-left:auto;
}

.page[data-v-10417e75] { min-height:100vh; background:var(--bg-page); padding-bottom:60px;
}
.top-bar[data-v-10417e75] { display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--text-inverse);
}
.back-link[data-v-10417e75] { color:var(--accent);font-size: var(--font-sm);cursor:pointer;
}
.top-title[data-v-10417e75] { font-size: var(--font-md);font-weight:700;color:var(--text-primary);
}
.card[data-v-10417e75] { margin:14px 16px;background:var(--text-inverse);border-radius:16px;padding:18px;box-shadow:0 1px 3px rgba(0,0,0,0.04);
}
.order-head[data-v-10417e75] { display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #f1f5f9;font-size: var(--font-sm);
}
.order-cost[data-v-10417e75] { color:var(--accent);font-weight:700;
}
.field[data-v-10417e75] { margin-bottom:14px;
}
.field label[data-v-10417e75] { display:block;font-size: var(--font-sm);font-weight:600;color:#475569;margin-bottom:6px;
}
.inp[data-v-10417e75] { width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:12px;font-size: var(--font-sm);background:var(--bg-input);color:var(--text-primary);outline:none;box-sizing:border-box;
}
.inp[data-v-10417e75]:focus { border-color:var(--accent);background:var(--text-inverse);
}
.addr-inp[data-v-10417e75] { resize:none;
}
.quick-fill[data-v-10417e75] { padding:12px 14px;background:#f0fdf4;border:1px dashed var(--green);border-radius:10px;font-size: var(--font-xs);color:#166534;cursor:pointer;margin-bottom:14px;line-height:1.5;
}
.quick-fill[data-v-10417e75]:active { background:#dcfce7;
}
.btn-submit[data-v-10417e75] { width:100%;padding:16px;background:linear-gradient(135deg,var(--accent),#6366f1);color:var(--text-inverse);border:none;border-radius:14px;font-size: var(--font-md);font-weight:700;cursor:pointer;margin-top:4px;
}
.btn-submit[data-v-10417e75]:active { transform:scale(0.97);
}
.btn-submit[data-v-10417e75]:disabled { opacity:0.5;
}
.loading-msg[data-v-10417e75] { text-align:center;padding:60px;color:var(--text-muted);
}

.page[data-v-b0e2a729] { min-height:100vh; background:var(--bg-page); padding-bottom:80px;
}

/* Hero */
.promo-hero[data-v-b0e2a729] { position:relative; margin-bottom:16px;
}
.promo-hero-bg[data-v-b0e2a729] { position:absolute;top:0;left:0;right:0;bottom:0; background:linear-gradient(160deg,var(--gold),#d97706); border-radius:0 0 24px 24px;
}
.promo-hero-content[data-v-b0e2a729] { position:relative;z-index:1; padding:24px 20px; color:var(--text-inverse); display:flex; align-items:center; gap:14px;
}
.promo-hero-icon[data-v-b0e2a729] { font-size:42px;
}
.promo-hero-title[data-v-b0e2a729] { font-size: var(--font-xl); font-weight:800;
}
.promo-hero-sub[data-v-b0e2a729] { font-size: var(--font-sm); opacity:0.9; margin-top:4px; line-height:1.5;
}

/* Stats */
.stats-row[data-v-b0e2a729] { display:flex; gap:10px; margin:0 14px 16px;
}
.stat-card[data-v-b0e2a729] { flex:1; background:var(--text-inverse); border-radius:14px; padding:16px; text-align:center; box-shadow:0 1px 4px rgba(0,0,0,0.04);
}
.stat-num[data-v-b0e2a729] { font-size: var(--font-xl); font-weight:800; color:var(--text-primary);
}
.stat-num.accent[data-v-b0e2a729] { color:#d97706;
}
.stat-label[data-v-b0e2a729] { font-size: var(--font-xs); color:var(--text-muted); margin-top:4px;
}

/* QR Section */
.qr-section[data-v-b0e2a729] { background:var(--text-inverse); border-radius:16px; margin:0 14px 16px; padding:20px; box-shadow:0 2px 8px rgba(0,0,0,0.04); text-align:center;
}
.qr-card[data-v-b0e2a729] { display:inline-block;
}
.qr-frame[data-v-b0e2a729] { width:200px; height:200px; margin:0 auto 12px; background:var(--text-inverse); border:3px solid #fde68a; border-radius:16px; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:0 4px 20px rgba(245,158,11,0.15);
}
.qr-img[data-v-b0e2a729] { width:180px; height:180px;
}
.qr-placeholder[data-v-b0e2a729] { color:var(--text-muted); font-size: var(--font-sm);
}
.qr-label[data-v-b0e2a729] { font-size: var(--font-sm); color:#d97706; font-weight:600; margin-bottom:16px;
}
.ref-area[data-v-b0e2a729] { background:#fffbeb; border-radius:12px; padding:14px; border:1px solid #fde68a;
}
.ref-label[data-v-b0e2a729] { font-size: var(--font-xs); color:#d97706; font-weight:600; margin-bottom:8px; letter-spacing:1px;
}
.ref-row[data-v-b0e2a729] { display:flex; align-items:center; gap:10px;
}
.ref-code[data-v-b0e2a729] { font-size: var(--font-xl); font-weight:800; color:#d97706; letter-spacing:2px; flex:1;
}
.ref-copy-btn[data-v-b0e2a729] { padding:10px 22px; background:linear-gradient(135deg,var(--gold),#d97706); color:var(--text-inverse); border:none; border-radius:22px; font-size: var(--font-sm); font-weight:600; cursor:pointer;
}
.ref-copy-btn[data-v-b0e2a729]:active { transform:scale(0.95);
}

/* Steps */
.steps-section[data-v-b0e2a729] { background:linear-gradient(135deg,#eff6ff,#f0f9ff); border:1px solid #bfdbfe;
}
.steps-row[data-v-b0e2a729] { display:flex; align-items:center; justify-content:center; gap:8px;
}
.step[data-v-b0e2a729] { text-align:center; flex:1; max-width:90px;
}
.step-num[data-v-b0e2a729] { width:36px; height:36px; border-radius:50%; background:linear-gradient(135deg,#0d6efd,#6366f1); color:var(--text-inverse); font-size: var(--font-md); font-weight:800; display:flex; align-items:center; justify-content:center; margin:0 auto 8px;
}
.step-text[data-v-b0e2a729] { font-size: var(--font-xs); color:var(--text-secondary); line-height:1.5;
}
.step-arrow[data-v-b0e2a729] { font-size: var(--font-lg); color:var(--accent); margin-top:-16px;
}

/* Invite List */
.section[data-v-b0e2a729] { background:var(--text-inverse); border-radius:16px; padding:18px; margin:0 14px 14px; box-shadow:0 1px 4px rgba(0,0,0,0.03);
}
.sec-title[data-v-b0e2a729] { font-size: var(--font-md); font-weight:700; color:var(--text-primary); margin-bottom:14px;
}
.invite-item[data-v-b0e2a729] { display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid #f1f5f9;
}
.invite-avatar[data-v-b0e2a729] { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg,var(--gold),#d97706); color:var(--text-inverse); display:flex; align-items:center; justify-content:center; font-size: var(--font-md); font-weight:700; flex-shrink:0;
}
.invite-info[data-v-b0e2a729] { flex:1;
}
.invite-name[data-v-b0e2a729] { font-size: var(--font-sm); font-weight:600; color:var(--text-primary); display:block;
}
.invite-role[data-v-b0e2a729] { font-size: var(--font-xs); color:var(--text-muted);
}
.invite-time[data-v-b0e2a729] { font-size: var(--font-xs); color:var(--text-muted);
}

/* Balance */
.balance-row[data-v-b0e2a729] { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px;
}
.balance-label[data-v-b0e2a729] { font-size: var(--font-sm); color:var(--text-secondary);
}
.balance-amount[data-v-b0e2a729] { font-size: var(--font-lg); font-weight:800; color:#d97706;
}
.pending-tip[data-v-b0e2a729] { font-size: var(--font-xs); color:var(--text-muted); margin-bottom:12px;
}

/* Form */
.withdraw-form[data-v-b0e2a729] { margin-top:14px;
}
.field[data-v-b0e2a729] { margin-bottom:12px;
}
.field label[data-v-b0e2a729] { display:block; font-size: var(--font-sm); font-weight:600; color:var(--text-primary); margin-bottom:6px;
}
.fee-hint[data-v-b0e2a729] { font-weight:400; font-size: var(--font-xs); color:var(--text-muted);
}
.inp[data-v-b0e2a729] { width:100%; padding:12px 14px; border:1px solid var(--border); border-radius:10px; font-size: var(--font-sm); background:var(--bg-input); color:var(--text-primary); outline:none; box-sizing:border-box;
}
.inp[data-v-b0e2a729]:focus { border-color:var(--accent);
}
.method-row[data-v-b0e2a729] { display:flex; gap:8px;
}
.method-tag[data-v-b0e2a729] { padding:8px 16px; border-radius:20px; font-size: var(--font-xs); font-weight:500; background:#f1f5f9; color:var(--text-secondary); cursor:pointer; transition:all 0.2s;
}
.method-tag.on[data-v-b0e2a729] { background:var(--accent-light); color:var(--accent); font-weight:600;
}
.btn-submit[data-v-b0e2a729] { width:100%; padding:14px; background:linear-gradient(135deg,var(--gold),#d97706); color:var(--text-inverse); border:none; border-radius:14px; font-size: var(--font-md); font-weight:700; cursor:pointer; margin-bottom:8px; box-shadow:0 4px 14px rgba(217,119,6,0.25);
}
.btn-submit[data-v-b0e2a729]:active { transform:scale(0.97);
}
.btn-submit[data-v-b0e2a729]:disabled { opacity:0.5;
}
.btn-cancel[data-v-b0e2a729] { display:block; width:100%; padding:12px; background:#f1f5f9; color:var(--text-secondary); border:none; border-radius:10px; font-size: var(--font-sm); cursor:pointer;
}
.btn-outline[data-v-b0e2a729] { width:100%; padding:14px; background:var(--text-inverse); color:#d97706; border:2px solid var(--gold); border-radius:14px; font-size: var(--font-sm); font-weight:600; cursor:pointer;
}

/* Empty */
.empty-section[data-v-b0e2a729] { text-align:center; padding:40px 20px;
}
.empty-icon[data-v-b0e2a729] { font-size:48px; margin-bottom:12px;
}
.empty-title[data-v-b0e2a729] { font-size: var(--font-md); font-weight:700; color:var(--text-primary); margin-bottom:6px;
}
.empty-desc[data-v-b0e2a729] { font-size: var(--font-sm); color:var(--text-muted); line-height:1.6;
}

/* Purchase Entry */
.purchase-entry[data-v-b0e2a729] { background:var(--text-inverse); border-radius:14px; padding:18px; margin:14px; display:flex; align-items:center; justify-content:space-between; box-shadow:0 1px 4px rgba(0,0,0,0.04); cursor:pointer; border:1px solid #dbeafe; background:linear-gradient(135deg,#eff6ff,#f0f9ff);
}
.purchase-entry[data-v-b0e2a729]:active { transform:scale(0.98);
}
.pe-left[data-v-b0e2a729] { display:flex; align-items:center; gap:12px;
}
.pe-icon[data-v-b0e2a729] { font-size: var(--font-xl);
}
.pe-title[data-v-b0e2a729] { font-size: var(--font-sm); font-weight:700; color:var(--text-primary);
}
.pe-sub[data-v-b0e2a729] { font-size: var(--font-xs); color:var(--text-secondary); margin-top:2px;
}
.pe-arrow[data-v-b0e2a729] { font-size: var(--font-lg); color:#3b82f6; font-weight:700;
}

.page[data-v-305bb0ac] { min-height:100vh; background:var(--bg-page); padding-bottom:80px;
}
.wd-header[data-v-305bb0ac] { display:flex;align-items:center;gap:14px;padding:16px 14px;background:var(--text-inverse);border-bottom:1px solid var(--border);
}
.wd-back[data-v-305bb0ac] { font-size: var(--font-sm);color:var(--accent);cursor:pointer;font-weight:500;
}
.wd-title[data-v-305bb0ac] { font-size: var(--font-lg);font-weight:700;color:var(--text-primary);
}
.balance-card[data-v-305bb0ac] { margin:16px 14px;padding:24px;background:linear-gradient(135deg,#3b82f6,var(--accent-dark));border-radius:16px;color:var(--text-inverse);box-shadow:0 6px 24px rgba(59,130,246,0.3);
}
.bc-label[data-v-305bb0ac] { font-size: var(--font-sm);opacity:0.85;
}
.bc-amount[data-v-305bb0ac] { font-size:42px;font-weight:800;margin:8px 0;letter-spacing:1px;
}
.bc-hint[data-v-305bb0ac] { font-size: var(--font-xs);opacity:0.7;
}
.section[data-v-305bb0ac] { background:var(--text-inverse);border-radius:16px;padding:20px;margin:0 14px 14px;box-shadow:0 1px 4px rgba(0,0,0,0.03);
}
.sec-title[data-v-305bb0ac] { font-size: var(--font-md);font-weight:700;color:var(--text-primary);margin-bottom:16px;
}
.empty[data-v-305bb0ac] { text-align:center;color:var(--text-muted);padding:24px;font-size: var(--font-sm);
}
.field[data-v-305bb0ac] { margin-bottom:16px;
}
.field label[data-v-305bb0ac] { display:block;font-size: var(--font-sm);font-weight:600;color:var(--text-secondary);margin-bottom:6px;
}
.inp[data-v-305bb0ac] { width:100%;padding:14px;border:1px solid var(--border);border-radius:10px;font-size: var(--font-sm);outline:none;box-sizing:border-box;
}
.inp[data-v-305bb0ac]:focus { border-color:var(--accent);
}
.method-row[data-v-305bb0ac] { display:flex;gap:8px;
}
.method-item[data-v-305bb0ac] { flex:1;text-align:center;padding:12px;border:1px solid var(--border);border-radius:10px;font-size: var(--font-sm);font-weight:500;cursor:pointer;transition:all 0.2s;color:var(--text-secondary);
}
.method-item.active[data-v-305bb0ac] { background:#eff6ff;border-color:#3b82f6;color:#3b82f6;font-weight:700;
}
.fee-box[data-v-305bb0ac] { background:var(--bg-input);border-radius:10px;padding:14px;margin-bottom:16px;
}
.fee-row[data-v-305bb0ac] { display:flex;justify-content:space-between;font-size: var(--font-sm);color:var(--text-secondary);padding:4px 0;
}
.fee-row.strong[data-v-305bb0ac] { font-weight:700;color:var(--text-primary);font-size: var(--font-md);border-top:1px dashed var(--border);margin-top:4px;padding-top:8px;
}
.auto-tag[data-v-305bb0ac] { margin-top:8px;font-size: var(--font-xs);color:#10b981;font-weight:600;
}
.btn-submit[data-v-305bb0ac] { width:100%;padding:16px;background:linear-gradient(135deg,#3b82f6,var(--accent-dark));color:var(--text-inverse);border:none;border-radius:14px;font-size: var(--font-md);font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(59,130,246,0.3);
}
.btn-submit[data-v-305bb0ac]:active { transform:scale(0.97);
}
.btn-submit[data-v-305bb0ac]:disabled { opacity:0.5;
}
.record-row[data-v-305bb0ac] { display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #f1f5f9;
}
.rec-amount[data-v-305bb0ac] { font-size: var(--font-lg);font-weight:700;color:var(--text-primary);
}
.rec-status[data-v-305bb0ac] { font-size: var(--font-xs);padding:2px 8px;border-radius:6px;margin-left:8px;
}
.rec-status.success[data-v-305bb0ac],.rec-status.paid[data-v-305bb0ac] { background:#ecfdf5;color:#059669;
}
.rec-status.pending[data-v-305bb0ac] { background:#fef3c7;color:#d97706;
}
.rec-status.rejected[data-v-305bb0ac] { background:#fef2f2;color:#ef4444;
}
.rec-info[data-v-305bb0ac] { font-size: var(--font-xs);color:var(--text-muted);margin-top:4px;
}
.disabled-method[data-v-305bb0ac] { opacity:0.45;cursor:not-allowed;position:relative;
}
.coming-tag[data-v-305bb0ac] { display:block;font-size:10px;color:#999;margin-top:2px;
}
.rules-section[data-v-305bb0ac] { margin-top: 16px;
}
.rules-list[data-v-305bb0ac] { background: #f8fafc; border-radius: 10px; padding: 14px 16px;
}
.rule-item[data-v-305bb0ac] { font-size: 13px; color: #64748b; line-height: 2; display: flex; align-items: flex-start;
}
.rule-dot[data-v-305bb0ac] { margin-right: 8px; color: #2563eb; font-weight: bold;
}


.page[data-v-fb4a2989] { min-height:100vh; background:var(--bg-page); padding-bottom:80px;
}
.hero[data-v-fb4a2989] { position:relative; margin-bottom:16px;
}
.hero-bg[data-v-fb4a2989] { position:absolute;top:0;left:0;right:0;bottom:0; background:linear-gradient(160deg,var(--gold),#d97706); border-radius:0 0 24px 24px;
}
.hero-content[data-v-fb4a2989] { position:relative;z-index:1; padding:24px 20px; color:var(--text-inverse); display:flex; align-items:center; gap:14px;
}
.hero-icon[data-v-fb4a2989] { font-size:42px;
}
.hero-title[data-v-fb4a2989] { font-size: var(--font-xl); font-weight:800;
}
.hero-sub[data-v-fb4a2989] { font-size: var(--font-sm); opacity:0.9; margin-top:4px;
}
.total-card[data-v-fb4a2989] { background:linear-gradient(135deg,#fef3c7,#fffbeb); border:1px solid #fde68a; border-radius:16px; margin:0 14px 16px; padding:20px; text-align:center;
}
.total-label[data-v-fb4a2989] { font-size: var(--font-sm); color:#d97706; margin-bottom:4px;
}
.total-amount[data-v-fb4a2989] { font-size:36px; font-weight:800; color:#d97706;
}
.type-tabs[data-v-fb4a2989] { display:flex; gap:6px; padding:0 14px; margin-bottom:16px; overflow-x:auto;
}
.type-tab[data-v-fb4a2989] { padding:6px 14px; border-radius:20px; font-size: var(--font-xs); background:#f1f5f9; color:var(--text-secondary); white-space:nowrap; cursor:pointer;
}
.type-tab.on[data-v-fb4a2989] { background:var(--accent); color:var(--text-inverse);
}
.comm-item[data-v-fb4a2989] { display:flex; align-items:center; gap:12px; background:var(--text-inverse); margin:0 14px 8px; padding:14px; border-radius:12px; box-shadow:0 1px 3px rgba(0,0,0,0.03);
}
.comm-icon[data-v-fb4a2989] { font-size:28px; flex-shrink:0;
}
.comm-info[data-v-fb4a2989] { flex:1;
}
.comm-remark[data-v-fb4a2989] { font-size: var(--font-sm); font-weight:500; color:var(--text-primary);
}
.comm-time[data-v-fb4a2989] { font-size: var(--font-xs); color:var(--text-muted); margin-top:3px;
}
.comm-amount[data-v-fb4a2989] { font-size: var(--font-md); font-weight:700; color:#d97706;
}
.empty[data-v-fb4a2989] { text-align:center; color:var(--text-muted); padding:40px; font-size: var(--font-sm);
}

.page[data-v-fd2a5776] { min-height: 100vh; background: #f0f2f5; padding-bottom: 50px;
}

/* Hero */
.hero[data-v-fd2a5776] { position: relative; overflow: hidden; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%); padding: 24px 16px 20px;
}
.hero-bg[data-v-fd2a5776] { position: absolute; inset: 0; background: radial-gradient(circle at 30% 50%, rgba(78,205,196,0.12) 0%, transparent 60%), radial-gradient(circle at 70% 20%, rgba(255,107,107,0.08) 0%, transparent 50%);
}
.hero-content[data-v-fd2a5776] { position: relative; z-index: 1;
}
.back[data-v-fd2a5776] { font-size: 13px; color: rgba(255,255,255,0.6); cursor: pointer; display: inline-block; margin-bottom: 8px;
}
.hero-row[data-v-fd2a5776] { display: flex; align-items: center; gap: 12px;
}
.hero-icon[data-v-fd2a5776] { font-size: 36px;
}
.hero-title[data-v-fd2a5776] { font-size: 22px; font-weight: 800; color: #fff;
}
.hero-sub[data-v-fd2a5776] { font-size: 12px; color: rgba(255,255,255,0.55); margin-top: 2px;
}

/* Filter bar */
.filter-bar[data-v-fd2a5776] { display: flex; gap: 0; margin: 14px 14px 0; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.filter-tab[data-v-fd2a5776] { flex: 1; text-align: center; padding: 12px 8px; font-size: 14px; font-weight: 600; color: #64748b; cursor: pointer; transition: all 0.2s; position: relative;
}
.filter-tab.active[data-v-fd2a5776] { color: #0f3460; background: #f0f4ff;
}
.ft-count[data-v-fd2a5776] { display: inline-block; margin-left: 4px; font-size: 11px; background: #e2e8f0; color: #64748b; padding: 1px 7px; border-radius: 8px;
}
.filter-tab.active .ft-count[data-v-fd2a5776] { background: #0f3460; color: #fff;
}

/* Category chips */
.cat-scroll[data-v-fd2a5776] { display: flex; gap: 8px; padding: 12px 14px; overflow-x: auto; -webkit-overflow-scrolling: touch;
}
.cat-scroll[data-v-fd2a5776]::-webkit-scrollbar { display: none;
}
.cat-chip[data-v-fd2a5776] { display: flex; align-items: center; gap: 4px; padding: 7px 14px; border-radius: 20px; font-size: 12px; font-weight: 600; color: #64748b; background: #fff; white-space: nowrap; cursor: pointer; border: 1px solid #e2e8f0; transition: all 0.2s;
}
.cat-chip.active[data-v-fd2a5776] { background: #0f3460; color: #fff; border-color: #0f3460;
}
.cat-chip-icon[data-v-fd2a5776] { font-size: 14px;
}

/* Loading & empty */
.loading[data-v-fd2a5776] { text-align: center; padding: 60px; color: #94a3b8;
}
.empty[data-v-fd2a5776] { text-align: center; padding: 60px; color: #94a3b8;
}
.empty-icon[data-v-fd2a5776] { font-size: 48px; display: block; margin-bottom: 8px;
}

/* Coupon List */
.coupon-list[data-v-fd2a5776] { padding: 12px 14px; display: flex; flex-direction: column; gap: 12px;
}

/* Coupon Card */
.coupon-card[data-v-fd2a5776] { display: flex; background: #fff; border-radius: 14px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.05); cursor: pointer; transition: transform 0.15s, box-shadow 0.15s; position: relative;
}
.coupon-card[data-v-fd2a5776]:active { transform: scale(0.985); box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.coupon-card.claimed[data-v-fd2a5776] { opacity: 0.5; filter: grayscale(30%);
}
.cc-accent[data-v-fd2a5776] { position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
}

/* Left: value */
.cc-value-block[data-v-fd2a5776] { width: 85px; min-width: 85px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 16px 4px 16px 12px; background: #f8fafc;
}
.cc-currency[data-v-fd2a5776] { font-size: 13px; font-weight: 700; color: #d97706;
}
.cc-number[data-v-fd2a5776] { font-size: 30px; font-weight: 900; color: #1e293b; line-height: 1; font-family: 'DIN Alternate', 'Helvetica Neue', sans-serif;
}
.cc-condition[data-v-fd2a5776] { font-size: 11px; color: #94a3b8; margin-top: 3px;
}

/* Center: info */
.cc-info[data-v-fd2a5776] { flex: 1; padding: 14px 12px; display: flex; flex-direction: column; justify-content: center; min-width: 0;
}
.cc-type-badge[data-v-fd2a5776] { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 10px; font-weight: 700; letter-spacing: 0.5px; width: fit-content; margin-bottom: 5px;
}
.badge-platform[data-v-fd2a5776] { background: #fef3c7; color: #d97706;
}
.badge-merchant[data-v-fd2a5776] { background: #d1fae5; color: #059669;
}
.cc-name[data-v-fd2a5776] { font-size: 15px; font-weight: 700; color: #1e293b; line-height: 1.3;
}
.cc-merchant[data-v-fd2a5776] { font-size: 12px; color: #64748b; margin-top: 3px;
}
.cc-meta-row[data-v-fd2a5776] { display: flex; gap: 10px; margin-top: 5px;
}
.cc-meta-item[data-v-fd2a5776] { font-size: 11px; color: #94a3b8;
}

/* Remaining bar */
.cc-remain[data-v-fd2a5776] { display: flex; align-items: center; gap: 8px; margin-top: 7px;
}
.cc-remain-bar[data-v-fd2a5776] { flex: 1; height: 4px; background: #e2e8f0; border-radius: 2px; overflow: hidden;
}
.cc-remain-fill[data-v-fd2a5776] { height: 100%; border-radius: 2px; transition: width 0.3s;
}
.cc-remain-text[data-v-fd2a5776] { font-size: 10px; color: #94a3b8; white-space: nowrap;
}

/* Right: action */
.cc-action-col[data-v-fd2a5776] { display: flex; align-items: center; padding-right: 14px;
}
.tag-get[data-v-fd2a5776] { width: 36px; height: 36px; border-radius: 50%; background: linear-gradient(135deg, #d97706, #f59e0b); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: 800; box-shadow: 0 2px 8px rgba(217,119,6,0.3);
}
.tag-used[data-v-fd2a5776] { padding: 5px 10px; border-radius: 10px; font-size: 11px; font-weight: 600; background: #e2e8f0; color: #94a3b8;
}
.tag-gone[data-v-fd2a5776] { padding: 5px 10px; border-radius: 10px; font-size: 11px; font-weight: 600; background: #f1f5f9; color: #cbd5e1;
}

/* Detail Sheet */
.mask[data-v-fd2a5776] { position: fixed; inset: 0; background: rgba(0,0,0,0.45); z-index: 1000; display: flex; align-items: flex-end;
}
.sheet[data-v-fd2a5776] { width: 100%; max-width: 480px; margin: 0 auto; background: #fff; border-radius: 20px 20px 0 0; overflow: hidden; animation: slideUp-fd2a5776 0.3s ease;
}
@keyframes slideUp-fd2a5776 {
from { transform: translateY(100%);
}
to { transform: translateY(0);
}
}
.sheet-bar[data-v-fd2a5776] { width: 40px; height: 4px; background: #d1d5db; border-radius: 2px; margin: 10px auto;
}
.sheet-top[data-v-fd2a5776] { padding: 28px 20px; color: #fff; text-align: center;
}
.sheet-tag[data-v-fd2a5776] { display: inline-block; background: rgba(255,255,255,0.22); padding: 4px 14px; border-radius: 10px; font-size: 12px; font-weight: 600; margin-bottom: 10px;
}
.sheet-value[data-v-fd2a5776] { font-size: 48px; font-weight: 900; font-family: 'DIN Alternate', 'Helvetica Neue', sans-serif; line-height: 1;
}
.sheet-cond[data-v-fd2a5776] { font-size: 14px; opacity: 0.85; margin-top: 6px;
}
.sheet-body[data-v-fd2a5776] { padding: 20px;
}
.sheet-name[data-v-fd2a5776] { font-size: 18px; font-weight: 700; color: #1e293b; text-align: center;
}
.sheet-merchant[data-v-fd2a5776] { text-align: center; font-size: 14px; color: #64748b; margin-top: 4px;
}
.sheet-addr[data-v-fd2a5776] { text-align: center; font-size: 12px; color: #94a3b8; margin-top: 3px;
}
.sheet-code-box[data-v-fd2a5776] { margin-top: 14px; background: #f8fafc; border-radius: 12px; padding: 12px 16px; text-align: center; border: 1px dashed #e2e8f0;
}
.sc-label[data-v-fd2a5776] { font-size: 11px; color: #94a3b8;
}
.sc-code[data-v-fd2a5776] { font-size: 22px; font-weight: 800; color: #1e293b; letter-spacing: 3px; margin-top: 2px; font-family: 'Courier New', monospace;
}
.sheet-info[data-v-fd2a5776] { margin-top: 14px; background: #f8fafc; border-radius: 12px; padding: 12px 16px;
}
.si-row[data-v-fd2a5776] { display: flex; justify-content: space-between; padding: 7px 0; font-size: 13px; color: #64748b; border-bottom: 1px solid #f1f5f9;
}
.si-row[data-v-fd2a5776]:last-child { border-bottom: none;
}
.si-row span[data-v-fd2a5776]:last-child { color: #1e293b; font-weight: 600;
}
.sheet-btns[data-v-fd2a5776] { margin-top: 16px;
}
.btn-claim[data-v-fd2a5776] { width: 100%; padding: 15px; background: linear-gradient(135deg, #d97706, #f59e0b); color: #fff; border: none; border-radius: 14px; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 4px 16px rgba(217,119,6,0.3);
}
.btn-claim[data-v-fd2a5776]:active { transform: scale(0.97);
}
.btn-disabled[data-v-fd2a5776] { width: 100%; padding: 15px; background: #e2e8f0; color: #94a3b8; border: none; border-radius: 14px; font-size: 14px; font-weight: 600;
}
.sheet-cancel[data-v-fd2a5776] { text-align: center; padding: 14px; color: #94a3b8; font-size: 14px; cursor: pointer;
}

/* Toast */
.toast[data-v-fd2a5776] { position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); background: rgba(30,41,59,0.9); color: #fff; padding: 14px 28px; border-radius: 12px; font-size: 14px; z-index: 9999;
}

.page[data-v-0d3b4863] { min-height:100vh; background:#f5f5f7; padding-bottom:120px;
}
.header-bar[data-v-0d3b4863] { display:flex; align-items:center; gap:12px; padding:16px 18px; background:var(--text-inverse);
}
.back-btn[data-v-0d3b4863] { font-size: var(--font-sm); color:#3b82f6; cursor:pointer; font-weight:600;
}
.page-title[data-v-0d3b4863] { font-size: var(--font-md); font-weight:700; color:var(--text-primary);
}

/* Order List */
.order-list[data-v-0d3b4863] { padding:12px 14px;
}
.empty[data-v-0d3b4863] { text-align:center; padding:40px; color:var(--text-muted); font-size: var(--font-sm);
}
.order-card[data-v-0d3b4863] { background:var(--text-inverse); border-radius:14px; padding:14px; margin-bottom:12px; box-shadow:0 1px 4px rgba(0,0,0,0.04); cursor:pointer; transition:all 0.15s;
}
.order-card[data-v-0d3b4863]:active { transform:scale(0.98);
}
.oc-top[data-v-0d3b4863] { display:flex; align-items:center; gap:12px;
}
.oc-img[data-v-0d3b4863] { width:56px; height:56px; border-radius:10px; object-fit:cover; flex-shrink:0;
}
.oc-img-placeholder[data-v-0d3b4863] { width:56px; height:56px; border-radius:10px; background:#f1f5f9; display:flex; align-items:center; justify-content:center; font-size: var(--font-xl); flex-shrink:0;
}
.oc-info[data-v-0d3b4863] { flex:1;
}
.oc-name[data-v-0d3b4863] { font-size: var(--font-sm); font-weight:600; color:var(--text-primary);
}
.oc-amount[data-v-0d3b4863] { font-size: var(--font-md); font-weight:800; color:#ef4444; margin-top:4px;
}
.oc-status[data-v-0d3b4863] { flex-shrink:0;
}
.status-tag[data-v-0d3b4863] { font-size: var(--font-xs); padding:3px 10px; border-radius:10px; font-weight:600;
}
.st-waiting_ship[data-v-0d3b4863] { background:#fef3c7; color:#d97706;
}
.st-shipped[data-v-0d3b4863] { background:#dbeafe; color:var(--accent);
}
.st-delivered[data-v-0d3b4863] { background:#d1fae5; color:#059669;
}
.st-pending[data-v-0d3b4863] { background:#f1f5f9; color:var(--text-muted);
}
.oc-bottom[data-v-0d3b4863] { display:flex; align-items:center; gap:10px; margin-top:10px; font-size: var(--font-xs); color:var(--text-muted);
}
.oc-no[data-v-0d3b4863] { flex:1;
}
.oc-arrow[data-v-0d3b4863] { color:#3b82f6; font-weight:600;
}

/* Order Detail */
.order-detail[data-v-0d3b4863] { padding:12px 14px;
}
.detail-back[data-v-0d3b4863] { font-size: var(--font-sm); color:#3b82f6; font-weight:600; cursor:pointer; margin-bottom:14px; padding:8px 0;
}

/* Tracker */
.tracker[data-v-0d3b4863] { display:flex; align-items:center; justify-content:center; background:var(--text-inverse); border-radius:16px; padding:24px 20px; margin-bottom:14px; box-shadow:0 1px 4px rgba(0,0,0,0.04);
}
.tracker-step[data-v-0d3b4863] { display:flex; flex-direction:column; align-items:center; gap:6px; opacity:0.35;
}
.tracker-step.active[data-v-0d3b4863] { opacity:1;
}
.tracker-dot[data-v-0d3b4863] { width:36px; height:36px; border-radius:50%; background:#f1f5f9; display:flex; align-items:center; justify-content:center; font-size: var(--font-sm);
}
.tracker-step.active .tracker-dot[data-v-0d3b4863] { background:#3b82f6; color:var(--text-inverse);
}
.tracker-label[data-v-0d3b4863] { font-size:11px; color:var(--text-secondary); font-weight:600; white-space:nowrap;
}
.tracker-step.active .tracker-label[data-v-0d3b4863] { color:var(--text-primary);
}
.tracker-line[data-v-0d3b4863] { flex:1; height:2px; min-width:20px; background:var(--border); margin:0 4px 24px;
}
.tracker-line.active[data-v-0d3b4863] { background:#3b82f6;
}

/* Logistics Card */
.logistics-card[data-v-0d3b4863] { background:var(--text-inverse); border-radius:16px; padding:18px; margin-bottom:14px; box-shadow:0 1px 4px rgba(0,0,0,0.04);
}
.logi-header[data-v-0d3b4863] { font-size: var(--font-sm); font-weight:700; color:var(--text-primary); margin-bottom:12px;
}
.logi-row[data-v-0d3b4863] { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #f1f5f9; font-size: var(--font-sm);
}
.logi-label[data-v-0d3b4863] { color:var(--text-secondary);
}
.logi-value[data-v-0d3b4863] { color:var(--text-primary); font-weight:500;
}
.logi-value.tracking[data-v-0d3b4863] { color:#3b82f6; font-weight:600; letter-spacing:0.5px;
}

/* Info Card */
.info-card[data-v-0d3b4863] { background:var(--text-inverse); border-radius:16px; padding:18px; margin-bottom:14px; box-shadow:0 1px 4px rgba(0,0,0,0.04);
}
.info-row[data-v-0d3b4863] { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #f1f5f9; font-size: var(--font-sm);
}
.info-label[data-v-0d3b4863] { color:var(--text-secondary);
}
.info-value[data-v-0d3b4863] { color:var(--text-primary); font-weight:500; text-align:right; max-width:60%;
}
.info-value.price[data-v-0d3b4863] { color:#ef4444; font-weight:700; font-size: var(--font-sm);
}
.info-value.warn[data-v-0d3b4863] { color:var(--gold); font-weight:600;
}

/* Actions */
.actions[data-v-0d3b4863] { display:flex; gap:12px; margin-top:20px;
}
.btn-confirm[data-v-0d3b4863] { flex:1; padding:16px; background:linear-gradient(135deg,#3b82f6,var(--accent)); color:var(--text-inverse); border:none; border-radius:14px; font-size: var(--font-sm); font-weight:700; cursor:pointer; box-shadow:0 4px 16px rgba(37,99,235,0.3);
}
.btn-confirm[data-v-0d3b4863]:active { transform:scale(0.97);
}
.btn-confirm[data-v-0d3b4863]:disabled { opacity:0.4; transform:none;
}
.btn-return[data-v-0d3b4863] { flex:1; padding:16px; background:var(--text-inverse); color:#ef4444; border:2px solid #fecaca; border-radius:14px; font-size: var(--font-sm); font-weight:600; cursor:pointer;
}
.btn-return[data-v-0d3b4863]:active { transform:scale(0.97);
}
.btn-return-done[data-v-0d3b4863] { flex:1; padding:16px; background:#f1f5f9; color:var(--text-muted); border:none; border-radius:14px; font-size: var(--font-sm); font-weight:600;
}

/* Return Dialog */
.return-overlay[data-v-0d3b4863] { position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.4); display:flex; align-items:center; justify-content:center; z-index:200; padding:20px;
}
.return-dialog[data-v-0d3b4863] { background:var(--text-inverse); border-radius:16px; padding:24px; width:100%; max-width:360px;
}
.return-title[data-v-0d3b4863] { font-size: var(--font-md); font-weight:700; color:var(--text-primary); margin-bottom:16px;
}
.return-input[data-v-0d3b4863] { width:100%; padding:14px; border:1.5px solid var(--border); border-radius:12px; font-size: var(--font-sm); outline:none; resize:none; font-family:inherit; color:var(--text-primary); box-sizing:border-box;
}
.return-input[data-v-0d3b4863]:focus { border-color:#3b82f6;
}
.return-btns[data-v-0d3b4863] { display:flex; gap:10px; margin-top:16px;
}
.btn-cancel[data-v-0d3b4863] { flex:1; padding:12px; background:#f1f5f9; border:none; border-radius:10px; font-size: var(--font-sm); cursor:pointer; color:var(--text-secondary); font-weight:600;
}
.btn-submit[data-v-0d3b4863] { flex:1; padding:12px; background:#ef4444; color:var(--text-inverse); border:none; border-radius:10px; font-size: var(--font-sm); cursor:pointer; font-weight:600;
}
.btn-submit[data-v-0d3b4863]:disabled { opacity:0.4;
}
.status-tabs[data-v-0d3b4863] { display:flex; gap:6px; padding:10px 14px; overflow-x:auto; white-space:nowrap; background:var(--bg-card);
}
.stab[data-v-0d3b4863] { padding:8px 16px; border-radius:20px; font-size:var(--font-xs); background:#f5f5f5; color:var(--text-secondary); cursor:pointer; flex-shrink:0; transition:all 0.2s;
}
.stab.active[data-v-0d3b4863] { background:var(--accent); color:var(--text-inverse); font-weight:600;
}


.page[data-v-82b8ff92] { max-width:480px; margin:0 auto; background:var(--bg-page); min-height:100vh;
}
.nav-bar[data-v-82b8ff92] { display:flex; align-items:center; padding:12px 16px; background:var(--text-inverse); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:10;
}
.nav-back[data-v-82b8ff92] { background:none; border:none; font-size: var(--font-sm); color:var(--accent); cursor:pointer; padding:0;
}
.nav-title[data-v-82b8ff92] { flex:1; text-align:center; font-size: var(--font-md); font-weight:700; color:var(--text-primary);
}
.nav-action[data-v-82b8ff92] { background:none; border:none; font-size: var(--font-xs); color:var(--accent); cursor:pointer;
}
.loading-hint[data-v-82b8ff92] { text-align:center; padding:60px 20px; color:var(--text-muted);
}
.empty-state[data-v-82b8ff92] { text-align:center; padding:80px 20px;
}
.empty-icon[data-v-82b8ff92] { font-size:48px; display:block; margin-bottom:12px;
}
.empty-text[data-v-82b8ff92] { color:var(--text-muted); font-size: var(--font-sm);
}
.notif-list[data-v-82b8ff92] { padding:8px 12px;
}
.notif-card[data-v-82b8ff92] { display:flex; align-items:flex-start; background:var(--text-inverse); border-radius:var(--radius-md); padding:14px 12px; margin-bottom:8px; box-shadow:var(--shadow-sm); cursor:pointer; transition:all 0.2s;
}
.notif-card[data-v-82b8ff92]:active { transform:scale(0.98);
}
.notif-card.unread[data-v-82b8ff92] { border-left:3px solid var(--accent); background:#f8faff;
}
.notif-left[data-v-82b8ff92] { display:flex; align-items:center; margin-right:10px; min-width:32px;
}
.notif-dot[data-v-82b8ff92] { width:8px; height:8px; border-radius:50%; background:var(--red); margin-right:6px; flex-shrink:0;
}
.notif-icon[data-v-82b8ff92] { font-size: var(--font-lg);
}
.notif-body[data-v-82b8ff92] { flex:1; min-width:0;
}
.notif-title[data-v-82b8ff92] { font-size: var(--font-sm); font-weight:600; color:var(--text-primary); margin-bottom:4px;
}
.notif-content[data-v-82b8ff92] { font-size: var(--font-xs); color:var(--text-secondary); line-height:1.5; margin-bottom:6px; word-break:break-all;
}
.notif-time[data-v-82b8ff92] { font-size:11px; color:var(--text-muted);
}
