/* Public filters and cards have explicit light-surface colors at every width. */
.jobs-schoolpro.job-board{display:block;background:#ffffff;color:#17263b;border-color:#c7d2df;min-width:0}
.jobs-schoolpro.job-board :is(h2,h3,summary,label,legend){color:#17263b}
.jobs-schoolpro.job-board p{color:#485a70}
.jobs-schoolpro.job-board .page-kicker{color:#276548}
.job-board-header{margin-bottom:24px}.job-board-header h2{margin:10px 0!important}
.job-board-filters{background:#f4f7fa;border:1px solid #c7d2df;border-radius:14px;padding:22px;min-width:0}
.job-board-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.job-board-title-filter{grid-column:1/-1}
.job-board-filters label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:650;line-height:1.5;min-width:0}
.job-board-filters :is(input:not([type=checkbox]),select){width:100%;min-width:0;box-sizing:border-box;min-height:48px;border:1px solid #8595a9;border-radius:8px;padding:11px 12px;background:#fff;color:#17263b;-webkit-text-fill-color:#17263b;color-scheme:light;font-family:inherit;font-weight:400;line-height:1.5;font-size:16px}
.job-board-filters input::placeholder{color:#617187;-webkit-text-fill-color:#617187;opacity:1}
.job-board-filters fieldset{border:0;border-top:1px solid #c7d2df;padding:20px 0 0;margin:22px 0 0;min-width:0}
.job-board-filters legend{font-size:14px;font-weight:700;padding:0 12px 0 0}
.job-board-pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:8px}
.jobs-schoolpro.job-board .job-board-help{font-size:12px;line-height:1.7;color:#485a70}
.job-board-filters .job-board-unknown{display:flex;flex-direction:row;align-items:flex-start;font-weight:500;font-size:13px;gap:10px;cursor:pointer;margin-top:14px}
.job-board-unknown input{width:20px;height:20px;flex:0 0 20px;margin-top:1px;accent-color:#24618b}
.job-board-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;flex-wrap:wrap}
.job-board-filter-actions p{margin:0!important;font-weight:650;font-size:13px!important}
.jobs-schoolpro.job-board .job-board-error{color:#8d2431;font-weight:650;font-size:13px}
.job-board-filters [aria-invalid=true]{border:2px solid #9c2c3a}
.job-board-results{display:grid;gap:20px;margin-top:24px}
.job-board-result{position:relative;padding:24px;border:1px solid #c7d2df;border-radius:14px;background:#fff;min-width:0;overflow-wrap:anywhere}
.job-board-result-heading{display:flex;align-items:flex-start;gap:16px;padding-right:44px;min-width:0}
.job-board-result-heading>div{min-width:0}.job-board-result .job-public-logo{flex:0 0 64px}
.job-board-result :is(h2,h3){font-size:25px;line-height:1.3;margin:0 0 8px}.job-board-result-heading p{margin:0!important}
.jobs-schoolpro.job-board .job-board-salary{font-weight:700;color:#244e64}
.job-board-result details{margin:15px 0}.job-board-result summary{font-weight:650;cursor:pointer;min-height:32px;line-height:1.6}
.job-board-result .job-public-facts dt{color:#485a70}
.job-board-result-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px}
.jobs-schoolpro.job-board :is(a:not(.button),.shortlists-job-status a){color:#245a80;text-decoration:underline;text-underline-offset:3px}
.jobs-schoolpro.job-board .button{background:#173e60;border-color:#173e60;color:#fff;min-height:46px}
.jobs-schoolpro.job-board .button.outline{background:#fff;border-color:#758da3;color:#245a80}
.jobs-schoolpro.job-board .button:not(:disabled):hover{background:#102f4b;color:#fff}
.jobs-schoolpro.job-board .button.outline:not(:disabled):hover{background:#eaf2f8;color:#245a80}
.job-board-result .saved-job-bookmark{position:absolute;top:20px;right:20px;background:#f2f6fa;color:#245a80;border-color:#8b9eb2}
.job-board-result .saved-job-bookmark.saved{background:#173e60;color:#fff}
.job-board-result .saved-job-bookmark:disabled{opacity:1;background:#edf0f4;color:#536274}
.job-board-empty{padding:22px;margin-top:22px;background:#f4f7fa;border:1px dashed #8b9eb2;border-radius:12px;color:#485a70;line-height:1.7}
.jobs-schoolpro.job-board [hidden]{display:none!important}
.jobs-schoolpro.job-board :is(a,button,input,select,summary):focus-visible{outline:3px solid #24618b;outline-offset:3px}
@media(max-width:600px){.jobs-schoolpro.job-board{padding:18px}.job-board-filters{padding:16px}.job-board-filter-grid,.job-board-pay-grid{grid-template-columns:1fr}.job-board-title-filter{grid-column:auto}.job-board-result{padding:18px}.job-board-result-heading{gap:12px}.job-board-result :is(h2,h3){font-size:22px}.job-board-result .job-public-logo{flex-basis:48px;width:48px;height:48px}.job-board-result .saved-job-bookmark{top:14px;right:14px}.job-board-filter-actions{align-items:stretch;flex-direction:column}.job-board-filter-actions .button{width:100%;justify-content:center}.job-board-result-footer{align-items:stretch;flex-direction:column}.job-board-result-footer .button{width:100%;justify-content:center}}
/* The hiring prompt is intentionally dark. Never inherit page-heading ink. */
.jobs-page .job-post-entry{background:#152530;color:#f5f8fc}
.jobs-page .job-post-entry :is(h2,h3){color:#f5f8fc}
.jobs-page .job-post-entry p{color:#c6d5e1}
.jobs-page .job-post-entry :is(.page-kicker,.job-post-entry-actions span){color:#b4c7d5}
.jobs-page .job-post-entry .button{background:#173e60;border-color:#567e9b;color:#ffffff}
.jobs-page .job-post-entry .button:hover{background:#102f4b;color:#ffffff}
.jobs-page .jobs-heading .page-kicker,.jobs-page .jobs-footnote{color:#526478}
.jobs-page .jobs-schoolpro:not(.job-board) a:not(.button){color:#bfe3ff;text-decoration:underline;text-underline-offset:3px}
.jobs-page .jobs-schoolpro:not(.job-board) .button{background:#155b3b;border-color:#4b9270;color:#ffffff}
.jobs-page .jobs-schoolpro:not(.job-board) .button:hover{background:#11482f;color:#ffffff}
/* Listings first: a compact board header, then filters and actual public jobs. */
.jobs-listings-page{max-width:1200px;margin:0 auto}
.job-board-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 24px}
.job-board-page-heading>div{min-width:0}
.job-board-page-heading h1{font-size:clamp(27px,3vw,40px);line-height:1.15;letter-spacing:-.025em;color:#17263b;margin:0 0 10px}
.job-board-page-heading p{font-size:15px;line-height:1.6;color:#485a70;max-width:760px;margin:0}
.job-board-page-heading>.button{flex:0 0 auto;min-height:46px;background:#173e60;border:1px solid #173e60;color:#fff;white-space:nowrap}
.job-board-page-heading>.button:hover{background:#102f4b;color:#fff}
.jobs-listings-page .jobs-schoolpro.job-board{border:0;padding:0;background:transparent;margin:0;box-shadow:none}
.job-board-filter-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,1.5fr);gap:14px}
.job-board-title-filter{grid-column:auto}
.job-board-salary-options{margin-top:14px}
.job-board-salary-options>summary{cursor:pointer;min-height:36px;font-size:14px;font-weight:650;line-height:36px;color:#245a80}
.job-board-salary-options>summary span{font-size:12px;font-weight:600;color:#485a70}
.job-board-salary-options fieldset{margin:8px 0 0;padding:12px 0 0}
.job-board-filter-actions{margin-top:8px;gap:12px}
.job-board-filter-actions .button{min-height:40px;padding:8px 14px;font-size:13px}
.job-board-secondary{display:flex;flex-wrap:wrap;gap:14px 24px;margin:28px 0 0;border-top:1px solid #c7d2df;padding-top:20px;font-size:14px}
.job-board-secondary a{color:#245a80;text-decoration:underline;text-underline-offset:3px;line-height:1.6}
.job-board-page-heading a:focus-visible,.job-board-secondary a:focus-visible{outline:3px solid #24618b;outline-offset:4px}
@media(max-width:760px){.job-board-page-heading{gap:16px;align-items:flex-start}.job-board-page-heading p{font-size:14px}.job-board-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-board-title-filter{grid-column:1/-1}}
@media(max-width:600px){.job-board-page-heading{flex-wrap:wrap;margin-bottom:18px}.job-board-page-heading h1{font-size:29px}.job-board-page-heading>.button{min-height:44px;padding:10px 16px}.jobs-listings-page .jobs-schoolpro.job-board{padding:0}.job-board-filters{padding:14px}.job-board-filter-grid{gap:12px}.job-board-filter-actions{flex-direction:row;align-items:center}.job-board-filter-actions .button{width:auto;min-height:44px}.job-board-filter-actions p{font-size:12px!important}.job-board-secondary{gap:12px 20px;margin-top:22px}.job-board-empty{padding:18px;margin-top:18px}}
@media(max-width:360px){.job-board-page-heading h1{font-size:27px}.job-board-filter-grid{grid-template-columns:1fr}.job-board-title-filter{grid-column:auto}}
