.project-page { background:#f5f7fb; padding:28px 0 40px; color:#1f2933; }
.project-wrap { width:1200px; margin:0 auto; }
.project-list-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:22px; }
.project-list-head h1 { margin:0 0 8px; font-size:28px; font-weight:600; }
.project-list-head p { margin:0; color:#6b7280; }
.project-search { display:flex; gap:8px; }
.project-search input { width:240px; height:38px; padding:0 12px; border:1px solid #d8dee9; background:#fff; }
.project-search button { height:40px; padding:0 20px; border:0; background:#1677ff; color:#fff; cursor:pointer; }
.project-filter-row { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 12px; }
.project-filter-row a { min-width:76px; height:34px; line-height:34px; padding:0 12px; background:#fff; color:#4b5563; text-align:center; text-decoration:none; border:1px solid #edf0f2; }
.project-filter-row a.on,.project-filter-row a:hover { color:#e74735; border-color:#f2b3aa; background:#fff6f4; }
.project-list { display:flex; flex-direction:column; gap:14px; }
.project-card { position:relative; display:flex; gap:18px; min-height:146px; padding:16px 150px 16px 16px; background:#fff; border:1px solid #e5e7eb; color:#1f2933; text-decoration:none; }
.project-card:hover { box-shadow:0 8px 24px rgba(15,23,42,.08); }
.project-cover { width:128px; height:104px; background:#e8edf5; overflow:hidden; flex-shrink:0; }
.project-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.project-cover-empty { height:100%; display:flex; align-items:center; justify-content:center; color:#64748b; font-size:22px; }
.project-card-body { flex:1; min-width:0; }
.project-card-title-row { display:flex; justify-content:space-between; gap:14px; }
.project-card h2 { margin:0 0 10px; font-size:22px; line-height:28px; max-height:56px; overflow:hidden; }
.project-area { flex-shrink:0; color:#64748b; font-size:14px; }
.project-card-desc { display:flex; align-items:center; gap:10px; min-height:28px; color:#7b8794; font-size:16px; }
.project-card-desc .category,.project-tags span { display:inline-block; height:24px; line-height:24px; padding:0 9px; border-radius:3px; background:#fff0ec; color:#ef5b44; font-size:14px; }
.project-tags { min-height:26px; margin:8px 0 4px; display:flex; flex-wrap:wrap; gap:8px; }
.project-tags span:nth-child(2n) { background:#eafaf5; color:#00a985; }
.project-tags span:nth-child(3n) { background:#eef2ff; color:#4f63d8; }
.project-price-line { margin-top:4px; color:#e74735; font-size:20px; font-weight:600; }
.project-company { margin-top:12px; color:#4b5563; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.project-vip { display:inline-block; margin-top:8px; height:24px; line-height:24px; padding:0 10px; color:#a855f7; background:#fbebff; border-radius:3px; font-size:14px; }
.project-card-extra { position:absolute; right:20px; top:52px; display:flex; flex-direction:column; gap:14px; align-items:flex-end; color:#6b7280; font-size:15px; }
.project-card-extra strong { color:#4b5563; font-size:20px; font-weight:500; }
.project-detail-layout { display:flex; gap:22px; align-items:flex-start; }
.project-detail-main { flex:1; min-width:0; }
.project-detail-side { width:320px; }
.project-detail-hero,.project-section,.project-company-box,.project-apply-box { background:#fff; border:1px solid #e5e7eb; }
.project-detail-hero { display:flex; padding:20px; gap:22px; }
.project-detail-cover { width:360px; height:240px; background:#e8edf5; overflow:hidden; flex-shrink:0; }
.project-detail-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.project-detail-summary h1 { margin:0 0 14px; font-size:28px; line-height:38px; font-weight:600; }
.project-detail-meta { display:flex; gap:16px; margin-bottom:16px; color:#1677ff; }
.detail-tags { margin:0 0 12px; }
.project-detail-summary p { line-height:26px; color:#4b5563; }
.project-detail-actions { margin-top:22px; display:flex; gap:10px; }
.project-btn { display:inline-block; padding:10px 18px; border:1px solid #1677ff; color:#1677ff; text-decoration:none; }
.project-btn-primary { background:#1677ff; color:#fff; }
.project-section { margin-top:18px; padding:22px; }
.project-section h2,.project-company-box h3,.project-apply-box h3 { margin:0 0 16px; font-size:20px; }
.project-info-grid { display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; }
.project-info-grid p { margin:0; padding:12px; background:#f8fafc; line-height:22px; }
.project-info-grid span { display:block; color:#7b8794; margin-bottom:6px; }
.project-info-grid strong { color:#1f2933; font-weight:500; }
.project-show-item { display:flex; align-items:center; justify-content:space-between; padding:14px; border:1px solid #eef2f7; background:#f8fafc; }
.project-show-item strong { display:block; margin-bottom:6px; font-size:17px; }
.project-show-item p { margin:0; color:#7b8794; }
.project-show-item span { color:#e74735; font-size:20px; font-weight:600; }
.project-rich-text { line-height:1.8; color:#333; }
.project-rich-text img { max-width:100%; height:auto; }
.project-detail-images { margin-top:14px; }
.project-detail-images img { max-width:100%; height:auto; display:block; margin:12px auto 0; }
.project-company-box,.project-apply-box { padding:18px; margin-bottom:18px; }
.project-company-head { display:flex; gap:12px; align-items:center; }
.project-company-head img { width:58px; height:58px; object-fit:cover; border:1px solid #e5e7eb; }
.project-company-head strong { display:block; font-size:16px; margin-bottom:6px; }
.project-company-head p,.project-company-contact p { margin:0 0 8px; color:#64748b; line-height:22px; }
.project-company-contact { margin-top:14px; padding-top:14px; border-top:1px solid #eef2f7; }
.project-contact-btn { display:block; margin-top:14px; text-align:center; }
.project-risk-notice { margin-top:12px; padding:12px; background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; }
.project-risk-notice strong { display:block; margin-bottom:6px; color:#c2410c; }
.project-apply-box input,.project-apply-box textarea { width:100%; box-sizing:border-box; border:1px solid #d8dee9; padding:10px; margin-bottom:10px; }
.project-apply-box textarea { height:86px; resize:vertical; }
.project-apply-box button { width:100%; height:40px; border:0; background:#1677ff; color:#fff; cursor:pointer; }
.project-applied { padding:14px; background:#f0f7ff; color:#1677ff; text-align:center; }
