.ptj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.job-card{border:1px solid #eee;padding:16px;border-radius:12px}
.job-card.featured{border-color:#333}
.job-card .meta{font-size:12px;opacity:.8;gap:8px;display:flex;flex-wrap:wrap}
.job-card .btn{display:inline-block;padding:8px 12px;border:1px solid #333;border-radius:8px;text-decoration:none}
.ptj-filter{display:flex;gap:8px;margin:16px 0}
.ptj-submit label,.ptj-auth label,.ptj-apply label{display:block;margin:10px 0}
.notice{padding:12px;border:1px solid #ddd;background:#fafafa;border-radius:8px;margin:12px 0}
.btn{display:inline-block;padding:8px 12px;border:1px solid #333;border-radius:8px;text-decoration:none;margin-right:8px}
.ptj-table{width:100%;border-collapse:collapse;margin:10px 0}
.ptj-table th,.ptj-table td{border:1px solid #e8e8e8;padding:8px;text-align:left;vertical-align:top}
.inline{display:flex;gap:6px;align-items:center}
.ptj-msg .thread .bubble{border:1px solid #eee;border-radius:8px;padding:8px;margin:6px 0}
