/* ==================== 页面容器（整页，非弹窗） ==================== */
    .vip-page {
        background: #f7f8fc;
        padding: 32px 16px 56px;
        min-height: 60vh;
    }

    .vip-page-inner {
        max-width: 1200px;
        margin: 0 auto;
    }

    .vip-page-hero {
        text-align: center;
        margin-bottom: 28px;
    }

    .vip-page-title {
        font-size: 28px;
        font-weight: 700;
        color: #1f2937;
        margin: 0 0 8px;
    }

    .vip-page-desc {
        font-size: 14px;
        color: #6b7280;
        margin: 0;
    }

    /* ==================== 顶部 Tab 区域 ==================== */
    .vip-tabs-header {
        display: flex;
        height: 60px;
        border-bottom: 1px solid #f3f4f6;
        background: #fff;
        border-radius: 12px 12px 0 0;
        overflow: hidden;
    }

    .vip-tab-item {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        font-weight: 700;
        cursor: pointer;
        transition: all 0.3s ease;
        position: relative;
        color: #6b7280;
        background: #fafafa;
    }

    .vip-tab-item:hover {
        color: #374151;
    }

    .vip-tab-item.active {
        background: #fff;
        color: #1f2937;
    }

    .vip-tab-item .tab-indicator {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 40px;
        height: 3px;
        border-radius: 2px;
        transition: all 0.3s ease;
        opacity: 0;
    }

    .vip-tab-item.active .tab-indicator {
        opacity: 1;
    }

    /* 个人会员 - 蓝色主题 */
    .vip-tab-item.personal.active {
        color: #1677ff;
    }
    .vip-tab-item.personal .tab-indicator {
        background: #1677ff;
    }

    /* 机构会员 - 金色主题 */
    .vip-tab-item.org.active {
        color: #fa8c16;
    }
    .vip-tab-item.org .tab-indicator {
        background: #fa8c16;
    }

    /* 券码兑换 - 绿色主题 */
    .vip-tab-item.exchange.active {
        color: #52c41a;
    }
    .vip-tab-item.exchange .tab-indicator {
        background: #52c41a;
    }

    /* ==================== Tab 内容区域 ==================== */
    .vip-tab-content {
        background: #fff;
        border-radius: 0 0 12px 12px;
        padding: 28px 32px 36px;
    }

    .vip-tab-content.fade-enter-active,
    .vip-tab-content.fade-leave-active,
    .fade-enter-active,
    .fade-leave-active {
        transition: opacity 0.25s ease;
    }

    .fade-enter-from,
    .fade-leave-to {
        opacity: 0;
    }

    /* ==================== 会员概览 ==================== */
    .vip-summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 24px;
        flex-wrap: wrap;
        background: linear-gradient(135deg, #1677ff 0%, #40a9ff 100%);
        color: #fff;
        border-radius: 12px;
        padding: 22px 26px;
        margin-bottom: 28px;
    }

    .vip-summary-name {
        font-size: 22px;
        font-weight: 700;
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .vip-summary-level,
    .vip-summary-cycle {
        font-size: 12px;
        font-weight: 600;
        padding: 2px 10px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.22);
    }

    .vip-summary-sub {
        font-size: 13px;
        opacity: 0.92;
        margin-top: 8px;
    }

    .vip-summary-stats {
        display: flex;
        gap: 28px;
        flex-wrap: wrap;
    }

    .vip-summary-stat {
        text-align: center;
        min-width: 72px;
    }

    .vip-summary-stat b {
        display: block;
        font-size: 22px;
        font-weight: 800;
        line-height: 1.2;
    }

    .vip-summary-stat span {
        font-size: 12px;
        opacity: 0.85;
    }

    /* ==================== 区块 ==================== */
    .vip-section {
        margin-bottom: 36px;
    }

    .vip-section:last-child {
        margin-bottom: 0;
    }

    .vip-section-head {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: wrap;
        margin-bottom: 20px;
    }

    .vip-section-title {
        font-size: 20px;
        font-weight: 700;
        color: #1f2937;
        margin: 0 0 4px;
    }

    .vip-section-desc {
        font-size: 13px;
        color: #6b7280;
        margin: 0;
    }

    /* ==================== 周期切换 ==================== */
    .vip-cycle-seg {
        display: inline-flex;
        padding: 4px;
        gap: 4px;
        background: #f1f2f7;
        border-radius: 999px;
    }

    .vip-cycle-item {
        border: none;
        background: transparent;
        cursor: pointer;
        color: #6b7280;
        padding: 7px 22px;
        border-radius: 999px;
        font-size: 13px;
        font-weight: 600;
        transition: all 0.25s ease;
    }

    .vip-cycle-item.active {
        background: #1677ff;
        color: #fff;
        box-shadow: 0 4px 12px rgba(22, 119, 255, 0.3);
    }

    /* ==================== 会员卡片网格 ==================== */
    .vip-cards-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        margin-bottom: 20px;
    }

    /* ==================== 会员卡片 ==================== */
    .vip-card {
        border-radius: 12px;
        background: #fff;
        border: 1px solid #e5e7eb;
        transition: all 0.3s ease;
        position: relative;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .vip-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
    }

    .vip-card.popular {
        border-width: 2px;
        transform: translateY(-8px);
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
    }

    .vip-card.popular:hover {
        transform: translateY(-12px);
        box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12);
    }

    /* 卡片主题色 - 个人（蓝） */
    .vip-card.personal.popular {
        border-color: #1677ff;
    }
    .vip-card.personal .vip-price-value {
        color: #1677ff;
    }
    .vip-card.personal .vip-card-subtitle.highlight {
        color: #1677ff;
    }

    /* 卡片主题色 - 机构（金） */
    .vip-card.org.popular {
        border-color: #fa8c16;
    }
    .vip-card.org .vip-price-value {
        color: #fa8c16;
    }
    .vip-card.org .vip-card-subtitle.highlight {
        color: #fa8c16;
    }

    /* ?pack= 高亮 */
    .vip-card.pack.highlight {
        border-color: #1677ff;
        box-shadow: 0 0 0 3px rgba(22, 119, 255, 0.18), 0 12px 28px rgba(0, 0, 0, 0.1);
    }

    /* 角标标签 */
    .vip-badge {
        position: absolute;
        top: 0;
        right: 0;
        padding: 4px 12px;
        font-size: 12px;
        font-weight: 600;
        color: #fff;
        border-radius: 0 12px 0 12px;
        z-index: 2;
    }

    .vip-badge.popular-blue {
        background: linear-gradient(135deg, #1677ff 0%, #40a9ff 100%);
    }

    .vip-badge.popular-gold {
        background: linear-gradient(135deg, #fa8c16 0%, #ffc53d 100%);
    }

    .vip-badge.premium {
        background: linear-gradient(135deg, #722ed1 0%, #9254de 100%);
    }

    /* 卡片内容区 */
    .vip-card-body {
        padding: 24px 20px;
        flex: 1;
        display: flex;
        flex-direction: column;
    }

    .vip-card-header {
        text-align: center;
        margin-bottom: 16px;
    }

    .vip-card-name {
        font-size: 20px;
        font-weight: 700;
        color: #1f2937;
        margin: 0;
    }

    .vip-card-subtitle {
        font-size: 13px;
        color: #6b7280;
        margin-top: 4px;
        margin-bottom: 0;
    }

    .vip-card-subtitle.highlight {
        font-weight: 500;
    }

    /* 试卷包卡片 */
    .vip-card.pack .vip-card-body {
        padding: 20px;
    }

    .vip-card.pack .vip-card-name {
        font-size: 17px;
        text-align: left;
    }

    .vip-card.pack .vip-card-subtitle {
        text-align: left;
        margin-bottom: 12px;
    }

    .vip-pack-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        margin-bottom: 6px;
    }

    .vip-pack-actions {
        display: flex;
        gap: 10px;
        margin-top: auto;
    }

    .vip-pack-actions .vip-card-btn {
        flex: 1;
    }

    /* 价格区域 */
    .vip-price-section {
        text-align: center;
        margin-bottom: 16px;
    }

    .vip-card.pack .vip-price-section {
        text-align: left;
        margin-bottom: 14px;
    }

    .vip-card.pack .vip-price-current {
        justify-content: flex-start;
    }

    .vip-price-original {
        font-size: 13px;
        color: #9ca3af;
        text-decoration: line-through;
        margin-bottom: 4px;
    }

    .vip-price-current {
        display: flex;
        align-items: baseline;
        justify-content: center;
        gap: 2px;
    }

    .vip-price-symbol {
        font-size: 16px;
        color: #6b7280;
    }

    .vip-price-value {
        font-size: 36px;
        font-weight: 700;
        line-height: 1.2;
    }

    .vip-price-value.vip-pack-price {
        font-size: 28px;
    }

    .vip-price-value.vip-price-empty {
        color: #d1d5db;
    }

    .vip-price-unit {
        font-size: 13px;
        color: #6b7280;
    }

    /* 机构配额 */
    .vip-quota-row {
        display: flex;
        justify-content: center;
        gap: 12px;
        margin-bottom: 16px;
        padding: 12px;
        background: #f9fafb;
        border-radius: 8px;
    }

    .vip-quota-item {
        text-align: center;
        flex: 1;
    }

    .vip-quota-num {
        font-size: 18px;
        font-weight: 700;
        color: #1f2937;
    }

    .vip-quota-label {
        font-size: 12px;
        color: #6b7280;
        margin-top: 2px;
    }

    /* 权益预览列表 */
    .vip-features-preview {
        list-style: none;
        padding: 0;
        margin: 0 0 16px 0;
        flex: 1;
    }

    .vip-features-preview li {
        display: flex;
        align-items: flex-start;
        gap: 8px;
        padding: 6px 0;
        font-size: 13px;
        color: #374151;
    }

    .vip-check-icon {
        color: #52c41a;
        font-size: 14px;
        font-weight: 700;
        flex-shrink: 0;
    }

    /* 查看全部权益 */
    .vip-view-all {
        text-align: center;
        margin-bottom: 16px;
    }

    .vip-view-all a {
        font-size: 13px;
        color: #6b7280;
        text-decoration: none;
        cursor: pointer;
        transition: color 0.2s;
    }

    .vip-view-all a:hover {
        color: #1677ff;
    }

    /* 卡片按钮 */
    .vip-card-btn {
        width: 100%;
        padding: 12px;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 500;
        border: none;
        cursor: pointer;
        transition: all 0.2s;
        background: #f3f4f6;
        color: #374151;
    }

    .vip-card-btn:disabled {
        cursor: not-allowed;
        opacity: 0.6;
    }

    .vip-btn-mini {
        width: auto;
        padding: 6px 16px;
        font-size: 13px;
    }

    .vip-btn-outline-blue {
        background: #fff;
        color: #1677ff;
        border: 1px solid #1677ff;
    }

    .vip-btn-outline-blue:hover:not(:disabled) {
        background: #e6f4ff;
    }

    /* 查看覆盖范围：与购买按钮并排的差异化配色（青绿） */
    .vip-btn-outline-green {
        background: #fff;
        color: #0d9488;
        border: 1px solid #0d9488;
    }

    .vip-btn-outline-green:hover:not(:disabled) {
        background: #ecfdf5;
    }

    .vip-btn-primary-blue {
        background: #1677ff;
        color: #fff;
        box-shadow: 0 4px 12px rgba(22, 119, 255, 0.3);
    }

    .vip-btn-primary-blue:hover:not(:disabled) {
        background: #0958d9;
    }

    .vip-btn-outline-gold {
        background: #fff;
        color: #fa8c16;
        border: 1px solid #fa8c16;
    }

    .vip-btn-outline-gold:hover:not(:disabled) {
        background: #fff7e6;
    }

    .vip-btn-primary-gold {
        background: #fa8c16;
        color: #fff;
        box-shadow: 0 4px 12px rgba(250, 140, 22, 0.3);
    }

    .vip-btn-primary-gold:hover:not(:disabled) {
        background: #d46b08;
    }

    .vip-btn-dark {
        background: #1f2937;
        color: #fff;
    }

    .vip-btn-dark:hover:not(:disabled) {
        background: #374151;
    }

    .vip-btn-ghost {
        background: #fff;
        color: #374151;
        border: 1px solid #e5e7eb;
    }

    .vip-btn-ghost:hover:not(:disabled) {
        border-color: #c7d2fe;
        color: #1677ff;
    }

    .vip-btn-disabled {
        background: #f3f4f6;
        color: #9ca3af;
    }

    /* ==================== 底部说明 ==================== */
    .vip-footer-note {
        text-align: center;
        font-size: 13px;
        color: #9ca3af;
        padding-top: 16px;
        border-top: 1px solid #f3f4f6;
    }

    /* ==================== 我的试卷包 ==================== */
    .vip-my-packs {
        display: grid;
        gap: 12px;
    }

    .vip-my-pack {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: wrap;
        border: 1px solid #eef0f4;
        border-radius: 10px;
        padding: 14px 16px;
        background: #fff;
        transition: all 0.25s ease;
    }

    .vip-my-pack.invalid {
        opacity: 0.55;
    }

    .vip-my-pack-main {
        display: flex;
        align-items: center;
        gap: 12px;
        flex-wrap: wrap;
    }

    .vip-my-pack-name {
        font-weight: 700;
        font-size: 15px;
        color: #1f2937;
    }

    .vip-my-pack-meta {
        font-size: 13px;
        color: #6b7280;
    }

    .vip-source-tag {
        font-size: 12px;
        padding: 2px 10px;
        border-radius: 999px;
        background: #eef2ff;
        color: #1677ff;
    }

    .vip-my-pack-right {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .vip-state {
        font-size: 12px;
        padding: 2px 10px;
        border-radius: 999px;
        background: #f3f4f6;
        color: #6b7280;
    }

    .vip-state.ok {
        background: #ecfdf5;
        color: #10b981;
    }

    .vip-state.warn {
        background: #fffbeb;
        color: #f59e0b;
    }

    .vip-state.off {
        background: #fef2f2;
        color: #ef4444;
    }

    /* ==================== 券码兑换 ==================== */
    .vip-exchange-wrapper {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 40px 0;
    }

    .vip-exchange-icon {
        width: 80px;
        height: 80px;
        background: #f6ffed;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 24px;
    }

    .vip-exchange-icon svg {
        width: 40px;
        height: 40px;
        color: #52c41a;
    }

    .vip-exchange-title {
        font-size: 24px;
        font-weight: 700;
        color: #1f2937;
        margin-bottom: 8px;
    }

    .vip-exchange-desc {
        font-size: 14px;
        color: #6b7280;
        margin-bottom: 32px;
        text-align: center;
    }

    .vip-exchange-input-row {
        display: flex;
        gap: 12px;
        width: 100%;
        max-width: 480px;
        margin-bottom: 24px;
    }

    .vip-exchange-input {
        flex: 1;
        padding: 12px 16px;
        border: 1px solid #d9d9d9;
        border-radius: 8px;
        font-size: 14px;
        transition: all 0.2s;
        outline: none;
    }

    .vip-exchange-input:focus {
        border-color: #52c41a;
        box-shadow: 0 0 0 2px rgba(82, 196, 26, 0.1);
    }

    .vip-exchange-btn {
        padding: 12px 28px;
        background: #52c41a;
        color: #fff;
        border: none;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 500;
        cursor: pointer;
        transition: all 0.2s;
        white-space: nowrap;
    }

    .vip-exchange-btn:hover:not(:disabled) {
        background: #389e0d;
    }

    .vip-exchange-btn:disabled {
        background: #b7eb8f;
        cursor: not-allowed;
    }

    .vip-exchange-tips {
        width: 100%;
        max-width: 480px;
        background: #f9fafb;
        border-radius: 8px;
        padding: 16px 20px;
    }

    .vip-exchange-tips h4 {
        font-size: 14px;
        font-weight: 600;
        color: #374151;
        margin: 0 0 8px 0;
    }

    .vip-exchange-tips ul {
        margin: 0;
        padding-left: 20px;
    }

    .vip-exchange-tips li {
        font-size: 13px;
        color: #6b7280;
        padding: 3px 0;
    }

    /* ==================== 自定义浮层（非 dialog） ==================== */
    .vip-overlay {
        position: fixed;
        inset: 0;
        z-index: 2050;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .vip-overlay-mask {
        position: absolute;
        inset: 0;
        background: rgba(17, 24, 39, 0.55);
        backdrop-filter: blur(2px);
    }

    .vip-overlay-card {
        position: relative;
        z-index: 1;
        width: 380px;
        max-width: 100%;
        background: #fff;
        border-radius: 14px;
        padding: 22px 24px;
        box-shadow: 0 24px 60px rgba(17, 24, 39, 0.3);
        text-align: center;
    }

    .vip-overlay-card-lg {
        width: 600px;
        max-width: 100%;
        text-align: left;
        max-height: calc(100vh - 40px);
        display: flex;
        flex-direction: column;
    }

    .vip-overlay-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 12px;
    }

    .vip-overlay-title {
        font-size: 18px;
        font-weight: 700;
        color: #1f2937;
    }

    .vip-overlay-close {
        border: none;
        background: #f3f4f6;
        color: #6b7280;
        width: 30px;
        height: 30px;
        border-radius: 50%;
        font-size: 18px;
        line-height: 1;
        cursor: pointer;
        flex-shrink: 0;
        transition: all 0.2s;
    }

    .vip-overlay-close:hover {
        background: #e5e7eb;
        color: #374151;
    }

    .vip-overlay-body {
        flex: 1;
        overflow-y: auto;
        padding-right: 4px;
    }

    .vip-overlay-sub {
        font-size: 13px;
        color: #6b7280;
        margin: 0;
    }

    .vip-overlay-actions {
        display: flex;
        gap: 12px;
        margin-top: 18px;
    }

    .vip-overlay-actions .vip-card-btn {
        flex: 1;
    }

    /* 权益详情 */
    .vip-features-detail {
        margin-top: 12px;
    }

    .vip-features-category {
        margin-bottom: 18px;
    }

    .vip-features-category:last-child {
        margin-bottom: 0;
    }

    .vip-features-category-title {
        font-size: 14px;
        font-weight: 600;
        color: #374151;
        margin-bottom: 8px;
        padding-bottom: 8px;
        border-bottom: 1px solid #f3f4f6;
    }

    .vip-features-category ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
    }

    .vip-features-category li {
        display: flex;
        align-items: flex-start;
        gap: 6px;
        font-size: 13px;
        color: #374151;
        padding: 4px 0;
    }

    /* 购买浮层 */
    .vip-buy-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        flex-wrap: wrap;
        margin-bottom: 14px;
    }

    .vip-buy-name {
        font-size: 17px;
        font-weight: 800;
        color: #1f2937;
        margin-bottom: 2px;
    }

    .vip-buy-alert {
        background: #fffbeb;
        color: #b45309;
        border: 1px solid #fde68a;
        border-radius: 8px;
        padding: 10px 14px;
        font-size: 13px;
        line-height: 1.6;
        margin-bottom: 12px;
    }

    .vip-buy-amount {
        background: #f7f8fc;
        border-radius: 10px;
        padding: 14px 16px;
    }

    .vip-buy-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        font-size: 14px;
        color: #6b7280;
        padding: 6px 0;
    }

    .vip-buy-value {
        color: #1f2937;
        font-weight: 600;
    }

    .vip-buy-final {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        margin-top: 8px;
        padding-top: 10px;
        border-top: 1px solid #e5e7eb;
        font-size: 14px;
        font-weight: 700;
        color: #1f2937;
    }

    .vip-buy-final-num {
        font-size: 26px;
        font-weight: 800;
        color: #ef4444;
        line-height: 1;
    }

    .vip-buy-final-num small {
        font-size: 15px;
    }

    /* 支付渠道 */
    .vip-channels {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .vip-channel {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border: 1.5px solid #eef0f4;
        border-radius: 10px;
        padding: 12px;
        cursor: pointer;
        font-size: 14px;
        font-weight: 600;
        color: #374151;
        transition: all 0.25s ease;
    }

    .vip-channel:hover {
        border-color: #bfdbfe;
    }

    .vip-channel.active {
        border-color: #1677ff;
        background: #e6f4ff;
        color: #1677ff;
    }

    .vip-channel.disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }

    .vip-dot {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: #d1d5db;
    }

    .vip-channel.active .vip-dot {
        background: #1677ff;
    }

    /* 更换试卷包 */
    .vip-mode-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 12px;
        margin-top: 14px;
    }

    .vip-mode {
        border: 1.5px solid #eef0f4;
        border-radius: 10px;
        padding: 14px;
        cursor: pointer;
        background: #fff;
        transition: all 0.25s ease;
    }

    .vip-mode:hover {
        border-color: #bfdbfe;
    }

    .vip-mode.active {
        border-color: #1677ff;
        background: #f0f7ff;
        box-shadow: 0 0 0 3px rgba(22, 119, 255, 0.12);
    }

    .vip-mode-title {
        font-weight: 700;
        color: #1f2937;
        margin-bottom: 6px;
    }

    .vip-mode-desc {
        font-size: 13px;
        color: #6b7280;
    }

    /* 支付浮层二维码 */
    .vip-qr-box {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 200px;
        margin: 16px 0;
    }

    .vip-qr-fallback {
        padding: 10px;
        border: 1px dashed #e5e7eb;
        border-radius: 10px;
        font-size: 13px;
        word-break: break-all;
        color: #6b7280;
        text-align: center;
    }

    .vip-order-no {
        font-size: 13px;
        color: #6b7280;
        margin-top: 6px;
    }

    /* 支付浮层 · 试卷包双栏（左支付方式 / 右二维码或跳转） */
    .vip-pay-card {
        width: 560px;
    }

    .vip-pay-flex.two-col {
        display: flex;
        gap: 22px;
        align-items: stretch;
        text-align: left;
        margin-top: 14px;
    }

    .vip-pay-side {
        flex: 0 0 168px;
        border-right: 1px solid #f3f4f6;
        padding-right: 18px;
    }

    .vip-pay-side .vip-channels {
        grid-template-columns: 1fr;
    }

    .vip-pay-main {
        flex: 1;
        min-width: 0;
        text-align: center;
    }

    .vip-success-icon {
        width: 64px;
        height: 64px;
        border-radius: 50%;
        margin: 0 auto 16px;
        background: linear-gradient(135deg, #1677ff 0%, #40a9ff 100%);
        color: #fff;
        font-size: 32px;
        font-weight: 800;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* ==================== 机构套餐概览 ==================== */
    .vip-org-summary {
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
        gap: 24px;
        background: linear-gradient(135deg, #fa8c16 0%, #ffc53d 100%);
        color: #fff;
        border-radius: 12px;
        padding: 22px 26px;
        margin-bottom: 28px;
    }

    .vip-org-summary-name {
        font-size: 22px;
        font-weight: 700;
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    .vip-org-summary-badge {
        font-size: 12px;
        font-weight: 600;
        padding: 2px 10px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.22);
    }

    .vip-org-summary-sub {
        font-size: 13px;
        opacity: 0.92;
        margin-top: 8px;
    }

    .vip-org-usage-row {
        margin-bottom: 12px;
    }

    .vip-org-usage-row:last-child {
        margin-bottom: 0;
    }

    .vip-org-usage-head {
        display: flex;
        justify-content: space-between;
        font-size: 12px;
        margin-bottom: 6px;
        opacity: 0.95;
    }

    .vip-org-usage-val {
        font-weight: 700;
    }

    .vip-org-usage-val.over {
        color: #fee2e2;
    }

    .vip-org-usage-bar {
        height: 8px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.26);
        overflow: hidden;
    }

    .vip-org-usage-fill {
        height: 100%;
        border-radius: 999px;
        background: #fff;
        transition: width 0.4s ease;
    }

    .vip-org-usage-fill.over {
        background: #fecaca;
    }

    /* ==================== 机构购买浮层 ==================== */
    .vip-org-credit {
        color: #10b981;
    }

    .vip-org-modes {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin: 12px 0;
    }

    .vip-org-mode {
        border: 1.5px solid #eef0f4;
        border-radius: 10px;
        padding: 14px;
        cursor: pointer;
        background: #fff;
        transition: all 0.25s ease;
    }

    .vip-org-mode:hover {
        border-color: #ffd591;
    }

    .vip-org-mode.active {
        border-color: #fa8c16;
        background: #fff7e6;
        box-shadow: 0 0 0 3px rgba(250, 140, 22, 0.12);
    }

    .vip-org-mode-title {
        font-weight: 700;
        color: #1f2937;
        margin-bottom: 6px;
    }

    .vip-org-mode-desc {
        font-size: 13px;
        color: #6b7280;
        line-height: 1.6;
    }

    .vip-org-mode-desc b {
        color: #fa8c16;
    }

    .vip-org-compare {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: stretch;
        gap: 12px;
        margin-top: 14px;
    }

    .vip-org-cmp {
        border: 1px solid #eef0f4;
        border-radius: 10px;
        padding: 14px;
        text-align: center;
        background: #fff;
    }

    .vip-org-cmp.after {
        border-color: transparent;
        background: linear-gradient(135deg, #fa8c16 0%, #ffc53d 100%);
        color: #fff;
        box-shadow: 0 8px 20px rgba(250, 140, 22, 0.25);
    }

    .vip-org-cmp-label {
        font-size: 12px;
        color: #6b7280;
        margin-bottom: 6px;
    }

    .vip-org-cmp.after .vip-org-cmp-label {
        color: rgba(255, 255, 255, 0.85);
    }

    .vip-org-cmp-val {
        font-size: 15px;
        font-weight: 800;
        color: #1f2937;
    }

    .vip-org-cmp.after .vip-org-cmp-val {
        color: #fff;
    }

    .vip-org-cmp-sub {
        font-size: 12px;
        color: #6b7280;
        margin-top: 6px;
    }

    .vip-org-cmp.after .vip-org-cmp-sub {
        color: rgba(255, 255, 255, 0.85);
    }

    .vip-org-cmp-step {
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: 800;
        color: #ffc53d;
    }

    .vip-org-frozen {
        margin-top: 14px;
    }

    .vip-org-frozen-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px 12px;
        border-radius: 10px;
        background: #f7f8fc;
        font-size: 13px;
        margin-bottom: 6px;
    }

    /* ==================== 试卷包覆盖范围浮层 ==================== */
    /* 宽屏横向双栏：左权益介绍 / 右试卷列表；窄屏自动堆叠 */
    /* 整体限高：试卷再多也不会顶满整个界面，超出部分由内部列表滚动 */
    .vip-pack-detail-card {
        width: 920px;
        max-height: min(600px, calc(100vh - 48px));
    }

    .vip-pack-detail-body {
        min-height: 160px;
        display: flex;
        flex-direction: column;
        overflow: hidden;
    }

    .vip-pack-detail-grid {
        flex: 1;
        min-height: 0;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
        gap: 22px;
    }

    /* 左栏：信息与权益，内容过长时自身滚动 */
    .vip-pack-detail-side {
        min-height: 0;
        overflow-y: auto;
        padding-right: 4px;
    }

    /* 右栏：试卷列表容器 */
    .vip-pack-detail-main {
        min-height: 0;
        display: flex;
        flex-direction: column;
    }

    .vip-pack-detail-exams {
        flex: 1;
        min-height: 0;
        display: flex;
        flex-direction: column;
        margin-bottom: 0;
    }

    /* 试卷列表内部滚动区 */
    .vip-exam-scroll {
        flex: 1;
        min-height: 120px;
        overflow-y: auto;
        padding-right: 4px;
    }

    .vip-pack-detail-section {
        margin-bottom: 18px;
    }

    .vip-pack-detail-section:last-child {
        margin-bottom: 0;
    }

    .vip-pack-detail-title {
        font-size: 14px;
        font-weight: 600;
        color: #374151;
        margin-bottom: 10px;
        padding-bottom: 8px;
        border-bottom: 1px solid #f3f4f6;
    }

    .vip-original-inline {
        margin-right: 6px;
    }

    .vip-rights-list {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .vip-rights-list li {
        display: flex;
        align-items: flex-start;
        gap: 6px;
        font-size: 13px;
        color: #374151;
        padding: 4px 0;
    }

    .vip-pack-detail-note {
        font-size: 12px;
        color: #6b7280;
        line-height: 1.6;
        margin: 8px 0 0;
    }

    .vip-cat-list,
    .vip-exam-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: grid;
        gap: 8px;
    }

    .vip-cat-item {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
        padding: 8px 12px;
        border: 1px solid #eef0f4;
        border-radius: 8px;
        background: #fff;
    }

    .vip-cat-name {
        font-size: 13px;
        font-weight: 600;
        color: #1f2937;
    }

    .vip-cat-path {
        font-size: 12px;
        color: #9ca3af;
    }

    .vip-cat-count {
        margin-left: auto;
        font-size: 12px;
        color: #6b7280;
    }

    .vip-exam-item {
        padding: 10px 12px;
        border: 1px solid #eef0f4;
        border-radius: 8px;
        background: #fff;
    }

    .vip-exam-title {
        font-size: 13px;
        font-weight: 600;
        color: #1f2937;
        margin-bottom: 6px;
    }

    .vip-exam-meta {
        display: flex;
        align-items: center;
        gap: 10px;
        flex-wrap: wrap;
        font-size: 12px;
        color: #6b7280;
    }

    .vip-exam-path {
        color: #9ca3af;
    }

    .vip-load-more {
        text-align: center;
        margin-top: 12px;
    }

    /* ==================== 响应式 ==================== */
    @media (max-width: 992px) {
        .vip-cards-grid {
            grid-template-columns: repeat(2, 1fr);
        }
    }

    @media (max-width: 768px) {
        .vip-page {
            padding: 20px 12px 40px;
        }

        .vip-tab-content {
            padding: 20px 16px 28px;
        }

        .vip-cards-grid {
            grid-template-columns: 1fr;
        }

        .vip-card.popular,
        .vip-card.popular:hover {
            transform: none;
        }

        .vip-summary {
            flex-direction: column;
            align-items: flex-start;
            gap: 16px;
        }

        .vip-summary-stats {
            gap: 20px;
        }

        .vip-features-category ul {
            grid-template-columns: 1fr;
        }

        .vip-channels {
            grid-template-columns: 1fr;
        }

        /* 支付浮层：窄屏单列堆叠，支付方式两列横排 */
        .vip-pay-card {
            width: 100%;
        }

        .vip-pay-flex.two-col {
            flex-direction: column;
            gap: 14px;
        }

        .vip-pay-side {
            flex: none;
            border-right: none;
            border-bottom: 1px solid #f3f4f6;
            padding-right: 0;
            padding-bottom: 14px;
        }

        .vip-pay-side .vip-channels {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .vip-tab-item {
            font-size: 14px;
        }

        .vip-org-summary {
            grid-template-columns: minmax(0, 1fr);
            gap: 16px;
            padding: 20px 18px;
        }

        .vip-org-modes {
            grid-template-columns: minmax(0, 1fr);
        }

        .vip-org-compare {
            grid-template-columns: 1fr;
        }

        .vip-org-cmp-step {
            transform: rotate(90deg);
        }

        .vip-pack-detail-card {
            width: 100%;
            padding: 18px 16px;
        }

        /* 窄屏：单列堆叠，整体可滚动，试卷列表限高内部滚动 */
        .vip-pack-detail-body {
            overflow-y: auto;
        }

        .vip-pack-detail-grid {
            grid-template-columns: minmax(0, 1fr);
            gap: 8px;
        }

        .vip-pack-detail-side {
            overflow: visible;
            padding-right: 0;
        }

        .vip-exam-scroll {
            max-height: 46vh;
        }

        .vip-cat-item {
            align-items: flex-start;
        }

        .vip-cat-count {
            margin-left: 0;
            flex-basis: 100%;
        }

        .vip-exam-meta {
            gap: 6px 10px;
        }
    }
