.jobs-header { padding-bottom: 1rem; }
.jobs-browse { padding-top: .75rem; padding-bottom: .5rem; }
.jobs-browse h2 { font-size: 1rem; margin: 0 0 .5rem; }
.jobs-browse p { margin: .5rem 0; line-height: 1.8; }
.jobs-layout { display: grid; grid-template-columns: 17rem minmax(0,1fr); gap: 2rem; }
.jobs-filters { display: flex; flex-direction: column; gap: .6rem; align-self: start; padding: 1.25rem; border: 1px solid var(--line); background: var(--surface); }
.jobs-filters h2 { margin: 0 0 .5rem; font-size: 1.25rem; }
.jobs-filters label { font-size: .8rem; font-weight: 700; text-transform: uppercase; margin-top: .5rem; }
.jobs-filters input, .jobs-filters select { width: 100%; min-width: 0; min-height: 2.8rem; }
.jobs-filters button { margin-top: 1rem; }
.job-card { display: flex; gap: 1.5rem; justify-content: space-between; align-items: center; padding: 1.5rem; margin-bottom: 1rem; background: var(--surface); border: 1px solid var(--line); }
.job-card > div { min-width: 0; }
.job-card h3 { font-size: 1.35rem; margin: .4rem 0; }
.job-card h3 a { text-decoration: none; }
.job-card h3 a:hover { text-decoration: underline; }
.job-card p { margin: .4rem 0; overflow-wrap: anywhere; }
.job-location { font-weight: 600; }
.job-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin: .75rem 0; }
.job-tags span { border: 1px solid var(--line); padding: .2rem .5rem; font-size: .8rem; }
.job-apply { flex-shrink: 0; }
.job-card .source-note { font-size: .8rem; margin-top: 1rem; }
.jobs-pagination { display: flex; flex-wrap: wrap; gap: 1.5rem; justify-content: center; padding: 1.5rem 0; }
.jobs-source { border-top: 1px solid var(--line); padding-top: 1.5rem; margin-top: 2rem; }
.job-empty { padding: 2rem; border: 1px solid var(--line); }
@media(max-width:850px) { .jobs-layout { grid-template-columns: minmax(0,1fr); } }
@media(max-width:600px) { .job-card { align-items: start; flex-direction: column; padding: 1.25rem; } }
