/* 正式个人/支付状态沿既有深色布局；静态预览不加载此文件。 */
.cv-member-actions,.cv-member-tabs { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:18px 0; }
.cv-member-dialog { width:min(440px,calc(100vw - 24px)); }
.cv-member-dialog .cv-dialog-head,.cv-pay-dialog .cv-dialog-head { flex-shrink:0; }
.cv-member-dialog .cv-modal-body { overflow:auto; }
.cv-member-dialog .cv-form { margin:0; }
.cv-member-settings { max-width:520px; }
.cv-member-color { min-height:44px; width:100%; padding:6px; }
.cv-profile-nav .cv-profile-tab { border:0; background:transparent; text-align:left; width:100%; font:inherit; }
.cv-profile-nav .cv-profile-tab[aria-current=page] { color:var(--cv-accent-soft); background:rgba(255,47,109,.08); }
.cv-profile-summary .cv-button { margin:6px 0; }
.cv-profile-summary h1 { overflow-wrap:anywhere; }
.cv-profile-avatar[data-cvm-avatar] { font-size:30px; font-weight:700; text-transform:uppercase; border-radius:50%; flex-shrink:0; }
.cv-member-assets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:24px; }
.cv-member-asset { border:1px solid var(--cv-line-strong); border-radius:12px; background:var(--cv-surface-2); padding:22px; }
.cv-member-asset strong { display:block; font-size:24px; margin-bottom:12px; }
.cv-member-asset strong small { font-size:14px; font-weight:400; }
.cv-member-stats { display:flex; justify-content:space-around; gap:12px; padding:12px; border:1px solid var(--cv-line); border-radius:12px; margin:20px 0; }
.cv-member-stats a { display:flex; flex-direction:column; align-items:center; }
.cv-member-stats strong { font-size:24px; }
.cv-member-stats span { color:var(--cv-muted); }
.cv-member-section { margin-top:28px; }
.cv-member-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cv-member-grid .cv-cover { aspect-ratio:16 / 9; }
.cv-member-grid img { width:100%; height:100%; object-fit:cover; }
.cv-member-remove { min-height:36px; font-size:12px; }
.cv-member-order { border:1px solid var(--cv-line-strong); border-radius:10px; padding:18px; margin:14px 0; overflow-wrap:anywhere; }
.cv-member-order h3 { margin-bottom:8px; }
.cv-member-order time { display:block; font-size:12px; margin-bottom:10px; }
.cv-member-guard { padding:24px 0; }
.cv-pay-page { max-width:1040px; }
.cv-pay-panel { padding:24px; background:var(--cv-surface); border:1px solid var(--cv-line); border-radius:14px; }
.cv-pay-account { display:flex; gap:18px; align-items:center; padding:18px 0; margin-bottom:20px; border-bottom:1px solid var(--cv-line); }
/* 支付身份条不继承个人资料卡的auto外边距，头像与昵称在整页和弹窗中保持相邻。 */
.cv-pay-account>.cv-profile-avatar[data-cvm-avatar] { width:48px; height:48px; margin:0; font-size:24px; }
.cv-pay-account>div { flex:1; min-width:0; }
.cv-pay-account h2 { overflow-wrap:anywhere; }
.cv-pay-account h2 { margin-bottom:6px; }
.cv-pay-account p { margin-bottom:6px; }
.cv-pay-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:18px 0; }
.cv-pay-option { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-height:150px; padding:20px 16px; border:1px solid var(--cv-line-strong); border-radius:10px; background:var(--cv-surface-2); text-align:left; overflow-wrap:anywhere; }
.cv-pay-option.is-active { border-color:var(--cv-accent); background:rgba(255,47,109,.08); box-shadow:inset 0 0 0 1px var(--cv-accent); }
.cv-pay-option strong { font-size:16px; }
.cv-pay-price { font-size:26px; color:var(--cv-accent-soft); }
.cv-pay-badge { font-size:12px; color:var(--cv-accent-soft); }
.cv-pay-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:24px; }
.cv-pay-benefit { padding:16px; border-radius:10px; border:1px solid var(--cv-line); }
.cv-pay-benefit h4 { margin:0 0 8px; }
.cv-pay-benefit p { margin:0; }
.cv-pay-dialog { width:min(850px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); }
/* 仅正文承担长商品目录滚动，标题和44px关闭入口保持固定可达。 */
.cv-pay-dialog[open] { display:flex; flex-direction:column; overflow:hidden; }
.cv-pay-dialog>.cv-dialog-head { padding:16px 22px 12px; border-bottom:1px solid var(--cv-line); }
.cv-pay-dialog .cv-dialog-head>[data-cvm-dialog-close] { width:44px; height:44px; flex-shrink:0; }
.cv-pay-dialog .cv-pay-panel { padding:0; background:transparent; border:0; }
.cv-pay-dialog .cv-modal-body { flex:1; min-height:0; max-height:none; overflow:auto; padding:18px 22px 24px; overscroll-behavior:contain; }
.cv-pay-dialog .cv-pay-account { gap:12px; padding:0 0 16px; margin-bottom:18px; }
.cv-pay-dialog .cv-pay-account h2 { font-size:18px; line-height:1.4; margin:0 0 4px; }
.cv-pay-dialog .cv-pay-account p { margin:0; line-height:1.6; }
.cv-pay-dialog .cv-pay-panel>.cv-member-tabs:first-child { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 18px; }
.cv-pay-dialog .cv-pay-panel>.cv-member-tabs:first-child .cv-button { min-width:0; padding:10px 8px; justify-content:center; text-align:center; white-space:normal; }
.cv-pay-dialog .cv-member-section { margin-top:18px; }
/* 真实目录可能不含徽标/划线价/权益，空字段不继续占据卡片和标题空间。 */
.cv-pay-dialog .cv-pay-badge:has([data-cvm-option-badge]:empty),.cv-pay-dialog s:has([data-cvm-option-old]:empty),.cv-pay-dialog .cv-member-section:has(>[data-cvm-benefits]:empty) { display:none; }
.cv-pay-panel .cv-member-tabs .cv-button { min-height:44px; }
.cv-toast[data-cvm-business-toast] { z-index:2147483647; }
@media(max-width:900px) { .cv-member-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .cv-pay-options,.cv-pay-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .cv-member-assets { gap:10px; } .cv-member-asset { padding:14px; } .cv-member-asset strong { font-size:20px; } .cv-member-asset .cv-button { padding:8px 12px; } .cv-pay-panel { padding:14px; } .cv-pay-options { gap:10px; } .cv-pay-option { padding:14px 12px; min-height:140px; } .cv-pay-price { font-size:23px; } .cv-pay-benefits { grid-template-columns:1fr; } .cv-member-order { padding:14px; } .cv-member-actions .cv-button { flex:1 1 auto; } .cv-profile-content { min-width:0; } .cv-member-tabs .cv-button { font-size:13px; } }
@media(max-width:340px) { .cv-member-assets { grid-template-columns:1fr; } .cv-pay-options { grid-template-columns:1fr; } }
@media(max-width:600px) {
    .cv-pay-dialog>.cv-dialog-head { padding:10px 14px 8px; }
    .cv-pay-dialog .cv-modal-body { padding:16px 14px 20px; }
    .cv-pay-dialog .cv-pay-account h2 { font-size:16px; }
    .cv-pay-dialog .cv-pay-account p { font-size:12px; }
    /* 320px仍保留两列真实档位，独立支付整页沿原有断点，不靠减少商品解决拥挤。 */
    .cv-pay-dialog .cv-pay-options { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .cv-pay-dialog .cv-pay-option { min-width:0; min-height:128px; padding:14px 10px; gap:8px; }
    .cv-pay-dialog .cv-pay-option strong { font-size:14px; }
    .cv-pay-dialog .cv-pay-price { font-size:22px; }
    .cv-pay-dialog .cv-pay-benefits { gap:8px; margin-bottom:18px; }
    .cv-pay-dialog .cv-pay-benefit { padding:12px; }
    .cv-pay-dialog [data-cvm-channels] { gap:8px; }
    .cv-pay-dialog [data-cvm-channels] .cv-button { min-width:0; padding:10px 12px; white-space:normal; }
}
