        /* ===== JOB LISTING PAGE STYLES ===== */

        /* 頁首操作列：類別 tabs + 刊登按鈕 */
        .job-toolbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
            flex-wrap: wrap;
            margin-bottom: 28px;
        }

        /* 類別 Tabs */
        .job-tabs {
            display: flex;
            gap: 6px;
            flex-wrap: wrap;
        }

        .job-tab {
            padding: 8px 22px;
            font-size: 14px;
            font-weight: 600;
            font-family: inherit;
            border: 1.5px solid #c8d8e8;
            border-radius: 20px;
            background: #fff;
            color: #427096;
            cursor: pointer;
            transition: all 0.18s;
            white-space: nowrap;
        }

        .job-tab:hover {
            border-color: #427096;
            background: #f0f5fb;
        }

        .job-tab.active {
            background: #427096;
            border-color: #427096;
            color: #fff;
        }

        /* 職缺刊登按鈕 */
        .btn-post-job {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 10px 22px;
            background: #004c99;
            color: #fff;
            font-size: 14px;
            font-weight: 700;
            font-family: inherit;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            text-decoration: none;
            transition: background 0.18s, box-shadow 0.18s;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .btn-post-job:hover {
            background: #003a7a;
            box-shadow: 0 3px 10px rgba(0,76,153,.22);
            color: #fff;
            text-decoration: none;
        }

        .btn-post-job svg {
            width: 16px;
            height: 16px;
            flex-shrink: 0;
        }

        /* 搜尋列 */
        .job-search-bar {
            display: flex;
            gap: 10px;
            margin-bottom: 24px;
            flex-wrap: wrap;
        }

        .job-search-input {
            flex: 1;
            min-width: 200px;
            padding: 10px 16px;
            font-size: 14px;
            font-family: inherit;
            border: 1.5px solid #c8d8e8;
            border-radius: 6px;
            color: #333;
            transition: border-color 0.18s;
        }

        .job-search-input:focus {
            outline: none;
            border-color: #427096;
        }

        .job-search-btn {
            padding: 10px 20px;
            font-size: 14px;
            font-weight: 600;
            font-family: inherit;
            background: #427096;
            color: #fff;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            transition: background 0.18s;
            white-space: nowrap;
        }

        .job-search-btn:hover {
            background: #335872;
        }

        /* 結果統計 */
        .job-result-info {
            font-size: 13px;
            color: #888;
            margin-bottom: 20px;
        }

        .job-result-info strong {
            color: #1a3a52;
        }

        /* 職缺卡片 Grid */
        .job-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
        }

        /* 單張職缺卡片 */
        .job-card {
            background: #fff;
            border: 1.5px solid #e5eaf0;
            border-radius: 10px;
            padding: 24px 26px;
            display: flex;
            flex-direction: column;
            gap: 0;
            transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
            position: relative;
        }

        .job-card:hover {
            border-color: #427096;
            box-shadow: 0 6px 22px rgba(66,112,150,.12);
            transform: translateY(-2px);
        }

        /* 類型徽章 */
        .job-type-badge {
            display: inline-block;
            font-size: 11px;
            font-weight: 700;
            padding: 3px 10px;
            border-radius: 3px;
            white-space: nowrap;
            align-self: flex-start;
            margin-bottom: 12px;
        }

        .job-type-badge.full-time {
            background: #e3f0fb;
            color: #1565c0;
        }

        .job-type-badge.part-time {
            background: #fff8e1;
            color: #e65100;
        }

        .job-type-badge.intern {
            background: #e8f5e9;
            color: #2e7d32;
        }

        /* 職位標題 */
        .job-card-title {
            font-size: 17px;
            font-weight: 700;
            color: #1a3a52;
            line-height: 1.4;
            margin-bottom: 4px;
        }

        .job-card-title a {
            color: inherit;
            text-decoration: none;
        }

        .job-card-title a:hover {
            color: #004c99;
            text-decoration: none;
        }

        /* 公司名稱 */
        .job-card-company {
            font-size: 13px;
            font-weight: 600;
            color: #427096;
            margin-bottom: 14px;
        }

        /* 職缺資訊列 */
        .job-card-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 10px 18px;
            margin-bottom: 16px;
            padding: 12px 14px;
            background: #f8fafc;
            border-radius: 6px;
            border: 1px solid #edf1f6;
        }

        .job-meta-item {
            display: flex;
            align-items: center;
            gap: 5px;
            font-size: 13px;
            color: #555;
        }

        .job-meta-item svg {
            width: 13px;
            height: 13px;
            flex-shrink: 0;
            color: #427096;
        }

        .job-meta-label {
            color: #888;
            font-size: 12px;
        }

        /* 截止日期警示 */
        .job-deadline-soon {
            color: #d32f2f !important;
            font-weight: 600;
        }

        /* 職缺描述摘要 */
        .job-card-excerpt {
            font-size: 13px;
            color: #666;
            line-height: 1.7;
            flex: 1;
            margin-bottom: 18px;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        /* 卡片底部 */
        .job-card-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 10px;
            padding-top: 14px;
            border-top: 1px solid #edf1f6;
            flex-wrap: wrap;
        }

        .job-card-date {
            font-size: 12px;
            color: #aaa;
        }

        .btn-job-detail {
            display: inline-flex;
            align-items: center;
            gap: 5px;
            padding: 7px 16px;
            font-size: 13px;
            font-weight: 600;
            font-family: inherit;
            color: #004c99;
            background: #e8f0fb;
            border: 1.5px solid #c0d4e8;
            border-radius: 5px;
            cursor: pointer;
            text-decoration: none;
            transition: background 0.15s, border-color 0.15s, color 0.15s;
            white-space: nowrap;
        }

        .btn-job-detail:hover {
            background: #004c99;
            border-color: #004c99;
            color: #fff;
            text-decoration: none;
        }

        .btn-job-detail svg {
            width: 12px;
            height: 12px;
        }

        /* 空狀態 */
        .job-empty {
            text-align: center;
            padding: 60px 20px;
            color: #aaa;
            display: none;
        }

        .job-empty svg {
            width: 48px;
            height: 48px;
            margin-bottom: 12px;
            opacity: .4;
        }

        .job-empty p {
            font-size: 15px;
        }

        /* ===== 刊登說明 Banner ===== */
        .job-post-banner {
            background: linear-gradient(135deg, #1a3a52 0%, #427096 100%);
            border-radius: 10px;
            padding: 32px 40px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            flex-wrap: wrap;
            margin-bottom: 40px;
        }

        .job-post-banner-text h3 {
            font-size: 18px;
            font-weight: 700;
            color: #fff;
            margin-bottom: 6px;
        }

        .job-post-banner-text p {
            font-size: 14px;
            color: rgba(255,255,255,.78);
            line-height: 1.7;
            margin: 0;
        }

        .btn-post-job-white {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            padding: 12px 28px;
            background: #fff;
            color: #004c99;
            font-size: 14px;
            font-weight: 700;
            font-family: inherit;
            border: none;
            border-radius: 6px;
            cursor: pointer;
            text-decoration: none;
            transition: background 0.18s, box-shadow 0.18s;
            white-space: nowrap;
            flex-shrink: 0;
        }

        .btn-post-job-white:hover {
            background: #e8f0fb;
            box-shadow: 0 4px 14px rgba(0,0,0,.18);
            color: #004c99;
            text-decoration: none;
        }

        .btn-post-job-white svg {
            width: 16px;
            height: 16px;
            flex-shrink: 0;
        }

        /* ===== RESPONSIVE ===== */
        @media (max-width: 768px) {
            .job-grid {
                grid-template-columns: 1fr;
            }

            .job-toolbar {
                flex-direction: column;
                align-items: flex-start;
            }

            .job-post-banner {
                padding: 24px 22px;
                flex-direction: column;
                align-items: flex-start;
            }

            .btn-post-job-white {
                width: 100%;
                justify-content: center;
            }
        }

        @media (max-width: 480px) {
            .job-card {
                padding: 18px 16px;
            }

            .job-card-meta {
                gap: 8px 14px;
            }
        }
