.sem-jobs,.sem-details{--sem-blue:#183d62;--sem-ink:#24364b;--sem-line:#dbe3ec;--sem-soft:#f3f6f9;color:var(--sem-ink);line-height:1.6;box-sizing:border-box}
.sem-jobs *,.sem-details *{box-sizing:border-box}
.sem-jobs .sem-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:end;gap:16px;background:var(--sem-soft);border:1px solid var(--sem-line);border-radius:12px;padding:22px;margin-bottom:24px}
.sem-jobs .sem-filters label{display:flex;flex:1 1 200px;flex-direction:column;gap:6px;font-weight:600}
.sem-jobs .sem-filters input,.sem-jobs .sem-filters select{width:100%;min-width:0;min-height:44px;background:white;color:#24364b;border:1px solid #9babbc;border-radius:6px;padding:9px 12px;font:inherit}
.sem-jobs .sem-filter-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;grid-column:1/-1}
.sem-jobs .sem-filter-help{grid-column:1/-1;font-size:.875rem;line-height:1.5;margin:0;color:#465b70}
.sem-jobs .sem-error{border-left:4px solid #a03222;padding:12px;background:#fff3f0;color:#7c2318}
.sem-jobs .sem-date,.sem-jobs .sem-location{font-size:.875rem;color:#465b70}
.sem-jobs .sem-filters button,.sem-details .sem-button{display:inline-block;min-height:44px;padding:10px 18px;border:0;border-radius:6px;background:var(--sem-blue);color:white;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.sem-jobs .sem-count{font-size:1.05rem;font-weight:600}
.sem-jobs .sem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px}
.sem-jobs .sem-card{display:flex;flex-direction:column;border:1px solid var(--sem-line);border-radius:12px;padding:0;overflow:hidden;background:#fff;box-shadow:0 3px 12px #17355008;min-width:0;overflow-wrap:anywhere}
.sem-jobs .sem-card-header{background:var(--sem-blue);padding:20px 24px;color:#fff}
.sem-jobs .sem-card .sem-card-header h2{font-size:1.3rem;line-height:1.35;margin:0;color:#fff}
.sem-jobs .sem-card .sem-card-header h2 a{color:#fff}
.sem-jobs .sem-card-body{padding:20px 24px;flex:1}
.sem-jobs .sem-source strong{font-weight:700}
.sem-jobs .sem-card h2 a{color:inherit;text-decoration:none}
.sem-jobs .sem-card h2 a:hover{text-decoration:underline}
.sem-jobs .sem-card p{margin:0 0 12px}
.sem-jobs .sem-company{font-weight:600}
.sem-jobs .sem-more{display:block;margin-top:auto;padding:14px 24px;border-top:1px solid var(--sem-line);background:#e8eff6;font-weight:700;color:var(--sem-blue);text-decoration:none}
.sem-jobs .sem-more:hover{background:#dce7f2;text-decoration:underline}
.sem-jobs .sem-badge{display:inline-block;margin-bottom:10px;align-self:flex-start;border-radius:4px;padding:3px 8px;background:#e9f2ed;color:#245a3b;font-size:.8rem;font-weight:600}
.sem-jobs .sem-note,.sem-details .sem-note{font-size:.875rem;color:#465b70;margin-top:24px}
.sem-jobs .sem-pagination{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.sem-jobs .sem-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--sem-line);border-radius:6px;padding:8px 12px}
.sem-jobs .sem-pagination .current{background:var(--sem-blue);color:white}
.sem-details dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;padding:24px;margin:24px 0;background:var(--sem-soft);border-radius:12px}
.sem-details dt{font-size:.85rem;font-weight:600;color:#465b70}
.sem-details dd{margin:3px 0 0;font-weight:600;overflow-wrap:anywhere}
.sem-jobs :is(a,button,input,select):focus-visible,.sem-details a:focus-visible{outline:3px solid #a85b08;outline-offset:3px}
.sem-jobs .screen-reader-text,.sem-details .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
@media(max-width:600px){.sem-jobs .sem-filters{padding:16px}.sem-jobs .sem-card .sem-card-header,.sem-jobs .sem-card-body{padding:18px}.sem-jobs .sem-more{padding:14px 18px}.sem-jobs .sem-filters button{width:100%}}
