.sjp-wrapper { max-width: 100%; margin: 20px 0; }

.sjp-search-bar { display:flex; gap:8px; margin-bottom:16px; }
.sjp-search-bar input[type="text"] {
    flex:1;
    padding:10px 14px;
    border:1px solid #ccc;
    border-radius:4px;
    font-size:15px;
}
.sjp-search-bar button {
    background:#0b3d91;
    color:#fff;
    border:none;
    padding:10px 20px;
    border-radius:4px;
    cursor:pointer;
    font-size:15px;
}
.sjp-search-bar button:hover { background:#092e6e; }

.sjp-categories { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.sjp-categories a {
    background:#fff;
    border:1px solid #d8dde3;
    color:#0b3d91;
    padding:6px 14px;
    border-radius:20px;
    font-size:13px;
    text-decoration:none;
}
.sjp-categories a.sjp-active, .sjp-categories a:hover { background:#0b3d91; color:#fff; }

.sjp-job-list {
    background:#fff;
    border-radius:6px;
    overflow:hidden;
    box-shadow:0 1px 4px rgba(0,0,0,0.08);
    border:1px solid #eef0f2;
}
.sjp-job-row {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:16px 20px;
    border-bottom:1px solid #eef0f2;
    text-decoration:none !important;
    color:inherit;
}
.sjp-job-row:last-child { border-bottom:none; }
.sjp-job-row:hover { background:#f8faff; }
.sjp-job-title { font-weight:600; color:#0b3d91; font-size:16px; }
.sjp-job-meta { font-size:13px; color:#666; margin-top:4px; }
.sjp-badge {
    background:#e7f3ea;
    color:#1c7c33;
    padding:4px 10px;
    border-radius:12px;
    font-size:12px;
    font-weight:600;
    white-space:nowrap;
}
.sjp-badge.sjp-closed { background:#fbe7e7; color:#b32020; }

/* Single job page */
.sjp-job-detail { margin-bottom: 20px; }
.sjp-detail-table { width:100%; border-collapse:collapse; margin-bottom:20px; }
.sjp-detail-table td { padding:10px; border-bottom:1px solid #eef0f2; font-size:14px; }
.sjp-detail-table td:first-child { font-weight:600; width:200px; color:#333; }
.sjp-apply-btn {
    display:inline-block;
    background:#1c7c33;
    color:#fff !important;
    padding:12px 24px;
    border-radius:4px;
    text-decoration:none !important;
    margin-top:16px;
    font-weight:600;
}
.sjp-apply-btn:hover { background:#155f27; }

@media (max-width: 600px) {
    .sjp-job-row { flex-direction:column; align-items:flex-start; gap:8px; }
    .sjp-detail-table td:first-child { width:120px; }
}
