/* ===== 职位详情页（2026-09-28 新增）=====
   后端早就有 index/jobDetail 与 index/submitResume，前端一直没接，
   join.html 的"立即投递"按钮点了还是跳回 join.html 自己。这里补上详情 + 投递。
   取值全部走设计令牌，跟随深色主题。 */

.job-detail-grid{
  display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2rem;align-items:start;
}
.job-detail-main{min-width:0}
.job-detail-main .detail-body h3{margin:1.6rem 0 .6rem;font-size:var(--fs-lg);color:var(--text-primary)}
.job-detail-main .detail-body ul{padding-left:1.2rem;margin-bottom:1rem}
.job-detail-main .detail-body li{margin-bottom:.4rem;color:var(--text-secondary)}

.job-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.2rem}
.job-tags span{
  background:rgba(var(--primary-rgb),.1);color:var(--primary);
  padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:var(--fs-sm);
}

.job-empty{color:var(--text-secondary);padding:2rem 0}
.job-empty a{color:var(--accent);text-decoration:none}

.job-apply-card{
  background:var(--bg-card);border:1px solid rgba(var(--primary-rgb),.18);
  border-radius:var(--radius-lg);padding:1.5rem;position:sticky;top:96px;
}
.job-apply-card h2{font-size:var(--fs-lg);margin-bottom:1rem;color:var(--text-primary)}
.job-apply-card .field{display:block;margin-bottom:1rem}
.job-apply-card .field>span{
  display:block;margin-bottom:.35rem;font-size:var(--fs-sm);color:var(--text-secondary);
}
.job-apply-card .field em{color:var(--danger,#ff4d4f);font-style:normal}
.job-apply-card input,
.job-apply-card textarea{
  width:100%;box-sizing:border-box;padding:.6rem .75rem;
  background:rgba(255,255,255,.04);color:var(--text-primary);
  border:1px solid rgba(var(--primary-rgb),.22);border-radius:var(--radius-sm);
  font-size:var(--fs-sm);font-family:inherit;
}
.job-apply-card input:focus,
.job-apply-card textarea:focus{outline:none;border-color:var(--primary);box-shadow:var(--focus-ring)}
.job-apply-card button[type="submit"]{width:100%;margin-top:.25rem}
.job-apply-card button[disabled]{opacity:.6;cursor:not-allowed}
.job-apply-tip{margin-top:.85rem;font-size:var(--fs-xs);color:var(--text-muted);line-height:1.6}
.job-apply-tip a{color:var(--accent);text-decoration:none}

@media(max-width:900px){
  .job-detail-grid{grid-template-columns:1fr}
  .job-apply-card{position:static}
}
