/* Scoped to the public customer service directory. Existing dialogs/forms keep their rules. */
html.zjsd-open{overflow:hidden}
.zjsd-dialog,.zjsd-dialog *{box-sizing:border-box}
.zjsd-dialog{--zjsd-ink:#242832;--zjsd-muted:#687184;--zjsd-orange:#b84a0b;width:min(560px,calc(100vw - 32px));max-width:560px;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #e6e8ee;border-radius:22px;background:#fff;color:var(--zjsd-ink);box-shadow:0 24px 90px #1b24352b;overflow:auto;font:400 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;overscroll-behavior:contain}
.zjsd-dialog::backdrop{background:#18233366}
.zjsd-dialog button{appearance:none;-webkit-appearance:none;cursor:pointer;font:inherit;letter-spacing:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.zjsd-dialog svg{flex:none;width:20px;height:20px;display:block}
.zjsd-dialog [hidden]{display:none!important}
.zjsd-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #edf0f4}
.zjsd-head>div{display:flex;align-items:center;gap:10px}
.zjsd-head>div>svg{color:var(--zjsd-orange)}
.zjsd-head h2{margin:0;font-size:19px;font-weight:700;line-height:1.4;letter-spacing:-.02em}
.zjsd-icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:7px;border:0;border-radius:10px;color:var(--zjsd-muted);background:transparent;transition:background-color 120ms,transform 120ms}
.zjsd-close{width:40px;height:40px;margin:-4px -4px -4px 0}
.zjsd-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:20px 24px 0;padding:5px;border:1px solid #edf0f4;border-radius:14px;background:#f5f6f8}
.zjsd-tabs [role=tab]{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;min-width:0;padding:9px 5px;border:1px solid transparent;border-radius:10px;background:transparent;color:#626b7b;font-size:14px;font-weight:600;white-space:nowrap;transition:background-color 140ms,color 140ms,transform 120ms}
.zjsd-tabs [role=tab] svg{width:18px;height:18px}
.zjsd-tabs [aria-selected=true]{border-color:#f0c9ae;background:#fff;color:var(--zjsd-orange);box-shadow:0 1px 3px #282e3810}
.zjsd-panel{display:grid;justify-items:center;gap:0;padding:22px 28px 26px;text-align:center;min-width:0}
.zjsd-info{min-width:0;max-width:100%}
.zjsd-identity{display:flex;align-items:center;justify-content:center;gap:14px;text-align:left}
.zjsd-identity-copy{min-width:0}
.zjsd-brand-avatar{position:relative;display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border:1px solid #f0c4a7;border-radius:50%;background:#fff7f0}
.zjsd-brand-avatar img{display:block;width:35px;height:35px;object-fit:contain;border-radius:0}
.zjsd-brand-avatar::after{content:"";position:absolute;inset:-2px;border:2px solid var(--brand,#ff7d2e);border-radius:50%;opacity:0;pointer-events:none}
.zjsd-brand-avatar.zjsd-pulse-started::after{animation:zjsd-brand-pulse 2s cubic-bezier(.16,1,.3,1) 2;animation-play-state:paused}
.zjsd-brand-avatar.zjsd-pulse-started.zjsd-pulse-active::after{animation-play-state:running}
@keyframes zjsd-brand-pulse{0%{opacity:.5;transform:scale(1)}65%,100%{opacity:0;transform:scale(1.48)}}
.zjsd-title{margin:0;font-size:21px;line-height:1.4;letter-spacing:-.02em;font-weight:700}
.zjsd-purpose{margin:7px 0 0;color:var(--zjsd-muted);font-size:14px;line-height:1.6}
.zjsd-context{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;max-width:100%;margin:9px 0 0;padding:8px 12px;border-radius:8px;background:#f7f8fa;font-size:12px;overflow-wrap:anywhere}
.zjsd-context strong{font-weight:600}.zjsd-context span{color:var(--zjsd-muted)}
.zjsd-qr{display:grid;place-items:center;width:246px;height:246px;max-width:100%;margin-top:18px;padding:14px;border:1px solid #e8ebf0;border-radius:14px;background:#fff}
.zjsd-qr-image{display:block;width:216px;height:216px;max-width:100%;object-fit:contain;user-select:auto;-webkit-touch-callout:default;animation:none;transform:none;transition:none}
.zjsd-qr-state{display:grid;justify-items:center;gap:12px;padding:12px;color:var(--zjsd-muted);font-size:14px}
.zjsd-retry{padding:7px 13px;border:1px solid #dfe3e9;border-radius:8px;background:#fff;color:var(--zjsd-orange);min-height:40px}
.zjsd-scan{margin:15px 0 18px;color:var(--zjsd-muted);font-size:13px;line-height:1.6}
.zjsd-save{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;padding:11px 16px;border:1px solid #f2c4a5;border-radius:11px;background:#fff5ed;color:var(--zjsd-orange);font-weight:600!important;transition:background-color 120ms,transform 120ms}
.zjsd-save svg{width:17px;height:17px}
.zjsd-status{margin:12px 0 0;color:#566173;font-size:13px}.zjsd-status.is-error{color:#a52d21}
.zjsd-dialog button:focus-visible{outline:3px solid #b84a0b;outline-offset:3px}
.zjsd-dialog button:active{transform:scale(.98)}
@media(hover:hover) and (pointer:fine){.zjsd-icon-button:hover{background:#f1f3f6}.zjsd-save:hover{background:#ffeadb}.zjsd-tabs [role=tab]:not([aria-selected=true]):hover{background:#eceff3}}
@media(max-width:480px){.zjsd-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:18px}.zjsd-head{padding:15px 17px}.zjsd-head h2{font-size:18px}.zjsd-tabs{margin:16px 16px 0;gap:3px;padding:4px}.zjsd-tabs [role=tab]{gap:5px;font-size:12px;min-height:42px}.zjsd-tabs [role=tab] svg{width:16px;height:16px}.zjsd-panel{padding:20px 22px 22px}.zjsd-title{font-size:20px}.zjsd-purpose{font-size:13px}.zjsd-qr{width:232px;height:232px;padding:12px}.zjsd-qr-image{width:206px;height:206px}.zjsd-scan{font-size:12px}}
@media(prefers-reduced-motion:reduce){.zjsd-dialog button{transition:none}.zjsd-dialog button:active{transform:none}html:not([data-motion="full"]) .zjsd-brand-avatar.zjsd-pulse-started::after{animation:none;opacity:0}}
@media(max-width:360px){.zjsd-tabs [role=tab] svg{display:none}.zjsd-tabs [role=tab]{gap:0}}
@media(prefers-contrast:more){.zjsd-tabs [role=tab],.zjsd-purpose,.zjsd-scan{color:#3c4656}.zjsd-tabs [aria-selected=true]{color:#8b3605;border-color:#a3460f}}
.zjsd-save:disabled{cursor:wait;opacity:.55;transform:none!important}.zjsd-save:disabled:hover{background:#fff5ed}.zjsd-dialog.is-wechat .zjsd-scan{margin-bottom:0}.zjsd-dialog button{user-select:none;-webkit-user-select:none}.zjsd-qr-image{-webkit-user-select:auto;-webkit-touch-callout:default}
