/* view-user.css — B1 专属视觉（user / service / kanban 三视图）
   硬约束：全部走 deploy/shared/design-tokens.css 既有令牌；禁 #hex / rgb() / hsl() / 颜色关键词；类名统一 vu- 前缀 */

/* —— 聊天气泡行（service.js） —— */
.vu-msg-row{display:flex;margin:var(--sp-2) 0}
.vu-msg-left{justify-content:flex-start}
.vu-msg-right{justify-content:flex-end}

/* —— 商城（user.js） —— */
.vu-shop-desc{display:block;font-size:var(--fs-sm);color:var(--dim-2);margin-top:var(--sp-1)}

/* —— 二维码弹层（user.js showPayQR） —— */
.vu-qr-mask{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--overlay)}
.vu-qr-panel{background:var(--bg);border-radius:var(--r-xl);padding:var(--sp-6);max-width:22.5rem;width:90%;text-align:center}
.vu-qr-title{font-size:var(--fs-lg);font-weight:var(--fw-heavy);color:var(--ink-strong);margin-bottom:var(--sp-2)}
.vu-qr-meta{color:var(--dim);font-size:var(--fs-md);margin-bottom:var(--sp-4)}
.vu-qr-img{width:13.75rem;height:13.75rem;display:block;margin:0 auto;border:1px solid var(--line);border-radius:var(--r-lg)}
.vu-qr-ph{padding:var(--sp-10) var(--sp-5);background:var(--bg-sunk);border-radius:var(--r-inset-md);color:var(--dim-2)}
.vu-qr-tip{margin-top:var(--sp-4);color:var(--dim);font-size:var(--fs-md);line-height:var(--lh-snug)}

/* —— 支付方式选择弹层（user.js showPayPicker） —— */
.vu-pay-panel{background:var(--card);border-radius:var(--r-xl);padding:var(--sp-6);max-width:23.75rem;width:100%;box-shadow:var(--shadow-pop)}
.vu-pay-title{font-size:var(--fs-xl);font-weight:var(--fw-heavy);color:var(--ink-strong);margin-bottom:var(--sp-1)}
.vu-pay-empty{padding:var(--sp-6);text-align:center}
.vu-pay-opt{display:block;width:100%;text-align:left;margin-bottom:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-lg);font-weight:var(--fw-bold);border:1px solid var(--brand-line);background:var(--brand-softer);color:var(--ink);cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}
.vu-pay-opt:hover{background:var(--brand-soft);border-color:var(--brand)}
.vu-pay-opt.is-off{border-style:dashed;border-color:var(--line-strong);background:var(--bg-2);color:var(--dim-2);cursor:not-allowed;font-weight:var(--fw-medium)}
.vu-pay-opt.is-off:hover{background:var(--bg-2);border-color:var(--line-strong)}
.vu-pay-opt-row{display:flex;justify-content:space-between;align-items:center}
.vu-pay-opt-desc{font-size:var(--fs-sm);color:var(--brand);font-weight:var(--fw-normal)}
.vu-pay-opt.is-off .vu-pay-opt-desc,.vu-pay-opt-sub{color:var(--dim-2)}
.vu-pay-opt-sub{display:block;font-size:var(--fs-sm);font-weight:var(--fw-normal);margin-top:var(--sp-1)}
