/* /Components/Layout/MainLayout.razor.rz.scp.css */
/* 公共页面布局样式 */

.public-page[b-d8mro3xkgw] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* ===== 代理中心专属：浅色宽屏主题 =====
   仅在 /portal 路由由 MainLayout 加上 .theme-portal，覆盖背景/顶栏配色/容器宽度；
   客户页（查询/下单/登录）不受影响，仍是紫色渐变窄栏。 */
.public-page.theme-portal[b-d8mro3xkgw] {
    background:
        radial-gradient(circle at 0% 0%, rgba(101, 87, 217, .10), transparent 28%),
        radial-gradient(circle at 100% 16%, rgba(99, 102, 241, .07), transparent 22%),
        #f6f7fb;
}

.public-page.theme-portal .public-header[b-d8mro3xkgw] {
    background: rgba(255, 255, 255, 0.86);
    border-bottom: 1px solid rgba(229, 231, 235, 0.9);
}

.public-page.theme-portal .logo[b-d8mro3xkgw] {
    color: #16181d;
}

.public-page.theme-portal .header-nav[b-d8mro3xkgw]  a {
    color: #525866;
}

.public-page.theme-portal .header-nav[b-d8mro3xkgw]  a:hover {
    background: #f2f3f7;
    color: #232631;
}

.public-page.theme-portal .header-nav[b-d8mro3xkgw]  a.active {
    background: #efedff;
    color: #5446c8;
}

.public-page.theme-portal .user-menu-trigger[b-d8mro3xkgw] {
    background: #fff;
    border: 1px solid #e8eaf0;
    color: #444a57;
}

.public-page.theme-portal .user-menu-trigger:hover[b-d8mro3xkgw] {
    background: #f2f3f7;
}

/* 宽屏容器（客户页仍是 900px），深色主标题，浅色页脚 */
.public-page.theme-portal .container[b-d8mro3xkgw] {
    max-width: 1240px;
}

.public-page.theme-portal .public-main[b-d8mro3xkgw]  h1 {
    color: #16181d;
}

.public-page.theme-portal .public-footer[b-d8mro3xkgw] {
    background: rgba(0, 0, 0, 0.04);
}

.public-page.theme-portal .footer-content[b-d8mro3xkgw] {
    color: #9398a4;
}

/* 头部 */
.public-header[b-d8mro3xkgw] {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding: 1rem 0;
    /* 高于关闭遮罩(z-index:40)，使头部内的用户菜单下拉可点击、其余区域点击落到遮罩上关闭菜单 */
    position: relative;
    z-index: 50;
}

.header-content[b-d8mro3xkgw] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.header-nav[b-d8mro3xkgw] {
    display: flex;
    gap: 0.5rem;
}

/* 使用 ::deep 穿透到 NavLink 组件渲染出的 <a>（scoped CSS 默认不作用于子组件元素） */
.header-nav[b-d8mro3xkgw]  a {
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    padding: 0.4rem 1rem;
    border-radius: 8px;
    font-size: 0.95rem;
    transition: background 0.2s, color 0.2s;
}

.header-nav[b-d8mro3xkgw]  a:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

.header-nav[b-d8mro3xkgw]  a.active {
    background: rgba(255, 255, 255, 0.28);
    color: #fff;
    font-weight: 600;
}

/* 用户菜单下拉（账户设置/结算信息/退出） */
.user-menu[b-d8mro3xkgw] {
    position: relative;
    display: inline-block;
}

.user-menu-trigger[b-d8mro3xkgw] {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border: none;
    padding: 0.4rem 0.9rem;
    border-radius: 8px;
    font-size: 0.95rem;
    cursor: pointer;
    transition: background 0.2s;
}

.user-menu-trigger:hover[b-d8mro3xkgw] {
    background: rgba(255, 255, 255, 0.28);
}

.user-menu-avatar[b-d8mro3xkgw] {
    font-size: 1rem;
}

.user-menu-name[b-d8mro3xkgw] {
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.user-menu-caret[b-d8mro3xkgw] {
    font-size: 0.7rem;
    opacity: 0.85;
}

.user-menu-backdrop[b-d8mro3xkgw] {
    position: fixed;
    inset: 0;
    z-index: 40;
}

.user-menu-dropdown[b-d8mro3xkgw] {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    min-width: 160px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
    overflow: hidden;
    z-index: 50;
    padding: 4px 0;
}

.user-menu-dropdown button[b-d8mro3xkgw] {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 0.6rem 1rem;
    color: #333;
    font-size: 0.92rem;
    cursor: pointer;
}

.user-menu-dropdown button:hover[b-d8mro3xkgw] {
    background: #f5f5f7;
}

.user-menu-divider[b-d8mro3xkgw] {
    height: 1px;
    background: #eee;
    margin: 4px 0;
}

.logo[b-d8mro3xkgw] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: white;
    font-size: 1.5rem;
    font-weight: 600;
}

.logo-icon[b-d8mro3xkgw] {
    font-size: 1.75rem;
}

.logo-text[b-d8mro3xkgw] {
    letter-spacing: 0.5px;
}

/* 主内容区 */
.public-main[b-d8mro3xkgw] {
    flex: 1;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 2rem 1rem;
}

/* 页面级主标题位于紫色渐变背景上——统一浅色以保证对比度。
   卡片内标题使用 h2、正文/label 用自身深色，均不受此规则影响。 */
.public-main[b-d8mro3xkgw]  h1 {
    color: #fff;
}

.container[b-d8mro3xkgw] {
    width: 100%;
    max-width: 900px;
}

/* 页脚 */
.public-footer[b-d8mro3xkgw] {
    background: rgba(0, 0, 0, 0.2);
    padding: 1rem 0;
}

.footer-content[b-d8mro3xkgw] {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
    text-align: center;
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.875rem;
}

.footer-content p[b-d8mro3xkgw] {
    margin: 0;
}

#blazor-error-ui[b-d8mro3xkgw] {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-d8mro3xkgw] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

/* /Components/Layout/ReconnectModal.razor.rz.scp.css */
.components-reconnect-first-attempt-visible[b-8q0qx5hmh2],
.components-reconnect-repeated-attempt-visible[b-8q0qx5hmh2],
.components-reconnect-failed-visible[b-8q0qx5hmh2],
.components-pause-visible[b-8q0qx5hmh2],
.components-resume-failed-visible[b-8q0qx5hmh2],
.components-rejoining-animation[b-8q0qx5hmh2] {
    display: none;
}

#components-reconnect-modal.components-reconnect-show .components-reconnect-first-attempt-visible[b-8q0qx5hmh2],
#components-reconnect-modal.components-reconnect-show .components-rejoining-animation[b-8q0qx5hmh2],
#components-reconnect-modal.components-reconnect-paused .components-pause-visible[b-8q0qx5hmh2],
#components-reconnect-modal.components-reconnect-resume-failed .components-resume-failed-visible[b-8q0qx5hmh2],
#components-reconnect-modal.components-reconnect-retrying[b-8q0qx5hmh2],
#components-reconnect-modal.components-reconnect-retrying .components-reconnect-repeated-attempt-visible[b-8q0qx5hmh2],
#components-reconnect-modal.components-reconnect-retrying .components-rejoining-animation[b-8q0qx5hmh2],
#components-reconnect-modal.components-reconnect-failed[b-8q0qx5hmh2],
#components-reconnect-modal.components-reconnect-failed .components-reconnect-failed-visible[b-8q0qx5hmh2] {
    display: block;
}


#components-reconnect-modal[b-8q0qx5hmh2] {
    background-color: white;
    width: 20rem;
    margin: 20vh auto;
    padding: 2rem;
    border: 0;
    border-radius: 0.5rem;
    box-shadow: 0 3px 6px 2px rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: display 0.5s allow-discrete, overlay 0.5s allow-discrete;
    animation: components-reconnect-modal-fadeOutOpacity-b-8q0qx5hmh2 0.5s both;
    &[open]

{
    animation: components-reconnect-modal-slideUp-b-8q0qx5hmh2 1.5s cubic-bezier(.05, .89, .25, 1.02) 0.3s, components-reconnect-modal-fadeInOpacity-b-8q0qx5hmh2 0.5s ease-in-out 0.3s;
    animation-fill-mode: both;
}

}

#components-reconnect-modal[b-8q0qx5hmh2]::backdrop {
    background-color: rgba(0, 0, 0, 0.4);
    animation: components-reconnect-modal-fadeInOpacity-b-8q0qx5hmh2 0.5s ease-in-out;
    opacity: 1;
}

@keyframes components-reconnect-modal-slideUp-b-8q0qx5hmh2 {
    0% {
        transform: translateY(30px) scale(0.95);
    }

    100% {
        transform: translateY(0);
    }
}

@keyframes components-reconnect-modal-fadeInOpacity-b-8q0qx5hmh2 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes components-reconnect-modal-fadeOutOpacity-b-8q0qx5hmh2 {
    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.components-reconnect-container[b-8q0qx5hmh2] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

#components-reconnect-modal p[b-8q0qx5hmh2] {
    margin: 0;
    text-align: center;
}

#components-reconnect-modal button[b-8q0qx5hmh2] {
    border: 0;
    background-color: #6b9ed2;
    color: white;
    padding: 4px 24px;
    border-radius: 4px;
}

    #components-reconnect-modal button:hover[b-8q0qx5hmh2] {
        background-color: #3b6ea2;
    }

    #components-reconnect-modal button:active[b-8q0qx5hmh2] {
        background-color: #6b9ed2;
    }

.components-rejoining-animation[b-8q0qx5hmh2] {
    position: relative;
    width: 80px;
    height: 80px;
}

    .components-rejoining-animation div[b-8q0qx5hmh2] {
        position: absolute;
        border: 3px solid #0087ff;
        opacity: 1;
        border-radius: 50%;
        animation: components-rejoining-animation-b-8q0qx5hmh2 1.5s cubic-bezier(0, 0.2, 0.8, 1) infinite;
    }

        .components-rejoining-animation div:nth-child(2)[b-8q0qx5hmh2] {
            animation-delay: -0.5s;
        }

@keyframes components-rejoining-animation-b-8q0qx5hmh2 {
    0% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    4.9% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 0;
    }

    5% {
        top: 40px;
        left: 40px;
        width: 0;
        height: 0;
        opacity: 1;
    }

    100% {
        top: 0px;
        left: 0px;
        width: 80px;
        height: 80px;
        opacity: 0;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
/* 查询页面样式 */

/* 卡片通用样式 */
.query-card[b-2lo7vtfzjv],
.result-card[b-2lo7vtfzjv],
.tips-card[b-2lo7vtfzjv] {
    background: white;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.card-header[b-2lo7vtfzjv] {
    padding: 1.5rem 2rem;
    border-bottom: 1px solid #eee;
}

.card-header h2[b-2lo7vtfzjv],
.card-header h3[b-2lo7vtfzjv] {
    margin: 0;
    color: #333;
    font-weight: 600;
}

.card-header h2[b-2lo7vtfzjv] {
    font-size: 1.5rem;
}

.card-header h3[b-2lo7vtfzjv] {
    font-size: 1.125rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.subtitle[b-2lo7vtfzjv] {
    margin: 0.5rem 0 0 0;
    color: #666;
    font-size: 0.9rem;
}

.badge[b-2lo7vtfzjv] {
    background: #667eea;
    color: white;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 500;
}

.card-body[b-2lo7vtfzjv] {
    padding: 1.5rem 2rem;
}

/* 表单样式 */
.form-group[b-2lo7vtfzjv] {
    margin-bottom: 0;
}

.form-group label[b-2lo7vtfzjv] {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
    color: #333;
}

.input-group[b-2lo7vtfzjv] {
    display: flex;
    gap: 0.75rem;
}

.form-control[b-2lo7vtfzjv] {
    flex: 1;
    padding: 0.75rem 1rem;
    border: 2px solid #e0e0e0;
    border-radius: 8px;
    font-size: 1rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}

.form-control:focus[b-2lo7vtfzjv] {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.form-control:disabled[b-2lo7vtfzjv] {
    background: #f5f5f5;
    cursor: not-allowed;
}

.btn[b-2lo7vtfzjv] {
    padding: 0.75rem 1.5rem;
    border: none;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    transition: all 0.2s;
}

.btn-primary[b-2lo7vtfzjv] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.btn-primary:hover:not(:disabled)[b-2lo7vtfzjv] {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.btn-primary:disabled[b-2lo7vtfzjv] {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* 邮箱 / 订单号 之间的「或」分隔 */
.form-divider[b-2lo7vtfzjv] {
    display: flex;
    align-items: center;
    text-align: center;
    color: #999;
    font-size: 0.85rem;
    margin: 1rem 0;
}

.form-divider[b-2lo7vtfzjv]::before,
.form-divider[b-2lo7vtfzjv]::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e6e6e6;
}

.form-divider span[b-2lo7vtfzjv] {
    padding: 0 0.75rem;
}

/* 全宽查询按钮 */
.btn-block[b-2lo7vtfzjv] {
    width: 100%;
    justify-content: center;
    margin-top: 1.25rem;
}

.spinner[b-2lo7vtfzjv] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin-b-2lo7vtfzjv 0.8s linear infinite;
}

@keyframes spin-b-2lo7vtfzjv {
    to {
        transform: rotate(360deg);
    }
}

/* 提示消息样式 */
.alert[b-2lo7vtfzjv] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 8px;
    margin-top: 1rem;
}

.alert-error[b-2lo7vtfzjv] {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

.alert-info[b-2lo7vtfzjv] {
    background: #e0f2fe;
    color: #075985;
    border: 1px solid #bae6fd;
}

.alert-icon[b-2lo7vtfzjv] {
    font-size: 1.25rem;
}

/* 表格样式 */
.table-responsive[b-2lo7vtfzjv] {
    overflow-x: auto;
}

.result-table[b-2lo7vtfzjv] {
    width: 100%;
    border-collapse: collapse;
}

.result-table th[b-2lo7vtfzjv],
.result-table td[b-2lo7vtfzjv] {
    padding: 1rem;
    text-align: left;
    border-bottom: 1px solid #eee;
}

.result-table th[b-2lo7vtfzjv] {
    background: #f8f9fa;
    font-weight: 600;
    color: #555;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.result-table tbody tr:hover[b-2lo7vtfzjv] {
    background: #f8f9fa;
}

.col-index[b-2lo7vtfzjv] {
    width: 50px;
    text-align: center;
}

.col-email[b-2lo7vtfzjv] {
    min-width: 180px;
}

.col-app[b-2lo7vtfzjv] {
    min-width: 120px;
}

.col-code[b-2lo7vtfzjv] {
    min-width: 220px;
}

.col-type[b-2lo7vtfzjv] {
    width: 100px;
    text-align: center;
}

.license-code[b-2lo7vtfzjv] {
    background: #f3f4f6;
    padding: 0.375rem 0.625rem;
    border-radius: 4px;
    font-family: 'Consolas', 'Monaco', monospace;
    font-size: 0.875rem;
    color: #374151;
    user-select: all;
}

.btn-copy[b-2lo7vtfzjv] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 0.6rem;
    padding: 3px 12px;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.4;
    color: #667eea;
    background: #fff;
    border: 1px solid #c7cbf0;
    border-radius: 999px;
    cursor: pointer;
    white-space: nowrap;
    vertical-align: middle;
    transition: background 0.15s, border-color 0.15s, color 0.15s;
}

.btn-copy:hover[b-2lo7vtfzjv] {
    background: #eef0fd;
    border-color: #667eea;
}

.btn-copy.copied[b-2lo7vtfzjv] {
    color: #16a34a;
    background: #f0fdf4;
    border-color: #86efac;
}

/* 到期类型徽章 */
.expiry-badge[b-2lo7vtfzjv] {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 500;
}

.badge-trial[b-2lo7vtfzjv] {
    background: #fef3c7;
    color: #92400e;
}

.badge-weekly[b-2lo7vtfzjv] {
    background: #dbeafe;
    color: #1e40af;
}

.badge-monthly[b-2lo7vtfzjv] {
    background: #d1fae5;
    color: #065f46;
}

.badge-quarterly[b-2lo7vtfzjv] {
    background: #e0e7ff;
    color: #3730a3;
}

.badge-halfyearly[b-2lo7vtfzjv] {
    background: #fce7f3;
    color: #9d174d;
}

.badge-yearly[b-2lo7vtfzjv] {
    background: #fef9c3;
    color: #854d0e;
}

.badge-threeyearly[b-2lo7vtfzjv] {
    background: #fef3c7;
    color: #92400e;
}

.badge-fiveyearly[b-2lo7vtfzjv] {
    background: #fde68a;
    color: #78350f;
}

.badge-tenyearly[b-2lo7vtfzjv] {
    background: #fdba74;
    color: #7c2d12;
}

.badge-lifetime[b-2lo7vtfzjv] {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.badge-default[b-2lo7vtfzjv] {
    background: #f3f4f6;
    color: #374151;
}

/* 提示卡片 */
.tips-card[b-2lo7vtfzjv] {
    background: rgba(255, 255, 255, 0.95);
    padding: 1.5rem 2rem;
}

.tips-card h4[b-2lo7vtfzjv] {
    margin: 0 0 1rem 0;
    color: #333;
    font-size: 1rem;
}

.tips-card ul[b-2lo7vtfzjv] {
    margin: 0;
    padding-left: 1.25rem;
    color: #666;
}

.tips-card li[b-2lo7vtfzjv] {
    margin-bottom: 0.5rem;
    line-height: 1.5;
}

.tips-card li:last-child[b-2lo7vtfzjv] {
    margin-bottom: 0;
}

/* 响应式 */
@media (max-width: 768px) {
    .card-header[b-2lo7vtfzjv],
    .card-body[b-2lo7vtfzjv],
    .tips-card[b-2lo7vtfzjv] {
        padding: 1rem 1.25rem;
    }

    .input-group[b-2lo7vtfzjv] {
        flex-direction: column;
        gap: 0.75rem;
    }

    .input-group .form-control[b-2lo7vtfzjv] {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .input-group .btn[b-2lo7vtfzjv] {
        width: 100%;
        justify-content: center;
    }

    .btn[b-2lo7vtfzjv] {
        justify-content: center;
    }

    .result-table th[b-2lo7vtfzjv],
    .result-table td[b-2lo7vtfzjv] {
        padding: 0.75rem 0.5rem;
        font-size: 0.875rem;
    }

    .col-email[b-2lo7vtfzjv] {
        min-width: 140px;
    }

    .license-code[b-2lo7vtfzjv] {
        font-size: 0.75rem;
        word-break: break-all;
    }
}

/* 更小屏幕适配 */
@media (max-width: 480px) {
    .card-header[b-2lo7vtfzjv],
    .card-body[b-2lo7vtfzjv],
    .tips-card[b-2lo7vtfzjv] {
        padding: 1rem;
    }

    .card-header h2[b-2lo7vtfzjv] {
        font-size: 1.25rem;
    }

    .subtitle[b-2lo7vtfzjv] {
        font-size: 0.85rem;
    }

    .form-control[b-2lo7vtfzjv] {
        padding: 0.875rem 1rem;
        font-size: 16px; /* 防止 iOS 自动缩放 */
    }

    .btn[b-2lo7vtfzjv] {
        padding: 0.875rem 1rem;
    }
}
/* /Components/Pages/Portal/Index.razor.rz.scp.css */
/* 代理中心（/portal）样式 —— 浅色宽屏主题，配合 MainLayout 的 .theme-portal。
   设计 token 定义在 .portal 包裹层，供其子元素继承。 */
.portal[b-6in173y82n] {
    --surface: #ffffff;
    --text: #16181d;
    --muted: #6b7280;
    --line: #e8eaf0;
    --primary: #6557d9;
    --primary-strong: #5446c8;
    --primary-soft: #efedff;
    --success: #15803d;
    --success-soft: #ecfdf3;
    --warning: #b96b00;
    --warning-soft: #fff7e8;
    --info: #2563eb;
    --info-soft: #eff6ff;
    --danger: #e11d48;
    --danger-soft: #fff1f2;
    --radius-lg: 18px;
    --shadow-sm: 0 6px 20px rgba(39, 34, 85, .06);

    color: var(--text);
    line-height: 1.5;
}

/* ===== 页头 ===== */
.page-heading[b-6in173y82n] {
    margin-bottom: 24px;
}

.page-heading h1[b-6in173y82n] {
    margin: 0;
    color: var(--text);
    font-size: 32px;
    line-height: 1.2;
    letter-spacing: -.6px;
}

.subtitle[b-6in173y82n] {
    margin: 9px 0 0;
    color: var(--muted);
    font-size: 15px;
}

/* ===== 通用卡片 ===== */
.card[b-6in173y82n] {
    background: var(--surface);
    border: 1px solid rgba(229, 231, 235, .92);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.card-label[b-6in173y82n] {
    color: #5f6470;
    font-size: 13px;
    font-weight: 750;
    margin-bottom: 12px;
}

/* ===== 按钮 ===== */
.btn[b-6in173y82n] {
    border: 0;
    border-radius: 12px;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
    white-space: nowrap;
    transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.btn:active[b-6in173y82n] {
    transform: translateY(1px);
}

.btn-primary[b-6in173y82n] {
    color: #fff;
    background: linear-gradient(135deg, var(--primary), var(--primary-strong));
    box-shadow: 0 8px 18px rgba(88, 72, 201, .22);
}

.btn-primary:hover:not(:disabled)[b-6in173y82n] {
    box-shadow: 0 10px 24px rgba(88, 72, 201, .28);
}

.btn-primary:disabled[b-6in173y82n] {
    opacity: .48;
    cursor: not-allowed;
    box-shadow: none;
    transform: none;
}

/* ===== 各状态提示卡 ===== */
.loading-card[b-6in173y82n] {
    padding: 40px;
    text-align: center;
    color: #888;
}

.state-card[b-6in173y82n] {
    padding: 28px;
    text-align: center;
}

.state-card .btn[b-6in173y82n] {
    display: inline-block;
    margin-top: 8px;
    text-decoration: none;
}

.state-title[b-6in173y82n] {
    margin: 0 0 8px;
    font-size: 17px;
    font-weight: 700;
}

.state-desc[b-6in173y82n] {
    margin: 0 0 20px;
    color: var(--muted);
}

.notice[b-6in173y82n] {
    line-height: 1.75;
}

.notice p[b-6in173y82n] {
    margin: 0 0 6px;
}

.notice p:last-child[b-6in173y82n] {
    margin-bottom: 0;
}

.notice-warn[b-6in173y82n] {
    background: var(--warning-soft);
    border-color: #ffe1b0;
    color: #8c6d1f;
}

.notice-warn a[b-6in173y82n] {
    color: #d48806;
}

.notice-danger[b-6in173y82n] {
    background: var(--danger-soft);
    border-color: #ffccc7;
    color: #a8213a;
}

.suspend-notice[b-6in173y82n] {
    padding: 12px 18px;
    margin-bottom: 18px;
    text-align: left;
}

.state-card.notice[b-6in173y82n] {
    text-align: left;
}

/* ===== 概览：推广链接 + 可提现 ===== */
.overview[b-6in173y82n] {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(300px, .8fr);
    gap: 18px;
    margin-bottom: 18px;
}

.promo-card[b-6in173y82n] {
    position: relative;
    overflow: hidden;
    padding: 26px;
}

.promo-card[b-6in173y82n]::after {
    content: "";
    position: absolute;
    right: -60px;
    top: -80px;
    width: 210px;
    height: 210px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(101, 87, 217, .12), rgba(101, 87, 217, 0) 70%);
    pointer-events: none;
}

.promo-row[b-6in173y82n] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.linkbox[b-6in173y82n] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 15px;
    border: 1px solid #e5e7ef;
    border-radius: 13px;
    background: #fafaff;
    color: #4b44a4;
    font-size: 14px;
    font-weight: 650;
}

.linkbox svg[b-6in173y82n] {
    flex: 0 0 auto;
    color: #8278df;
}

.linktext[b-6in173y82n] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.promo-footer[b-6in173y82n] {
    margin-top: 16px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 16px;
    color: #686e7b;
    font-size: 13px;
}

.code[b-6in173y82n] {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #2e3340;
    font-weight: 750;
}

.dot[b-6in173y82n] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #d1d5db;
}

.balance-card[b-6in173y82n] {
    padding: 25px 26px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;
    background: linear-gradient(155deg, #ffffff 0%, #ffffff 55%, #f4f1ff 100%);
}

.balance-top[b-6in173y82n] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.balance[b-6in173y82n] {
    margin: 6px 0 0;
    font-size: 36px;
    line-height: 1;
    letter-spacing: -1px;
    font-weight: 850;
    color: var(--success);
}

.balance .currency[b-6in173y82n] {
    font-size: 22px;
    margin-right: 2px;
}

.balance-hint[b-6in173y82n] {
    margin-top: 6px;
    color: #777d89;
    font-size: 12px;
}

.tag[b-6in173y82n] {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
}

.tag.warning[b-6in173y82n] {
    color: var(--warning);
    background: var(--warning-soft);
}

.withdraw[b-6in173y82n] {
    display: flex;
    align-items: center;
    gap: 12px;
}

.withdraw .btn[b-6in173y82n] {
    flex: 0 0 auto;
}

.withdraw-note[b-6in173y82n] {
    color: #777d89;
    font-size: 13px;
}

.withdraw-note strong[b-6in173y82n] {
    color: #444a57;
}

.withdraw-note .msg-ok[b-6in173y82n] {
    color: var(--success);
}

/* ===== 分区 ===== */
.section[b-6in173y82n] {
    margin-top: 30px;
}

.section-head[b-6in173y82n] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 14px;
}

.section-title[b-6in173y82n] {
    margin: 0;
    font-size: 20px;
    letter-spacing: -.2px;
}

.section-desc[b-6in173y82n] {
    color: var(--muted);
    font-size: 13px;
    margin-top: 4px;
}

/* ===== 指标 ===== */
.metrics[b-6in173y82n] {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 12px;
}

.metric[b-6in173y82n] {
    padding: 18px;
    min-width: 0;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(39, 34, 85, .04);
}

.metric span[b-6in173y82n] {
    display: block;
    color: #777c88;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 9px;
}

.metric strong[b-6in173y82n] {
    display: block;
    color: #1f232b;
    font-size: 22px;
    line-height: 1;
    letter-spacing: -.4px;
}

.metric.primary strong[b-6in173y82n] {
    color: var(--primary-strong);
}

.metric.warning strong[b-6in173y82n] {
    color: var(--warning);
}

/* ===== 激励活动栅格（列数由后端活动数量驱动，见文末媒体查询）===== */
.activity-grid[b-6in173y82n] {
    display: grid;
    gap: 16px;
    grid-template-columns: 1fr;
}

.activity-card[b-6in173y82n] {
    padding: 22px;
}

.activity-head[b-6in173y82n] {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    margin-bottom: 18px;
}

.activity-title[b-6in173y82n] {
    font-size: 17px;
    font-weight: 800;
}

.activity-copy[b-6in173y82n] {
    margin-top: 5px;
    color: var(--muted);
    font-size: 13px;
}

.activity-date[b-6in173y82n] {
    color: #8a8f9b;
    font-size: 12px;
    white-space: nowrap;
}

.progress-caption[b-6in173y82n] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 9px;
}

.progress-value[b-6in173y82n] {
    font-size: 13px;
    color: #656b77;
}

.progress-value strong[b-6in173y82n] {
    color: #222630;
    font-size: 20px;
    margin-left: 4px;
}

.next-goal[b-6in173y82n] {
    color: #666b76;
    font-size: 13px;
    text-align: right;
}

.next-goal b[b-6in173y82n] {
    color: var(--success);
}

.next-goal em[b-6in173y82n] {
    font-style: normal;
    color: var(--warning);
    font-weight: 800;
}

.next-goal.done[b-6in173y82n] {
    color: var(--success);
    font-weight: 700;
}

.bar[b-6in173y82n] {
    height: 9px;
    border-radius: 999px;
    background: #eceef3;
    overflow: hidden;
}

.bar > div[b-6in173y82n] {
    height: 100%;
    min-width: 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #7165de, #8b7ff0);
}

.tiers[b-6in173y82n] {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.tier[b-6in173y82n] {
    flex: 0 0 auto;
    min-width: 98px;
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 13px;
    background: #fbfbfd;
    opacity: .75;
}

.tier.on[b-6in173y82n] {
    opacity: 1;
    border-color: #b7eb8f;
    background: var(--success-soft);
}

.tier b[b-6in173y82n] {
    display: block;
    font-size: 15px;
    color: #3f444f;
}

.tier.on b[b-6in173y82n] {
    color: var(--success);
}

.tier span[b-6in173y82n] {
    display: block;
    margin-top: 2px;
    color: #969ba6;
    font-size: 12px;
}

.tier.on span[b-6in173y82n] {
    color: var(--success);
}

/* ===== 资金明细筛选 ===== */
.switch[b-6in173y82n] {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.switch button[b-6in173y82n] {
    border: 1px solid var(--line);
    background: #fff;
    color: #4d5462;
    border-radius: 12px;
    padding: 9px 16px;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
    transition: .18s ease;
}

.switch button.active[b-6in173y82n] {
    border-color: rgba(101, 87, 217, .15);
    background: var(--primary-soft);
    color: var(--primary-strong);
    box-shadow: 0 6px 14px rgba(101, 87, 217, .10);
}

/* ===== 表格 ===== */
.table-card[b-6in173y82n] {
    overflow: hidden;
}

.table-card table[b-6in173y82n] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 14px;
}

.table-card th[b-6in173y82n] {
    text-align: left;
    padding: 15px 18px;
    color: #696f7c;
    font-size: 12px;
    font-weight: 750;
    background: #fafafd;
    border-bottom: 1px solid var(--line);
}

.table-card td[b-6in173y82n] {
    padding: 16px 18px;
    border-bottom: 1px solid var(--line);
    vertical-align: middle;
    color: #252932;
    overflow: hidden;
    text-overflow: ellipsis;
}

.table-card tr:last-child td[b-6in173y82n] {
    border-bottom: none;
}

.money[b-6in173y82n] {
    font-weight: 800;
}

.money.positive[b-6in173y82n] {
    color: var(--success);
}

.type-badge[b-6in173y82n] {
    display: inline-flex;
    align-items: center;
    padding: 6px 11px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
}

.type-badge.commission[b-6in173y82n] {
    color: var(--info);
    background: var(--info-soft);
}

.type-badge.reward[b-6in173y82n] {
    color: var(--warning);
    background: var(--warning-soft);
}

.status-text[b-6in173y82n] {
    font-weight: 700;
    color: #30343d;
}

/* 分页 */
.pager[b-6in173y82n] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid var(--line);
}

.pager-total[b-6in173y82n] {
    color: #888;
    font-size: 13px;
    margin-right: auto;
}

.pager-index[b-6in173y82n] {
    font-size: 13px;
    color: #4d5462;
}

.btn-ghost[b-6in173y82n] {
    padding: 7px 14px;
    border-radius: 10px;
    border: 1px solid var(--line);
    background: #fff;
    color: #4d5462;
    font-size: 13px;
    font-weight: 650;
    cursor: pointer;
}

.btn-ghost:disabled[b-6in173y82n] {
    color: #c3c7cf;
    background: #fafbfd;
    cursor: not-allowed;
}

/* 空态 */
.empty[b-6in173y82n] {
    min-height: 170px;
    display: grid;
    place-items: center;
    text-align: center;
    padding: 36px;
    color: #969ba6;
}

.empty-icon[b-6in173y82n] {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    margin: 0 auto 9px;
    border-radius: 14px;
    color: #7e8490;
    background: #f4f5f8;
}

.empty strong[b-6in173y82n] {
    display: block;
    color: #5b606b;
    margin-bottom: 3px;
    font-size: 14px;
}

/* =========================================================
   响应式：激励活动列数由 data-count 驱动
   宽屏：1→整行 / 2→双列 / 3→三列 / 4→均衡 2×2 / 5+→三列
   中屏：最多 2 列，3/5 末张单独成行时拉伸整行
   移动端：单列
   ========================================================= */
@media (min-width: 1080px) {
    .activity-grid[b-6in173y82n] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .activity-grid[data-count="1"][b-6in173y82n] {
        grid-template-columns: minmax(0, 1fr);
    }

    .activity-grid[data-count="2"][b-6in173y82n],
    .activity-grid[data-count="4"][b-6in173y82n] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 760px) and (max-width: 1079px) {
    .activity-grid[b-6in173y82n] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .activity-grid[data-count="1"][b-6in173y82n] {
        grid-template-columns: minmax(0, 1fr);
    }

    .activity-grid[data-count="3"] .activity-card:last-child[b-6in173y82n],
    .activity-grid[data-count="5"] .activity-card:last-child[b-6in173y82n] {
        grid-column: 1 / -1;
    }
}

/* 指标：7 列 → 4 列 → 2 列 */
@media (max-width: 1150px) {
    .metrics[b-6in173y82n] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* 概览两列 → 单列 */
@media (max-width: 900px) {
    .overview[b-6in173y82n] {
        grid-template-columns: 1fr;
    }

    .section-head[b-6in173y82n] {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 759px) {
    .activity-grid[b-6in173y82n] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .page-heading h1[b-6in173y82n] {
        font-size: 26px;
    }

    .promo-card[b-6in173y82n],
    .balance-card[b-6in173y82n],
    .activity-card[b-6in173y82n] {
        padding: 18px;
    }

    .promo-row[b-6in173y82n] {
        grid-template-columns: 1fr;
    }

    .promo-row .btn[b-6in173y82n] {
        width: 100%;
    }

    .withdraw[b-6in173y82n] {
        align-items: stretch;
        flex-direction: column;
    }

    .withdraw .btn[b-6in173y82n] {
        width: 100%;
    }

    .metrics[b-6in173y82n] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .metric[b-6in173y82n] {
        padding: 15px;
    }

    .metric strong[b-6in173y82n] {
        font-size: 20px;
    }

    .progress-caption[b-6in173y82n] {
        align-items: flex-start;
        flex-direction: column;
    }

    .next-goal[b-6in173y82n] {
        text-align: left;
    }

    /* 表格转为堆叠卡片，避免小屏横向溢出 */
    .table-card table[b-6in173y82n],
    .table-card thead[b-6in173y82n],
    .table-card tbody[b-6in173y82n],
    .table-card tr[b-6in173y82n],
    .table-card th[b-6in173y82n],
    .table-card td[b-6in173y82n] {
        display: block;
    }

    .table-card thead[b-6in173y82n] {
        display: none;
    }

    .table-card table[b-6in173y82n] {
        table-layout: auto;
    }

    .table-card tr[b-6in173y82n] {
        padding: 12px 4px;
        margin: 0 14px;
        border-bottom: 1px solid var(--line);
    }

    .table-card tr:last-child[b-6in173y82n] {
        border-bottom: 0;
    }

    .table-card td[b-6in173y82n] {
        display: flex;
        justify-content: space-between;
        gap: 16px;
        padding: 7px 4px;
        border: 0;
        white-space: normal;
    }

    .table-card td[b-6in173y82n]::before {
        content: attr(data-label);
        color: #858a95;
        font-size: 12px;
        font-weight: 700;
        flex: 0 0 72px;
    }
}
/* /Components/Pages/Purchase.razor.rz.scp.css */
/* 下单页 —— 白卡高对比设计 */
.purchase-card[b-e1njfhk8tg] {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
    padding: 32px 36px 36px;
    color: #1f2937;
}

.pc-header h2[b-e1njfhk8tg] {
    margin: 0 0 6px;
    font-size: 1.6rem;
    color: #1f2937;
}

.pc-header .subtitle[b-e1njfhk8tg] {
    margin: 0 0 8px;
    color: #6b7280;
    font-size: 0.95rem;
}

/* 步骤标题 */
.step-title[b-e1njfhk8tg] {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    font-size: 1.05rem;
    color: #1f2937;
    margin: 26px 0 14px;
}

.step-no[b-e1njfhk8tg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #5b47e0;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
}

/* 固定选择器（选产品+卡种+数量 → 加入订单） */
.picker[b-e1njfhk8tg] {
    display: grid;
    grid-template-columns: 1.4fr 2.7fr 74px auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid #e6e1fb;
    background: #faf9ff;
    border-radius: 12px;
    margin-bottom: 16px;
}

.picker .promo-hint[b-e1njfhk8tg] {
    grid-column: 1 / -1;
    margin-top: -2px;
    font-size: 0.82rem;
    color: #e0483d;
}

.picker-add[b-e1njfhk8tg] { white-space: nowrap; }

/* 购物车小标题 */
.cart-title[b-e1njfhk8tg] {
    display: flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    font-size: 0.95rem;
    color: #374151;
    margin: 6px 0 10px;
}

/* 明细表 */
.items[b-e1njfhk8tg] {
    border: 1px solid #ececf2;
    border-radius: 12px;
    overflow: hidden;
}

/* 购物车里的产品行文本单元 */
.prod-name[b-e1njfhk8tg] { color: #1f2937; font-weight: 600; }
.prod-plan[b-e1njfhk8tg] { color: #6b7280; }

.items-head[b-e1njfhk8tg],
.items-row[b-e1njfhk8tg] {
    display: grid;
    grid-template-columns: 1.4fr 2.7fr 74px 96px 36px;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
}

.items-head[b-e1njfhk8tg] {
    background: #f7f7fb;
    font-size: 0.82rem;
    color: #6b7280;
    font-weight: 600;
}

.items-row[b-e1njfhk8tg] {
    border-top: 1px solid #f0f0f5;
}

.items-row .promo-hint[b-e1njfhk8tg] {
    grid-column: 1 / -1;
    margin-top: -2px;
    font-size: 0.82rem;
    color: #e0483d;
}

.promo-hint s[b-e1njfhk8tg] {
    color: #9ca3af;
    margin-left: 4px;
}

.subtotal[b-e1njfhk8tg] {
    font-weight: 700;
    color: #1f2937;
    text-align: right;
}

.c-qty[b-e1njfhk8tg] { text-align: center; }

/* 表单控件 */
.field[b-e1njfhk8tg] {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 12px;
    border: 1px solid #d7d7e0;
    border-radius: 8px;
    font-size: 0.95rem;
    color: #1f2937;
    background: #fff;
    outline: none;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.field:focus[b-e1njfhk8tg] {
    border-color: #5b47e0;
    box-shadow: 0 0 0 3px rgba(91, 71, 224, 0.15);
}

select.field[b-e1njfhk8tg] { cursor: pointer; }

/* 移除按钮 */
.remove[b-e1njfhk8tg] {
    width: 30px;
    height: 30px;
    border: none;
    border-radius: 50%;
    background: #fdeceb;
    color: #e0483d;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
    transition: background 0.15s;
}

.remove:hover:not(:disabled)[b-e1njfhk8tg] { background: #f9d5d2; }
.remove:disabled[b-e1njfhk8tg] { background: #f3f4f6; color: #cbd0d6; cursor: not-allowed; }

.btn-add[b-e1njfhk8tg] {
    margin-top: 12px;
    background: #f3f2fd;
    color: #5b47e0;
    border: 1px dashed #c4bbf5;
}
.btn-add:hover[b-e1njfhk8tg] { background: #ebe8fb; }

/* 套餐区 */
.bundles[b-e1njfhk8tg] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 14px;
}

.bundle-card[b-e1njfhk8tg] {
    border: 1px solid #e6e1fb;
    background: #faf9ff;
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.bundle-name[b-e1njfhk8tg] { font-weight: 700; color: #1f2937; }
.bundle-sum[b-e1njfhk8tg] { font-size: 0.85rem; color: #6b7280; min-height: 2.4em; }

.bundle-price[b-e1njfhk8tg] {
    display: flex;
    align-items: baseline;
    gap: 8px;
    font-size: 1.15rem;
    font-weight: 700;
}
.bundle-price s[b-e1njfhk8tg] { color: #9ca3af; font-size: 0.9rem; font-weight: 400; }

.save-tag[b-e1njfhk8tg] {
    font-size: 0.75rem;
    font-weight: 600;
    color: #e0483d;
    background: #fdeceb;
    border-radius: 6px;
    padding: 2px 8px;
}

.bundle-add[b-e1njfhk8tg] { margin-top: 4px; align-self: flex-start; }

/* 明细里的套餐行 */
.bundle-info[b-e1njfhk8tg] {
    grid-column: 1 / 3;
    color: #1f2937;
    font-weight: 600;
    line-height: 1.35;
}
.bundle-info small[b-e1njfhk8tg] { color: #6b7280; font-weight: 400; }

/* 明细行内的「已省」标记（套餐/促销） */
.save-badge[b-e1njfhk8tg] {
    display: inline-block;
    margin-top: 4px;
    font-size: 0.75rem;
    font-weight: 600;
    color: #16a34a;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 6px;
    padding: 1px 8px;
}

.empty-row[b-e1njfhk8tg] {
    display: block;
    padding: 16px;
    text-align: center;
    color: #9ca3af;
}

/* 合计 */
.total[b-e1njfhk8tg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 18px 0 6px;
    padding: 14px 18px;
    background: #f7f7fb;
    border-radius: 12px;
    font-size: 1.05rem;
    color: #374151;
}

.total-amt[b-e1njfhk8tg] {
    font-size: 1.5rem;
    font-weight: 800;
    color: #5b47e0;
}

/* 合计下方「已为您节省」条 */
.total-saved[b-e1njfhk8tg] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 4px;
    margin: 0 4px 6px;
    font-size: 0.86rem;
    color: #16a34a;
}
.total-saved strong[b-e1njfhk8tg] { font-weight: 700; }

.accent[b-e1njfhk8tg] { color: #5b47e0; }

/* 字段组 */
.field-group[b-e1njfhk8tg] { margin-bottom: 14px; }
.field-group > label[b-e1njfhk8tg] {
    display: block;
    margin-bottom: 6px;
    font-size: 0.9rem;
    color: #374151;
    font-weight: 500;
}

.field-row[b-e1njfhk8tg] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.req[b-e1njfhk8tg] { color: #e0483d; }

/* 收款码 */
.qr-box[b-e1njfhk8tg] {
    margin: 6px 0 16px;
    padding: 18px;
    border: 1px solid #ececf2;
    border-radius: 12px;
    background: #fbfbfe;
    text-align: center;
}

.qr-title[b-e1njfhk8tg] { color: #374151; margin-bottom: 12px; }

.qr-img[b-e1njfhk8tg] {
    width: 220px;
    max-width: 70%;
    height: auto;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fff;
}

.qr-note[b-e1njfhk8tg] {
    margin-top: 10px;
    color: #9ca3af;
    font-size: 0.82rem;
}

/* 按钮 */
.btn[b-e1njfhk8tg] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 18px;
    border-radius: 10px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid transparent;
    text-decoration: none;
    transition: filter 0.15s, background 0.15s;
}

.btn-primary[b-e1njfhk8tg] { background: #5b47e0; color: #fff; }
.btn-primary:hover:not(:disabled)[b-e1njfhk8tg] { filter: brightness(1.06); }
.btn-primary:disabled[b-e1njfhk8tg] { opacity: 0.65; cursor: not-allowed; }

.btn-ghost[b-e1njfhk8tg] { background: #f3f4f6; color: #374151; border-color: #e5e7eb; }
.btn-ghost:hover[b-e1njfhk8tg] { background: #e9ebef; }

.btn-submit[b-e1njfhk8tg] {
    width: 100%;
    margin-top: 10px;
    padding: 13px;
    font-size: 1.05rem;
}

.tip[b-e1njfhk8tg] {
    text-align: center;
    color: #9ca3af;
    font-size: 0.82rem;
    margin-top: 10px;
}

/* 提示条 */
.notice[b-e1njfhk8tg] {
    padding: 12px 14px;
    border-radius: 10px;
    font-size: 0.9rem;
    margin: 12px 0;
}
.notice-info[b-e1njfhk8tg] { background: #eef4ff; color: #2f5fce; border: 1px solid #d6e2fb; }
.notice-error[b-e1njfhk8tg] { background: #fdeceb; color: #c0392b; border: 1px solid #f6cfcb; }

/* 成功页 */
.success-panel[b-e1njfhk8tg] { text-align: center; padding: 24px 10px; }
.success-icon[b-e1njfhk8tg] { font-size: 3rem; }
.success-panel h3[b-e1njfhk8tg] { margin: 10px 0 4px; color: #1f2937; }
.success-actions[b-e1njfhk8tg] { display: flex; gap: 12px; justify-content: center; margin-top: 20px; }

/* 重复提交提示 */
.dup-note[b-e1njfhk8tg] {
    max-width: 400px;
    margin: 8px auto 0;
    font-size: 0.88rem;
    line-height: 1.7;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 10px;
    padding: 10px 14px;
}

/* 订单小票卡：已购项 + 订单号 + 金额 + 节省 整合为一张卡，避免多色块堆叠 */
.receipt[b-e1njfhk8tg] {
    max-width: 400px;
    margin: 18px auto;
    border: 1px solid #ececf2;
    border-radius: 14px;
    overflow: hidden;
    text-align: left;
    background: #fff;
}
.receipt-items[b-e1njfhk8tg] { padding: 2px 16px; }
.ri-line[b-e1njfhk8tg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
}
.ri-line + .ri-line[b-e1njfhk8tg] { border-top: 1px dashed #eef0f4; }
.ri-name[b-e1njfhk8tg] { color: #1f2937; font-weight: 500; }
.ri-plan[b-e1njfhk8tg] { color: #9ca3af; font-weight: 400; margin-left: 6px; }
.ri-qty[b-e1njfhk8tg] { color: #6b7280; white-space: nowrap; }

.receipt-foot[b-e1njfhk8tg] {
    background: #faf9ff;
    border-top: 1px solid #ececf2;
    padding: 12px 16px;
}
.rf-row[b-e1njfhk8tg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 3px 0;
}
.rf-label[b-e1njfhk8tg] { color: #6b7280; font-size: 0.9rem; }
.rf-order[b-e1njfhk8tg] { display: inline-flex; align-items: center; gap: 8px; }
.rf-order strong[b-e1njfhk8tg] { color: #5b47e0; word-break: break-all; font-size: 0.95rem; }
.rf-amount[b-e1njfhk8tg] { font-size: 1.25rem; font-weight: 800; }
.rf-saved[b-e1njfhk8tg] {
    margin-top: 6px;
    text-align: right;
    color: #16a34a;
    font-size: 0.86rem;
    font-weight: 600;
}

.btn-copy-ono[b-e1njfhk8tg] {
    border: 1px solid #c7bdf7;
    background: #fff;
    color: #5b47e0;
    border-radius: 999px;
    padding: 2px 12px;
    font-size: 0.78rem;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
}
.btn-copy-ono:hover[b-e1njfhk8tg] { background: #efeafe; }
.btn-copy-ono.copied[b-e1njfhk8tg] { color: #16a34a; border-color: #86efac; background: #f0fdf4; }

/* 后续说明：合并原「提示/等待/客服」多块为一段，减少视觉噪音 */
.next-steps[b-e1njfhk8tg] {
    max-width: 420px;
    margin: 0 auto;
    text-align: left;
    color: #4b5563;
    font-size: 0.85rem;
    line-height: 1.7;
    background: #f8fafc;
    border: 1px solid #eef0f4;
    border-radius: 10px;
    padding: 12px 14px;
}
.next-steps p[b-e1njfhk8tg] { margin: 0; }
.next-steps .ns-sub[b-e1njfhk8tg] { margin-top: 6px; color: #9ca3af; font-size: 0.8rem; }

/* 人机验证 */
.turnstile-box[b-e1njfhk8tg] {
    display: flex;
    justify-content: center;
    margin: 6px 0 4px;
    min-height: 65px;
}

/* 字段提示 */
.field-hint[b-e1njfhk8tg] {
    margin-top: 6px;
    font-size: 0.8rem;
    line-height: 1.6;
    color: #6b7280;
}
.field-hint-warn[b-e1njfhk8tg] {
    color: #b45309;
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 8px;
    padding: 8px 10px;
}

/* 确认弹窗 */
.modal-overlay[b-e1njfhk8tg] {
    position: fixed;
    inset: 0;
    background: rgba(17, 24, 39, 0.55);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    z-index: 1000;
}
.modal-card[b-e1njfhk8tg] {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    max-width: 460px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
    overflow: hidden;
}
.modal-head[b-e1njfhk8tg] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 20px;
    border-bottom: 1px solid #eef0f4;
    font-weight: 600;
    color: #1f2937;
}
.modal-close[b-e1njfhk8tg] {
    border: none;
    background: transparent;
    font-size: 1.05rem;
    color: #9ca3af;
    cursor: pointer;
    line-height: 1;
}
.modal-close:hover[b-e1njfhk8tg] { color: #4b5563; }
.modal-body[b-e1njfhk8tg] { padding: 18px 20px; overflow-y: auto; }
.modal-foot[b-e1njfhk8tg] {
    display: flex;
    gap: 12px;
    padding: 14px 20px;
    border-top: 1px solid #eef0f4;
}
.modal-foot .btn[b-e1njfhk8tg] { flex: 1; justify-content: center; }

.confirm-email-box[b-e1njfhk8tg] {
    background: #f5f3ff;
    border: 1px solid #ddd6fe;
    border-radius: 12px;
    padding: 12px 14px;
    text-align: center;
    margin-bottom: 16px;
}
.ce-label[b-e1njfhk8tg] { font-size: 0.78rem; color: #6b7280; }
.ce-email[b-e1njfhk8tg] { font-size: 1.1rem; font-weight: 700; color: #5b47e0; word-break: break-all; margin: 2px 0 4px; }
.ce-warn[b-e1njfhk8tg] { font-size: 0.76rem; color: #b45309; }

.confirm-table[b-e1njfhk8tg] { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.confirm-table th[b-e1njfhk8tg] {
    text-align: left;
    color: #9ca3af;
    font-weight: 500;
    font-size: 0.8rem;
    padding: 6px 4px;
    border-bottom: 1px solid #eef0f4;
}
.confirm-table td[b-e1njfhk8tg] { padding: 10px 4px; border-bottom: 1px solid #f4f4f8; vertical-align: top; }
.confirm-table .ct-qty[b-e1njfhk8tg] { text-align: center; white-space: nowrap; color: #6b7280; }
.confirm-table .ct-sub[b-e1njfhk8tg] { text-align: right; white-space: nowrap; font-weight: 600; }
.ct-name[b-e1njfhk8tg] { color: #1f2937; font-weight: 500; }
.ct-desc[b-e1njfhk8tg] { color: #9ca3af; }

.confirm-meta[b-e1njfhk8tg] { margin-top: 14px; font-size: 0.9rem; }
.confirm-meta > div[b-e1njfhk8tg] {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    color: #4b5563;
}
.confirm-meta > div span[b-e1njfhk8tg] { color: #9ca3af; }
.confirm-meta > div strong[b-e1njfhk8tg] { color: #1f2937; word-break: break-all; text-align: right; max-width: 70%; }
.confirm-total[b-e1njfhk8tg] {
    border-top: 1px dashed #e5e7eb;
    margin-top: 4px;
    padding-top: 10px !important;
    font-size: 1.05rem;
}
.confirm-total strong[b-e1njfhk8tg] { font-size: 1.15rem; }

@media (max-width: 640px) {
    .purchase-card[b-e1njfhk8tg] { padding: 22px 18px 26px; }
    .picker[b-e1njfhk8tg] { grid-template-columns: 1fr; }
    .items-head[b-e1njfhk8tg] { display: none; }
    .items-row[b-e1njfhk8tg] { grid-template-columns: 1fr 1fr; row-gap: 8px; }
    .subtotal[b-e1njfhk8tg] { text-align: left; }
    .field-row[b-e1njfhk8tg] { grid-template-columns: 1fr; }
}
