.jobs-page{max-width:820px}
.jobs-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.jobs-filter{padding:7px 14px;border:1px solid var(--line-strong,var(--line));border-radius:999px;background:var(--surface);color:var(--ink-soft);font:inherit;font-size:.86rem;cursor:pointer}
.jobs-filter.is-active{background:var(--btn-bg,var(--ink));color:var(--btn-ink,var(--bg));border-color:transparent}
.jobs-list{display:grid;gap:14px;margin:22px 0}
.job-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.job-card[hidden]{display:none}
.job-type{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent-text)}
.job-title{margin:8px 0 4px;font-size:1.15rem;letter-spacing:-.02em}
.job-meta{margin:0;color:var(--muted);font-size:.86rem}
.job-meta a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.job-desc{margin:12px 0 16px;line-height:1.65;font-size:.92rem;color:var(--ink-soft);overflow-wrap:anywhere}
.jobs-empty{padding:22px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);text-align:center}
.jobs-post{margin:26px 0;padding:clamp(16px,3vw,26px);border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.jobs-post h2{margin:0 0 8px;font-size:1.3rem;letter-spacing:-.03em}
.jobs-note{font-size:.86rem;color:var(--muted);line-height:1.6}
.jobs-form{display:grid;gap:12px;margin-top:14px}
.jobs-form label{display:grid;gap:6px;font-size:.86rem;font-weight:700}
.jobs-form input,.jobs-form select,.jobs-form textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:11px 12px;background:var(--bg);color:var(--ink);font:inherit;font-weight:400}
.jobs-form textarea{resize:vertical}
.jobs-msg{font-size:.86rem;margin:0}.jobs-msg.is-error{color:var(--danger,#b42318)}.jobs-msg.is-ok{color:var(--accent-text)}
