.dashboard-contact-button { display:grid; place-items:center; margin-left:auto; flex-shrink:0; width:36px; height:36px; padding:8px; border:0; border-radius:6px; background:transparent; color:#262626; cursor:pointer; transition:background .15s; }
.dashboard-contact-button[hidden] { display:none; }
.dashboard-contact-button svg { width:20px; height:20px; fill:currentColor; }
.dashboard-contact-button:hover { background:#ececee; }
.dashboard-contact-button:focus-visible, .contact-dialog button:focus-visible, .contact-option:focus-visible { outline:2px solid #3568f5; outline-offset:3px; }
.contact-dialog { position:fixed; inset:0; width:min(440px,calc(100% - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; margin:auto; overflow:auto; border:1px solid #e5e7eb; border-radius:12px; background:#fff; color:#171717; box-shadow:0 20px 60px rgba(0,0,0,.18); opacity:0; transform:translateY(8px) scale(.98); transition:opacity .18s,transform .18s cubic-bezier(.2,.8,.2,1); }
.contact-dialog::backdrop { background:rgba(0,0,0,0); transition:background .18s; }
.contact-dialog.is-open { opacity:1; transform:translateY(0) scale(1); }
.contact-dialog.is-open::backdrop { background:rgba(0,0,0,.5); }
.contact-dialog-content { padding:24px; }
.contact-dialog-header { position:relative; margin-bottom:22px; padding-right:22px; }
.contact-dialog-header h2 { display:flex; align-items:center; gap:10px; margin:0; font-size:18px; font-weight:600; line-height:1.5; }
.contact-dialog-header h2 svg { width:21px; height:21px; fill:currentColor; }
.contact-dialog-header p { margin:8px 0 0; color:#737373; font-size:13px; line-height:1.6; }
.contact-close { position:absolute; top:-8px; right:-8px; width:32px; height:32px; display:grid; place-items:center; padding:7px; border:0; border-radius:6px; background:transparent; color:#737373; cursor:pointer; }
.contact-close svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.5; fill:none; }
.contact-close:hover { background:#f5f5f5; }
.contact-options { display:grid; gap:10px; }
.contact-option { display:flex; align-items:center; gap:12px; width:100%; padding:14px; border:1px solid #e5e7eb; border-radius:9px; background:#fff; color:#262626; text-align:left; font:inherit; cursor:pointer; transition:background .15s,border-color .15s; }
.contact-option:any-link, .contact-option:hover, .contact-option:focus { color:#262626; text-decoration:none; }
.contact-option:hover { background:#fafafa; border-color:#cfd0d4; }
.contact-option-icon { display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:8px; background:#f5f5f5; color:#525252; font-size:18px; }
.contact-option-icon.contact-wechat { color:#159651; background:#eef9f2; }
.contact-option-copy { flex:1; min-width:0; }
.contact-option-copy strong { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:14px; font-weight:600; line-height:1.5; }
.contact-option-copy small { display:block; margin-top:3px; color:#737373; font-size:12px; line-height:1.5; }
.contact-arrow { color:#a3a3a3; font-size:19px; }
.contact-email-action { flex:none; color:#737373; font-size:12px; }
.contact-group-badge { padding:1px 6px; border-radius:4px; background:#fff5e7; color:#a75b10; font-size:10px; font-weight:500; line-height:1.7; }
.contact-status { min-height:0; margin:12px 0 0; color:#525252; font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.contact-status:empty { display:none; }
.contact-copy-buffer { position:fixed; top:0; left:0; width:1px; height:1px; opacity:0; }

/* Scoped adaptation of the user-supplied WeChat customer-service page. */
.wechat-contact-page { position:relative; display:flex; justify-content:center; align-items:center; min-height:calc(100dvh - 104px); padding:60px 20px 32px; border-radius:14px; background:linear-gradient(135deg,#667eea 0%,#764ba2 100%); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.wechat-contact-back { position:absolute; top:20px; left:24px; color:#fff; font-size:14px; text-decoration:none; }
.wechat-contact-back:hover, .wechat-contact-back:focus { color:#fff; text-decoration:underline; }
.wechat-contact-container { width:100%; max-width:484px; padding:40px 32px; border:1px solid rgba(255,255,255,.3); border-radius:24px; background:rgba(255,255,255,.95); backdrop-filter:blur(20px) saturate(180%); text-align:center; box-shadow:0 20px 40px rgba(31,38,135,.15); }
.wechat-contact-wechat-icon { width:64px; height:64px; margin:0 auto 20px; display:flex; align-items:center; justify-content:center; border-radius:16px; background:#07c160; box-shadow:0 8px 16px rgba(7,193,96,.3); }
.wechat-contact-wechat-icon svg { width:36px; height:36px; fill:#fff; }
.wechat-contact-title { margin:0 0 8px; color:#1a1a1a; font-size:24px; font-weight:700; letter-spacing:-.02em; }
.wechat-contact-subtitle { margin:0 0 32px; color:#666; font-size:16px; line-height:1.5; }
.wechat-contact-qr-container { padding:24px; margin:24px 0; border:1px solid #f0f0f0; border-radius:20px; background:#fff; box-shadow:0 4px 12px rgba(0,0,0,.08); }
.wechat-contact-qr-code { display:block; width:200px; max-width:100%; height:auto; aspect-ratio:1; object-fit:contain; margin:0 auto; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.1); }
.wechat-contact-account-name { margin:16px 0 8px; color:#07c160; font-size:18px; font-weight:600; }
.wechat-contact-description { margin-bottom:24px; color:#888; font-size:14px; line-height:1.6; }
.wechat-contact-steps { margin:24px 0; padding:20px; border-radius:16px; background:rgba(7,193,96,.05); text-align:left; }
.wechat-contact-steps-title { margin-bottom:12px; color:#333; text-align:center; font-size:16px; font-weight:600; }
.wechat-contact-step { display:flex; align-items:center; margin-bottom:8px; color:#555; font-size:14px; }
.wechat-contact-step-number { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:20px; height:20px; margin-right:12px; border-radius:50%; background:#07c160; color:#fff; font-size:12px; font-weight:600; }
.wechat-contact-footer { margin-top:24px; color:#999; font-size:12px; line-height:1.5; }
.wechat-contact-image-status { color:#a16207; font-size:12px; }
@media (max-width:480px) {
    .contact-dialog-content { padding:20px; }
    .contact-option { padding:12px 10px; gap:10px; }
    .wechat-contact-page { border-radius:0; padding:56px 16px 24px; }
    .wechat-contact-container { padding:32px 20px; }
    .wechat-contact-qr-container { padding:20px 12px; }
    .wechat-contact-qr-code { width:180px; }
    .wechat-contact-title { font-size:22px; }
}
@media (prefers-reduced-motion:reduce) {
    .contact-dialog, .contact-dialog::backdrop { transition:none; }
}
