        /* ============================================================ */
        /* ===== 分类页共用模块样式（源自 index.php 对应段落） ===== */
        /* ============================================================ */

        /* 第2屏容器（index.php #programs-module 基线） */
        #programs-module {
            width: 100%;
            display: flex;
            flex-direction: column;
            background: var(--bg);
            padding: 0 var(--space-24);
            max-width: 1280px;
            margin: var(--space-16) auto 0 auto;
            scroll-margin-top: 72px;
            height: calc(100vh - 72px - 16px - 1px);
            overflow: hidden;
        }

        /* ===== 学历项目筛选模块 ===== */
        .programs-header {
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            gap: var(--space-4);
            padding: var(--space-16) 0 var(--space-10) 0;
        }
        .programs-header h2 {
            font-size: var(--fs-1000);
            font-weight: var(--fw-700);
            color: var(--ink);
            display: flex;
            align-items: center;
            gap: var(--space-10);
        }
        .programs-header h2 i {
            color: var(--brand);
        }
        .programs-header p {
            color: var(--muted);
            font-size: var(--fs-800);
        }

        .programs-body {
            flex: 1;
            display: flex;
            gap: var(--space-20);
            min-height: 0;
            overflow: hidden;
        }

        /* ---- 左右面板通用 ---- */
        .region-panel,
        .project-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            border-radius: var(--radius-sm);
            border: 1px solid var(--border);
            overflow: hidden;
            box-shadow: var(--shadow-soft);
            min-width: 0;
            height: 100%;
        }

        .panel-header {
            flex-shrink: 0;
            padding: var(--space-10) var(--space-16);
            border-bottom: 1px solid var(--border);
            background: var(--bg);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .panel-header .panel-title {
            font-size: var(--fs-800);
            font-weight: var(--fw-600);
            color: var(--ink);
        }
        .panel-header .selected-region,
        .panel-header .selected-project {
            font-size: var(--fs-800);
            font-weight: var(--fw-600);
            color: var(--ink);
            display: none;
            align-items: center;
            gap: var(--space-8);
        }
        .panel-header .selected-project .project-price {
            font-weight: var(--fw-400);
            color: var(--brand);
            font-size: var(--fs-400);
        }
        .panel-header .selected-project .project-icon {
            width: 2rem;
            height: 2rem;
            flex: 0 0 auto;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }
        .panel-header .selected-project .project-icon img,
        .panel-header .selected-project .project-icon i {
            width: 100%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.8em;
            object-fit: cover;
        }
        .panel-header .change-btn {
            font-size: var(--fs-300);
            color: var(--muted);
            cursor: pointer;
            display: none;
            background: none;
            border: none;
            padding: var(--space-4) var(--space-8);
            border-radius: var(--radius-xs);
            transition: background 0.2s;
        }
        .panel-header .change-btn:hover {
            background: rgba(0, 0, 0, 0.05);
        }

        /* ---- panel-search ---- */
        .panel-search {
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: var(--space-8);
            padding: var(--space-6) var(--space-12);
            margin: var(--space-8) var(--space-12);
            border: 1px solid var(--border);
            border-radius: var(--radius-sm);
            background: var(--paper);
            transition: border-color 0.2s;
        }
        .panel-search:focus-within {
            border-color: var(--brand);
        }
        .panel-search .search-icon {
            width: 14px;
            height: 14px;
            color: var(--muted);
            flex-shrink: 0;
        }
        .panel-search input {
            width: 100%;
            padding: var(--space-4) 0;
            border: none;
            background: transparent;
            font-size: var(--fs-400);
            color: var(--ink);
            outline: none;
        }
        .panel-search input::placeholder {
            color: var(--muted);
        }

        /* ---- 区域列表 ---- */
        .region-list {
            flex: 1;
            overflow-y: auto;
            padding: var(--space-4) 0;
            min-height: 0;
        }
        .region-list .region-item {
            display: flex;
            align-items: center;
            gap: var(--space-10);
            padding: var(--space-16) var(--space-16);
            cursor: pointer;
            transition: background 0.15s, color 0.15s;
            font-size: var(--fs-800);
            border-left: 3px solid transparent;
            color: var(--ink);
        }
        .region-list .region-item:hover {
            background: rgba(0, 0, 0, 0.03);
        }
        .region-list .region-item.active {
            background: var(--ink-strong);
            color: var(--paper);
            border-left-color: var(--ink-strong);
        }
        .region-list .region-item .flag {
            font-size: var(--fs-800);
            flex-shrink: 0;
        }
        .region-list .region-item .flag .region-flag-img {
            width: 2rem;
            height: 2rem;
            object-fit: cover;
            border-radius: 3px;
            vertical-align: middle;
        }
        .region-list .region-item .flag .region-custom-icon {
            font-size: 1.4rem;
            color: var(--ink);
            flex-shrink: 0;
        }
        .region-list .region-item .flag img.region-custom-icon {
            width: 1.6rem;
            height: 1.6rem;
            border-radius: var(--radius-xs);
            object-fit: cover;
            flex-shrink: 0;
        }
        .region-list .region-item .name {
            flex: 1;
        }
        .region-list .region-item .count {
            font-size: var(--fs-200);
            color: var(--muted);
            background: var(--bg);
            padding: 0 var(--space-8);
            border-radius: var(--radius-pill);
            font-weight: var(--fw-500);
            flex-shrink: 0;
        }
        .region-list .region-item.active .count {
            background: rgba(255, 255, 255, 0.15);
            color: rgba(255, 255, 255, 0.7);
        }

        /* ---- 项目列表 ---- */
        .project-list {
            flex: 1;
            overflow-y: auto;
            padding: var(--space-4) 0;
            min-height: 0;
        }
        .project-list .project-item {
            display: flex;
            align-items: center;
            gap: var(--space-12);
            padding: var(--space-8) var(--space-16);
            border-bottom: 1px solid rgba(0, 0, 0, 0.04);
            transition: background 0.15s, color 0.15s;
            cursor: pointer;
            border-left: 3px solid transparent;
        }
        .project-list .project-item:hover {
            background: rgba(0, 0, 0, 0.02);
        }
        .project-list .project-item.active {
            background: var(--ink-strong);
            color: var(--paper);
            border-left-color: var(--ink-strong);
        }
        .project-list .project-item.active .p-price {
            color: var(--brand);
        }
        .project-list .project-item.active .p-icon {
            color: var(--paper);
        }
        .project-list .project-item.active .p-info .p-name {
            color: var(--paper);
        }
        .project-list .project-item.active .p-info .p-meta {
            color: rgba(255, 255, 255, 0.6);
        }

        .project-list .project-item .p-icon {
            width: 32px;
            height: 32px;
            border-radius: var(--radius-md);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--brand);
            font-size: var(--fs-600);
            flex-shrink: 0;
        }
        .project-list .project-item .p-icon .p-icon-img {
            width: 2rem;
            height: 2rem;
            object-fit: cover;
            border-radius: var(--radius-xs);
        }
        .project-list .project-item .p-info {
            flex: 1;
            min-width: 0;
        }
        .project-list .project-item .p-info .p-category {
            font-size: var(--fs-100);
            color: var(--muted);
            margin-bottom: var(--space-2);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .project-list .project-item.active .p-info .p-category {
            color: var(--brand);
        }
        .project-list .project-item .p-info .p-name {
            font-weight: var(--fw-600);
            font-size: var(--fs-800);
            color: var(--ink);
        }
        .project-list .project-item .p-info .p-meta {
            font-size: var(--fs-200);
            color: var(--muted);
            display: flex;
            gap: var(--space-12);
            flex-wrap: wrap;
            margin-top: 1px;
        }
        .project-list .project-item .p-info .p-meta span {
            display: inline-flex;
            align-items: center;
            gap: var(--space-4);
        }
        .project-list .project-item .p-price {
            font-weight: var(--fw-700);
            color: var(--brand);
            font-size: var(--fs-800);
            white-space: nowrap;
            flex-shrink: 0;
        }

        /* ---- 面板底部 ---- */
        .panel-footer {
            flex-shrink: 0;
            padding: var(--space-8) var(--space-16);
            border-top: 1px solid var(--border);
            display: flex;
            align-items: center;
            justify-content: space-between;
            background: var(--bg);
            gap: var(--space-12);
            margin-top: auto;
        }
        .panel-footer .count-info {
            font-size: var(--fs-300);
            color: var(--muted);
        }
        .panel-footer .btn-commission-pc {
            background: var(--ink-strong);
            color: var(--paper);
            border: none;
            padding: 5px 18px;
            border-radius: var(--radius-pill);
            font-weight: var(--fw-600);
            font-size: var(--fs-800);
            cursor: pointer;
            transition: background 0.2s, transform 0.1s;
            white-space: nowrap;
            flex-shrink: 0;
        }
        .panel-footer .btn-commission-pc:hover {
            background: var(--ink-hover);
        }

        /* ---- 空状态 ---- */
        .empty-state {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            height: 100%;
            color: var(--muted);
            font-size: var(--fs-800);
            gap: var(--space-8);
            padding: var(--space-20) 0;
            text-align: center;
        }
        .empty-state i {
            font-size: var(--fs-1100);
            opacity: 0.3;
        }
        .empty-state .empty-hint {
            font-size: var(--fs-400);
            color: var(--muted);
            max-width: 200px;
        }

        /* ---- 手机端佣金按钮独立行 ---- */
        .commission-row {
            flex-shrink: 0;
            padding: var(--space-8) 0 var(--space-12) 0;
            display: none;
            justify-content: center;
        }
        .commission-row .btn-commission-mobile {
            background: var(--ink-strong);
            color: var(--paper);
            border: none;
            padding: var(--space-10) 0;
            border-radius: var(--radius-pill);
            font-weight: var(--fw-600);
            font-size: var(--fs-800);
            cursor: pointer;
            width: 100%;
            max-width: 400px;
            transition: background 0.2s, transform 0.1s;
            text-align: center;
            letter-spacing: 0.3px;
        }
        .commission-row .btn-commission-mobile:hover {
            background: #353535;
        }

        /* ===== 第3屏：热门学历项目推荐 ===== */
        #programs-table-section {
            width: 100%;
            max-width: 1280px;
            margin: var(--space-16) auto 0 auto;
            padding: 0 var(--space-24);
            display: flex;
            flex-direction: column;
            scroll-margin-top: 72px;
            height: auto;
            overflow: visible;
        }

        #programs-table-section .table-wrap {
            overflow: visible;
            border-radius: var(--radius-lg);
            border: 1px solid var(--border);
            margin-bottom: 0;
            flex: none;
            padding: var(--space-12) var(--space-16);
        }

        #programs-table-section .table-wrap table {
            table-layout: fixed;
            width: 100%;
            font-size: var(--fs-800);
            min-width: 0;
            border-collapse: collapse;
        }

        #programs-table-section .table-wrap th {
            background: #f8f8f8;
            color: var(--ink-weak);
            font-weight: var(--fw-600);
            padding: var(--space-12) var(--space-16);
            border-bottom: 2px solid var(--border);
            position: sticky;
            top: 0;
            z-index: 4;
            text-align: left;
            font-size: var(--fs-800);
            text-transform: uppercase;
            letter-spacing: 0.3px;
            width: 14.28%;
            white-space: nowrap;
        }
        #programs-table-section .table-wrap th:nth-child(1) { width: 10%; }
        #programs-table-section .table-wrap th:nth-child(2) { width: 16%; }
        #programs-table-section .table-wrap th:nth-child(3) { width: 14%; }
        #programs-table-section .table-wrap th:nth-child(4) { width: 10%; }
        #programs-table-section .table-wrap th:nth-child(5) { width: 14%; }
        #programs-table-section .table-wrap th:nth-child(6) { width: 20%; }

        #programs-table-section .table-wrap td {
            padding: var(--space-12) var(--space-16);
            border-bottom: 1px solid var(--border);
            vertical-align: middle;
            transition: background 0.15s;
            font-size: var(--fs-800);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        #programs-table-section .table-wrap td .cell-inline {
            display: inline-flex;
            align-items: center;
            gap: var(--space-6);
        }
        #programs-table-section .table-wrap td .cell-inline img {
            flex: 0 0 auto;
        }

        #programs-table-section .table-wrap th:last-child {
            text-align: center;
        }
        #programs-table-section .table-wrap td:last-child {
            text-align: center;
        }

        #programs-table-section .table-wrap tbody tr {
            transition: background 0.15s;
        }
        #programs-table-section .table-wrap tbody tr:hover {
            background: rgba(0, 0, 0, 0.02);
        }

        .btn-join {
            background: var(--ink-strong);
            color: var(--paper);
            border: none;
            padding: 5px 18px;
            border-radius: var(--radius-pill);
            font-weight: var(--fw-600);
            font-size: var(--fs-800);
            cursor: pointer;
            transition: background 0.2s, transform 0.1s;
            white-space: nowrap;
        }
        .btn-join:hover {
            background: var(--ink-hover);
        }

        /* ===== 响应式（仅模块相关部分，照搬 index.php） ===== */
        @media (max-width: 768px) {
            #programs-module {
                padding: 0 var(--space-16);
                min-height: auto;
                height: auto;
                max-height: none;
            }
            .programs-header {
                padding: var(--space-12) 0 var(--space-8) 0;
            }
            .programs-header h2 {
                font-size: var(--fs-900);
            }

            .programs-body {
                flex-direction: column;
                gap: 0;
                height: auto;
                flex: none;
                overflow: visible;
            }

            .region-panel {
                flex: 0 0 auto;
                height: auto;
                max-height: 420px;
                transition: max-height 0.3s ease, flex 0.3s ease;
                overflow: hidden;
                border-radius: var(--radius-sm);
            }
            .region-panel.collapsed {
                flex: 0 0 auto;
                max-height: 56px;
                cursor: pointer;
            }
            .region-panel.collapsed .panel-search,
            .region-panel.collapsed .region-list,
            .region-panel.collapsed .panel-footer {
                display: none;
            }
            .region-panel.collapsed .panel-header {
                border-bottom: none;
                padding: var(--space-12) var(--space-16);
                background: var(--paper);
            }
            .region-panel.collapsed .panel-header .panel-title {
                display: none;
            }
            .region-panel.collapsed .panel-header .selected-region {
                display: flex !important;
            }
            .region-panel.collapsed .panel-header .change-btn {
                display: block !important;
            }

            .region-panel:not(.collapsed) .panel-header .selected-region {
                display: none !important;
            }
            .region-panel:not(.collapsed) .panel-header .change-btn {
                display: none !important;
            }

            .project-panel {
                flex: 1;
                margin-top: var(--space-12);
                display: none;
                height: auto;
                max-height: 420px;
                transition: max-height 0.3s ease;
                overflow: hidden;
                border-radius: var(--radius-sm);
            }
            .project-panel.visible {
                display: flex;
                animation: fadeInUp 0.3s ease;
            }

            .project-panel.collapsed {
                flex: 0 0 auto;
                max-height: 110px;
                cursor: pointer;
            }
            .project-panel.collapsed .panel-search,
            .project-panel.collapsed .project-list,
            .project-panel.collapsed .panel-footer {
                display: none;
            }
            .project-panel.collapsed .panel-header {
                border-bottom: none;
                padding: var(--space-12) var(--space-16);
                background: var(--paper);
            }
            .project-panel.collapsed .panel-header .panel-title {
                display: none;
            }
            .project-panel.collapsed .panel-header .selected-project {
                display: flex !important;
            }
            .project-panel.collapsed .panel-header .change-btn {
                display: block !important;
            }

            .project-panel:not(.collapsed) .panel-header .selected-project {
                display: none !important;
            }
            .project-panel:not(.collapsed) .panel-header .change-btn {
                display: none !important;
            }

            .commission-row {
                display: flex !important;
                padding: var(--space-6) 0 var(--space-10) 0;
            }
            .commission-row .btn-commission-mobile {
                max-width: 100%;
                font-size: var(--fs-400);
                padding: var(--space-10) 0;
            }

            .panel-footer .btn-commission-pc {
                display: none;
            }

            @keyframes fadeInUp {
                from { opacity: 0; transform: translateY(12px); }
                to { opacity: 1; transform: translateY(0); }
            }

            .region-list .region-item {
                padding: var(--space-10) var(--space-12);
                font-size: var(--fs-400);
            }
            .project-list .project-item {
                padding: var(--space-6) var(--space-12);
                font-size: var(--fs-400);
            }
            .project-list .project-item .p-info .p-name {
                font-size: var(--fs-400);
            }

            #programs-table-section {
                margin-top: var(--space-24);
                padding: 0 var(--space-16);
                height: auto;
                min-height: auto;
            }
            #programs-table-section .table-wrap {
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
                border-radius: var(--radius-md);
                padding: var(--space-8);
            }
            #programs-table-section .table-wrap table {
                font-size: var(--fs-400);
                min-width: 480px;
                table-layout: auto;
            }
            #programs-table-section .table-wrap th,
            #programs-table-section .table-wrap td {
                padding: var(--space-6) var(--space-8);
                font-size: var(--fs-400);
                white-space: nowrap;
            }
            .btn-join {
                padding: 3px var(--space-12);
                font-size: var(--fs-400);
            }
        }

        @media (min-width: 769px) {
            .project-panel {
                display: flex !important;
            }
            .region-panel.collapsed {
                max-height: none !important;
                flex: 1 !important;
            }
            .region-panel.collapsed .panel-search,
            .region-panel.collapsed .region-list,
            .region-panel.collapsed .panel-footer {
                display: flex !important;
            }
            .region-panel.collapsed .panel-header .panel-title {
                display: block !important;
            }
            .region-panel.collapsed .panel-header .selected-region {
                display: none !important;
            }
            .region-panel.collapsed .panel-header .change-btn {
                display: none !important;
            }
            .region-panel:not(.collapsed) .panel-header .selected-region {
                display: none !important;
            }
            .region-panel:not(.collapsed) .panel-header .change-btn {
                display: none !important;
            }

            .project-panel.collapsed {
                max-height: none !important;
                flex: 1 !important;
            }
            .project-panel.collapsed .panel-search,
            .project-panel.collapsed .project-list,
            .project-panel.collapsed .panel-footer {
                display: flex !important;
            }
            .project-panel.collapsed .panel-header .panel-title {
                display: block !important;
            }
            .project-panel.collapsed .panel-header .selected-project {
                display: none !important;
            }
            .project-panel.collapsed .panel-header .change-btn {
                display: none !important;
            }
            .project-panel:not(.collapsed) .panel-header .selected-project {
                display: none !important;
            }
            .project-panel:not(.collapsed) .panel-header .change-btn {
                display: none !important;
            }

            .commission-row {
                display: none !important;
            }
            .panel-footer .btn-commission-pc {
                display: block;
            }
        }

        /* 滚动条美化 */
        .region-list::-webkit-scrollbar,
        .project-list::-webkit-scrollbar {
            width: 4px;
            height: 4px;
        }
        .region-list::-webkit-scrollbar-track,
        .project-list::-webkit-scrollbar-track {
            background: transparent;
        }
        .region-list::-webkit-scrollbar-thumb,
        .project-list::-webkit-scrollbar-thumb {
            background: var(--border);
            border-radius: var(--radius-xs);
        }
        .region-list::-webkit-scrollbar-thumb:hover,
        .project-list::-webkit-scrollbar-thumb:hover {
            background: var(--muted);
        }

        /* ===== 视觉隐藏类：仅供屏幕阅读器的 h1 等使用（不影响现有布局） ===== */
        .pm-sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            margin: -1px;
            padding: 0;
            overflow: hidden;
            clip: rect(0 0 0 0);
            white-space: nowrap;
            border: 0;
        }
