.jobs-page { max-width: 1120px; }
.jobs-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.jobs-heading .page-intro { margin-bottom: 0; }
.jobs-update { margin: 0 0 16px; color: #52636c; font-size: 0.86rem; }
.jobs-error { margin: 0 0 20px; padding: 14px 18px; color: #70313a; background: #fff7f7; border: 1px solid #d8a5a7; border-radius: 8px; }
.jobs-empty { max-width: 640px; padding: 34px 36px; background: #fff; border: 1px solid #dce2e4; border-radius: 14px; }
.jobs-empty h2 { margin-bottom: 10px; }
.jobs-empty p { max-width: 55ch; margin-bottom: 24px; color: #52636c; line-height: 1.55; }
.jobs-list { background: #fff; border: 1px solid #dce2e4; border-radius: 14px; overflow: hidden; }
.jobs-columns, .job-row { display: grid; grid-template-columns: minmax(160px, 2fr) minmax(120px, 1.2fr) minmax(100px, 1fr) minmax(125px, 1.3fr) minmax(125px, 1.3fr); gap: 16px; align-items: center; }
.jobs-columns { padding: 14px 24px; color: #52636c; background: #f1f4f3; border-bottom: 1px solid #dce2e4; font-size: 0.77rem; font-weight: 700; }
.jobs-list ol { margin: 0; padding: 0; list-style: none; }
.job-row { min-width: 0; padding: 20px 24px; border-bottom: 1px solid #e6eaeb; font-size: 0.88rem; }
.job-row:last-child { border-bottom: 0; }
.job-row > div { min-width: 0; overflow-wrap: anywhere; }
.job-matter { display: block; font-weight: 700; color: #1c303d; }
.job-identity { color: inherit; text-decoration: none; }
.job-identity:hover .job-matter { color: #155277; text-decoration: underline; text-underline-offset: 0.16em; }
.job-id { display: block; margin-top: 5px; color: #52636c; font-size: 0.78rem; font-variant-numeric: tabular-nums; }
.job-cell-label { display: none; }
.job-state { display: inline-block; max-width: 100%; padding: 6px 10px; color: #17455f; background: #e9f1f4; border-radius: 6px; font-size: 0.79rem; font-weight: 700; }
.job-state[data-state="complete"] { color: #24563e; background: #e7f1eb; }
.job-state[data-state="needs_attention"] { color: #783d24; background: #f9ede6; }
.job-submitted { color: #52636c; font-variant-numeric: tabular-nums; }

@media (max-width: 760px) {
  .jobs-heading { align-items: start; flex-direction: column; }
  .jobs-columns { display: none; }
  .job-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
  .job-row > div:first-child { grid-column: 1 / -1; }
  .job-cell-label { display: block; margin-bottom: 5px; color: #52636c; font-size: 0.74rem; font-weight: 600; }
}

@media (max-width: 480px) {
  .session-tools { margin-left: auto; }
  .jobs-heading .button { width: 100%; }
  .job-row { padding: 20px; }
  .jobs-empty { padding: 25px 22px; }
}
