.account-popover .icon-contact{background:#eef7ff;color:#2776bd}.account-contact-panel{width:min(400px,calc(100vw - 32px));padding:34px;text-align:center}.account-contact-panel>span{color:var(--coral-500);font-size:11px;font-weight:800;letter-spacing:.14em}.account-contact-panel h2{margin:10px 0;color:var(--ink);font-size:24px}.account-contact-panel p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.account-contact-panel img{display:block;width:min(260px,80%);margin:20px auto 12px;border:1px solid var(--line);border-radius:12px}.account-contact-panel small{display:block;color:var(--muted);font-size:12px}.official-sheet-password{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px auto 16px;padding:13px 14px 13px 18px;border:1px solid #dce4f5;border-radius:14px;background:#f6f8ff;text-align:left}.official-sheet-password b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;letter-spacing:.045em}.official-sheet-password button{flex:0 0 auto;padding:8px 12px;border:1px solid #cad6f0;border-radius:9px;background:#fff;color:var(--indigo-700);font-size:13px;font-weight:750;cursor:pointer}.official-sheet-password button:hover{border-color:var(--indigo-500);background:var(--indigo-50)}.official-sheet-open{display:inline-flex;align-items:center;justify-content:center;min-width:180px;margin-top:2px}@media(max-width:500px){.account-contact-panel{padding:28px 20px}.official-sheet-password{gap:10px;padding-left:13px}.official-sheet-password b{font-size:17px}.official-sheet-password button{padding:8px 10px}}

/* ==========================================================================
   WeChat login modal — polished, on-brand (indigo + coral)
   ========================================================================== */

.wx-login-panel{width:min(440px,96vw);max-height:calc(100dvh - 28px);padding:0;display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-xl)}
.wx-login-panel .close{background:rgba(255,255,255,.9);z-index:3}

/* ---- Head ---- */
.wx-head{
  position:relative;
  flex:none;padding:18px 26px 14px;
  color:#fff;overflow:hidden;
  background:linear-gradient(135deg,var(--indigo-900) 0%,var(--indigo-800) 50%,var(--indigo-700) 100%);
}
.wx-head::before{
  content:"";position:absolute;width:260px;height:260px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,107,61,.38),transparent 60%);
  right:-80px;top:-100px;
}
.wx-head::after{
  content:"";position:absolute;width:200px;height:200px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.12),transparent 60%);
  left:-60px;bottom:-100px;
}
.wx-brand{position:relative;display:flex;align-items:center;gap:12px;z-index:1}
.wx-brand img{
  width:44px;height:44px;border-radius:12px;
  background:#fff;padding:4px;object-fit:cover;
}
.wx-brand b{font-size:18px;letter-spacing:.06em;display:block;color:#fff}
.wx-brand small{
  font-size:11px;color:#a9b6e3;letter-spacing:.14em;text-transform:uppercase;font-weight:700;
}
/* 官方组件自身已有“微信登录”标题，外层只保留品牌和简短说明。 */
.wx-head h2{display:none}
.wx-head p{position:relative;z-index:1;margin:8px 0 0;font-size:13px;color:#c8d0f0}

/* ---- Body ---- */
.wx-body{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:14px 24px 18px;background:#fff}

/* ---- QR frame ---- */
.wx-qr-frame{
  width:236px;height:236px;margin:0 auto 14px;
  position:relative;padding:14px;
  background:linear-gradient(140deg,var(--indigo-50),#f6f2e6);
  border-radius:var(--r-lg);
  box-shadow:inset 0 0 0 1px var(--line);
}
.wx-qr-frame::before,.wx-qr-frame::after{
  content:"";position:absolute;width:22px;height:22px;
  border:2.5px solid var(--indigo-700);border-radius:4px;
}
.wx-qr-frame::before{top:6px;left:6px;border-right:0;border-bottom:0}
.wx-qr-frame::after{bottom:6px;left:6px;border-right:0;border-top:0}
.wx-qr-frame .corner-tr,.wx-qr-frame .corner-br{
  position:absolute;width:22px;height:22px;
  border:2.5px solid var(--indigo-700);border-radius:4px;
}
.wx-qr-frame .corner-tr{top:6px;right:6px;border-left:0;border-bottom:0}
.wx-qr-frame .corner-br{bottom:6px;right:6px;border-left:0;border-top:0}
.wx-qr-inner{
  width:100%;height:100%;background:#fff;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;position:relative;
}
.wx-qr-inner img{width:100%;height:100%;display:block}
.wx-qr-inner .placeholder{color:var(--muted);font-size:13px}
.wx-qr-inner.expired img{opacity:.15;filter:blur(2px)}
.wx-qr-inner .refresh{
  position:absolute;
  background:var(--coral-500);color:#fff;
  padding:9px 20px;border-radius:var(--r-sm);
  cursor:pointer;border:0;font-size:13px;font-weight:700;
  box-shadow:var(--shadow-cta);
}

/* 微信开放平台的扫码组件以 iframe 形式嵌入，扫码完成后仍停留在登录弹窗内。 */
.wx-widget-wrap{height:400px;display:flex;justify-content:center;align-items:center}
.wx-service-login .wx-widget-wrap{height:264px}
.wx-service-login .wx-widget-wrap img{width:220px!important;height:220px!important;object-fit:contain}
/* 官方二维码组件内部固定以 300×400 布局，缩放会造成二维码裁切。 */
#wxOpenLogin{width:300px;height:400px;display:flex;align-items:center;justify-content:center}
#wxOpenLogin iframe{border:0;width:300px!important;height:400px!important}
.wx-login-error{padding:44px 12px;text-align:center;color:var(--muted);font-size:13px}
.wx-login-error .refresh{display:block;margin:16px auto 0;padding:9px 18px;border:0;border-radius:var(--r-sm);background:var(--coral-500);color:#fff;font-weight:700}

/* ---- Tips ---- */
.wx-tip{
  text-align:center;font-size:13px;color:var(--ink-2);
  margin:2px 0 0;line-height:1.6;
}
.wx-tip b{color:var(--coral-600)}
.wx-tip .wx-tip-title{
  display:block;font-size:15px;color:var(--indigo-900);
  font-weight:800;margin-bottom:4px;letter-spacing:.02em;
}
.wx-member-sync-help{display:flex;align-items:center;gap:12px;margin:14px 0 0;padding:11px 12px 11px 14px;border:1px solid #dbe3f8;border-radius:14px;background:#f7f9ff;box-shadow:0 6px 18px rgba(44,67,137,.06);text-align:left}.wx-member-sync-help>div{min-width:0;flex:1}.wx-member-sync-help b,.wx-member-sync-help small,.wx-sync-eyebrow{display:block}.wx-sync-eyebrow{margin-bottom:2px;color:var(--coral-600);font-size:10px;font-weight:800;letter-spacing:.08em}.wx-member-sync-help b{color:var(--indigo-900);font-size:12px;line-height:1.35}.wx-member-sync-help small{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.4}.wx-member-sync-help button{flex:0 0 auto;padding:9px 11px;border:0;border-radius:9px;background:var(--indigo-700);color:#fff;font:800 12px inherit;white-space:nowrap;cursor:pointer;box-shadow:0 5px 12px rgba(45,67,146,.2)}.wx-member-sync-help button i{margin-left:3px;font-style:normal;font-size:14px}.wx-member-sync-help button:hover{background:var(--indigo-800);transform:translateY(-1px)}@media(max-width:390px){.wx-body{padding-left:14px;padding-right:14px}.wx-member-sync-help{gap:8px;padding-left:11px}.wx-member-sync-help button{padding:8px 9px;font-size:11px}}

/* ---- Status pill ---- */
.wx-status{
  margin:14px auto 0;
  display:inline-flex;align-items:center;gap:8px;
  padding:7px 14px;border-radius:var(--r-pill);
  font-size:12.5px;font-weight:700;
  background:var(--warn-bg);color:var(--warn);
}
.wx-status .dot{
  width:7px;height:7px;border-radius:50%;background:currentColor;
  box-shadow:0 0 0 3px rgba(192,117,0,.18);
  animation:wxPulse 1.4s ease-in-out infinite;
}
.wx-status.ok{background:var(--success-bg);color:var(--success)}
.wx-status.ok .dot{box-shadow:0 0 0 3px rgba(15,157,103,.2);animation:none}
.wx-status.error{background:var(--danger-bg);color:var(--danger)}
.wx-status.error .dot{box-shadow:0 0 0 3px rgba(198,38,41,.18);animation:none}
.wx-status-wrap{text-align:center}
@keyframes wxPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.7);opacity:.5}}

@media (max-width:390px){
  .wx-login-panel{width:calc(100vw - 20px)}
  .wx-head{padding-left:22px;padding-right:22px}
  .wx-body{padding-left:14px;padding-right:14px}
}

/* ---- Benefits row ---- */
.wx-benefits{
  margin-top:22px;padding-top:18px;
  border-top:1px dashed var(--line);
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center;
}
.wx-benefits div{font-size:11.5px;color:var(--muted);line-height:1.5}
.wx-benefits div i{
  display:block;width:30px;height:30px;margin:0 auto 4px;
  background:var(--indigo-50);color:var(--indigo-700);
  border-radius:9px;
  font-style:normal;font-weight:800;font-size:13px;line-height:30px;
}

/* ---- In-WeChat OAuth ---- */
.wx-oauth{padding:8px 0 4px}
.wx-oauth .oauth-btn{
  width:100%;padding:15px;
  background:linear-gradient(135deg,var(--coral-500),var(--coral-600));
  color:#fff;border:0;border-radius:var(--r-md);
  font-size:15px;font-weight:800;cursor:pointer;
  box-shadow:var(--shadow-cta);
  letter-spacing:.02em;
  transition:filter .18s var(--ease),transform .18s var(--ease);
}
.wx-oauth .oauth-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.wx-oauth .oauth-hint{
  margin-top:14px;text-align:center;
  font-size:12px;color:var(--muted);
}

/* ---- Account menu ---- */
.account-menu{position:relative}.account-trigger{gap:7px!important;min-width:0}.account-trigger em{font-style:normal;background:#e4f6ed;color:#108756;border-radius:99px;padding:2px 6px;font-size:10px;font-weight:800}.account-trigger i{font-style:normal;color:var(--muted);font-size:13px}.account-popover{position:absolute;right:0;top:calc(100% + 10px);width:224px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 42px rgba(8,15,46,.18);display:none;z-index:75}.account-menu.open .account-popover{display:block;animation:accountPop .16s ease-out}.account-summary{padding:10px 10px 12px;border-bottom:1px solid var(--line-soft)}.account-summary b{display:block;color:var(--ink);font-size:14px}.account-summary span{display:inline-block;margin-top:5px;padding:2px 7px;border-radius:99px;font-size:10px;font-weight:800}.member-on{background:#e4f6ed;color:#108756}.member-off{background:var(--indigo-50);color:var(--indigo-700)}.account-summary small{display:block;margin-top:5px;color:var(--muted);font-size:11px}.account-popover button{display:block;width:100%;padding:10px;text-align:left;border:0;background:transparent;color:var(--ink-2);font:600 13px inherit;border-radius:8px;cursor:pointer}.account-popover button:hover{background:var(--indigo-50);color:var(--indigo-700)}.account-popover .account-logout{margin-top:5px;border-top:1px solid var(--line-soft);color:var(--danger)}.account-popover .account-logout:hover{background:var(--danger-bg);color:var(--danger)}.account-orders-panel{width:min(520px,96vw);padding:28px;max-height:80vh}.account-orders-panel h2{margin:0 0 18px;color:var(--ink);font-size:21px}.account-order{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line-soft)}.account-order b,.account-order small{display:block}.account-order small{margin-top:4px;color:var(--muted);font-size:11px}.account-order>div:last-child{text-align:right}.account-order strong{display:block;color:var(--coral-500);font-family:Georgia,serif;font-size:18px}.account-order span{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:99px;background:var(--warn-bg);color:var(--warn);font-size:10px;font-weight:800}.account-order .order-paid{background:var(--success-bg);color:var(--success)}.account-order .order-closed{background:var(--danger-bg);color:var(--danger)}.account-orders-empty{padding:35px 0;text-align:center;color:var(--muted)}@keyframes accountPop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}

/* ---- Invite friends ---- */
.invite-panel{width:min(580px,96vw)}.invite-intro{margin:0 0 18px;color:var(--ink-2);line-height:1.7}.invite-intro b{color:var(--coral-500)}.invite-label{display:block;margin-bottom:7px;color:var(--ink);font-size:13px;font-weight:800}.invite-copy{display:flex;gap:8px}.invite-copy input{min-width:0;flex:1;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fafbff;color:var(--ink-2);font-size:12px;outline:0}.invite-copy button{flex:none;padding:0 15px;border:0;border-radius:9px;background:var(--coral-500);color:#fff;font:800 13px inherit;cursor:pointer;box-shadow:var(--shadow-cta)}.invite-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.invite-stats div{padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,var(--indigo-50),#fff5ef)}.invite-stats strong,.invite-stats span{display:block}.invite-stats strong{color:var(--indigo-800);font:800 26px Georgia,serif}.invite-stats span{margin-top:4px;color:var(--muted);font-size:11px}.invite-panel h3{margin:0;padding:15px 0 10px;border-top:1px solid var(--line-soft);color:var(--ink);font-size:15px}.invite-friends{max-height:245px;overflow:auto;margin:0;padding:0;list-style:none}.invite-friends li{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid var(--line-soft)}.invite-avatar{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--indigo-50);color:var(--indigo-700);font-weight:800}.invite-friends li>span:nth-child(2){flex:1}.invite-friends b,.invite-friends small{display:block}.invite-friends b{font-size:13px;color:var(--ink)}.invite-friends small{margin-top:3px;color:var(--muted);font-size:11px}.invite-friends em{font-style:normal;color:var(--success);font-size:12px;font-weight:800}@media(max-width:500px){.invite-copy{flex-direction:column}.invite-copy button{height:40px}.invite-panel{padding:22px}.invite-friends{max-height:180px}}

/* Account trigger: compact, centered and clearly clickable. */
.account-menu{display:flex;align-items:center}.account-trigger{height:46px!important;padding:0 14px 0 16px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border-radius:13px!important;line-height:1!important;white-space:nowrap}.account-trigger .account-name{max-width:116px;overflow:hidden;text-overflow:ellipsis;font-size:15px;font-weight:800;color:var(--indigo-800)}.account-trigger em{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:25px!important;padding:0 9px!important;border-radius:99px!important;font-size:11px!important;letter-spacing:.03em}.account-chevron{width:7px;height:7px;margin:0 1px 3px 2px;border-right:2px solid var(--indigo-700);border-bottom:2px solid var(--indigo-700);transform:rotate(45deg);transition:transform .18s ease}.account-menu.open .account-chevron{margin-bottom:-3px;transform:rotate(225deg)}.account-trigger:hover{border-color:var(--indigo-500)!important;background:var(--indigo-50)!important}.account-popover{top:calc(100% + 8px)!important}
.account-history-item{display:flex;width:100%;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border:0;border-bottom:1px solid var(--line-soft);background:transparent;text-align:left;cursor:pointer}.account-history-item:hover b,.account-history-item:hover strong,.account-history-item:hover i{color:var(--indigo-700)}.account-history-item span{min-width:0}.account-history-item b,.account-history-item strong,.account-history-item small{display:block}.account-history-item b{color:var(--ink-2);font-size:12px}.account-history-item strong{overflow:hidden;margin-top:4px;color:var(--ink);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.account-history-item small{margin-top:5px;color:var(--muted);font-size:11px}.account-history-item i{flex:none;color:var(--coral-500);font-style:normal;font-size:12px;font-weight:800}

/* Account menu icons */
.account-popover button{display:flex!important;align-items:center;gap:10px;padding:10px!important}.account-item-icon{display:inline-grid;width:23px;height:23px;flex:none;place-items:center;border-radius:7px;background:var(--indigo-50);color:var(--indigo-700)}.account-item-icon svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.account-popover button>span:last-child{line-height:1.2}.account-popover button:hover .account-item-icon{background:#dce5ff;color:var(--indigo-800)}.account-popover .icon-invite{background:#fff1eb;color:var(--coral-600)}.account-popover .icon-orders{background:#edf7f1;color:#118158}.account-popover .account-logout{align-items:center!important}.account-popover .account-logout .account-item-icon{background:#fff0f0;color:var(--danger)}.account-popover .account-logout:hover .account-item-icon{background:#ffdede}.account-popover .account-id-copy{display:flex!important;align-items:center!important;gap:7px;margin:4px 2px 7px!important;padding:9px 10px!important;border:1px dashed var(--line)!important;background:var(--indigo-50)!important;color:var(--indigo-800)!important}.account-id-copy span{font-size:11px;color:var(--muted);font-weight:700}.account-id-copy b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;letter-spacing:.04em}.account-id-copy i{margin-left:auto;font-size:10px;font-style:normal;color:var(--coral-600);font-weight:800}
.account-member-modal{z-index:210;padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.account-member-frame{width:100vw;height:100dvh;overflow:hidden;background:transparent}.account-member-frame iframe{display:block;width:100%;height:100%;border:0;background:transparent}
.account-summary-actions{display:flex;align-items:center;gap:8px;margin-top:5px}.account-summary .account-summary-actions>span{margin:0}.account-summary .account-sync-member{display:inline-flex!important;width:auto!important;align-items:center!important;padding:5px 9px!important;border:1px solid #cfdcf8!important;border-radius:999px!important;background:#f2f6ff!important;color:var(--indigo-700)!important;font-size:11px!important;font-weight:800!important;line-height:1!important}.account-summary .account-sync-member:hover{border-color:#aebfeb!important;background:#eaf0ff!important}
