/* Jobs & Placement: shared, scoped presentation for public and staff journeys. */
.jobs-public, .jobs-workspace-page {
    --jobs-ink: #172338;
    --jobs-muted: #586980;
    --jobs-line: #e7edf4;
    --jobs-blue: #2563eb;
    --jobs-purple: #341c67;
    --jobs-input-bg: #f1f4fa;
    --jobs-input-border: #8796ae;
    color: var(--jobs-ink);
    font-size: 14px;
    line-height: 1.65;
}
.jobs-public { background: #f8fafc; padding-bottom: 56px; }
.jobs-public *, .jobs-workspace-page * { box-sizing: border-box; }
.jobs-public :is(h1,h2,h3,p), .jobs-workspace-page :is(h1,h2,h3,p) { margin: 0; color: inherit; }
.jobs-public a, .jobs-workspace-page a { text-decoration: none; }
.jobs-public h1, .jobs-workspace-page h1 { letter-spacing: -.04em; font-weight: 700; }
.jobs-public h2, .jobs-workspace-page h2 { font-size: 19px; font-weight: 650; letter-spacing: -.025em; line-height: 1.45; }
.jobs-public h3, .jobs-workspace-page h3 { font-size: 15px; font-weight: 650; line-height: 1.5; }
.jobs-container { width: min(1220px, calc(100% - 64px)); margin-inline: auto; }
.jobs-icon { width: 20px; height: 20px; display: inline-block; flex: 0 0 auto; vertical-align: middle; }
.jobs-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; color: #72549b !important; }
.jobs-muted { color: var(--jobs-muted) !important; font-size: 13px; }
.jobs-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid transparent; border-radius: 10px; padding: 11px 17px; min-height: 44px; font: inherit; font-size: 13px; font-weight: 600; line-height: 1.4; cursor: pointer; text-align: center; transition: background .16s, border-color .16s; }
.jobs-button .jobs-icon { width: 17px; height: 17px; }
.jobs-button-primary { background: var(--jobs-blue); color: #fff !important; }
.jobs-button-primary:hover { background: #1d4ed8; }
.jobs-button-soft { color: #2456b5 !important; background: #eff5ff; border-color: #e0eaff; }
.jobs-button-soft:hover { background: #e3ecff; }
.jobs-button-outline { background: #fff; color: #475569 !important; border-color: #dce4ef; }
.jobs-button-outline:hover { background: #f8fafc; border-color: #bac9dc; }
.jobs-button-danger { background: #fff1f2; color: #b42332 !important; border-color: #fecdd3; }
.jobs-button-small { min-height: 36px; padding: 8px 12px; font-size: 12px; }
.jobs-button-full { width: 100%; }
.jobs-button:disabled { opacity: .6; cursor: wait; }
.jobs-button[hidden] { display: none; }
:is(.jobs-public,.jobs-workspace-page) :is(a,button,input,textarea,select,summary,[tabindex]):focus-visible { outline: 2px solid #2563eb; outline-offset: 0; }
/* One hard-edged ring joins the matching border; never stack a global outline. */
:is(.jobs-public,.jobs-workspace-page) .workspace-form-ui :is(.workspace-input,.workspace-select-trigger,.workspace-select-search):is(:focus,:focus-visible),
:is(.jobs-public,.jobs-workspace-page) .workspace-form-ui .workspace-select-trigger[aria-expanded='true'],
.jobs-filter-select-menu.workspace-form-ui .workspace-select-search:is(:focus,:focus-visible) {
    outline: none !important; outline-offset: 0 !important;
    border-color: var(--jobs-control-focus,var(--jobs-blue,#2563eb)) !important;
    box-shadow: 0 0 0 1px var(--jobs-control-focus,var(--jobs-blue,#2563eb)) !important;
    background-color: #fff !important;
}
:is(.jobs-public,.jobs-workspace-page) .workspace-form-ui :is(.workspace-input,.workspace-select-trigger)[aria-invalid='true'] { --jobs-control-focus: #dc2626; }
:is(.jobs-public,.jobs-workspace-page) :is(a,button,input,textarea,select,summary),
.jobs-filter-select-menu :is(button,input) { transition: all 300ms ease-in-out; }
:is(.jobs-public,.jobs-workspace-page) :is(a,button,select,summary):not(:disabled),
.jobs-filter-select-menu button:not(:disabled) { cursor: pointer; }
:is(.jobs-public,.jobs-workspace-page) .workspace-form-ui :is(.workspace-input,.workspace-select-trigger,.workspace-select-search,.workspace-select-chevron),
.jobs-filter-select-menu.workspace-form-ui :is(.workspace-select-option,.workspace-select-search,.workspace-select-chevron) { transition: all 300ms ease-in-out; }
.jobs-text-link, .jobs-back { display: inline-flex; align-items: center; gap: 8px; color: #315c9d; font-size: 13px; font-weight: 600; }
.jobs-text-link:hover, .jobs-back:hover { color: #1d4ed8; }
.jobs-back { margin-bottom: 24px; color: #64748b; }
.jobs-back .jobs-icon { width: 17px; }
.jobs-panel { background: #fff; border: 1px solid var(--jobs-line); border-radius: 16px; padding: 26px; box-shadow: 0 2px 5px rgb(22 36 59 / 2%); min-width: 0; }
.jobs-panel + .jobs-panel { margin-top: 20px; }
.jobs-panel > h2 { margin-bottom: 16px; }
.jobs-panel > h3 { margin-top: 22px; margin-bottom: 8px; }
:is(.jobs-public,.jobs-workspace-page) .workspace-error { padding: 18px; border: 1px solid #f6caca; border-radius: 10px; background: #fff4f4; color: #992424; margin-bottom: 24px; }
:is(.jobs-public,.jobs-workspace-page) .workspace-error h2 { font-size: 16px; margin-bottom: 8px; }
:is(.jobs-public,.jobs-workspace-page) .workspace-error ul { padding-left: 20px; margin: 0; font-size: 12px; }
:is(.jobs-public,.jobs-workspace-page) .workspace-error a { color: inherit; text-decoration: underline; }
.jobs-badge { display: inline-flex; align-items: center; gap: 5px; border-radius: 6px; padding: 5px 9px; color: var(--jobs-muted); background: #f1f5f9; font-size: 10px; font-weight: 650; letter-spacing: 0; text-transform: none; white-space: nowrap; }
.jobs-badge .jobs-icon { width: 13px; height: 13px; }
.jobs-badge-green { color: #126b4d; background: #eaf8f1; }
.jobs-badge-blue { color: #2563b3; background: #edf4ff; }
.jobs-badge-amber { color: #946513; background: #fff6e6; }
.jobs-badge-red { color: #b42332; background: #fff1f2; }
.jobs-role-icon { display: grid; place-items: center; width: 52px; height: 52px; flex-shrink: 0; background: #f0ecfa; color: #7254b1; border-radius: 13px; }
.jobs-role-icon .jobs-icon { width: 26px; height: 26px; }
.jobs-hero { background: linear-gradient(118deg, #f0ecf8 0%, #f3f6ff 58%, #eef6fc 100%); border-bottom: 1px solid #e7e9f4; padding: 34px 0 30px; position: relative; }
.jobs-hero-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.jobs-hero h1 { font-size: clamp(32px, 3.4vw, 48px); line-height: 1.22; color: #241940; }
.jobs-hero h1 span { color: #7352ac; }
.jobs-hero > .jobs-container > p { color: #6b6882; font-size: 14px; margin-top: 12px; }
.jobs-search-bar { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; align-items: center; gap: 22px; padding: 15px 18px; margin-top: 28px; border: 1px solid #e5e6ee; border-radius: 14px; background: #fff; box-shadow: 0 6px 20px rgb(50 41 79 / 4%); }
.jobs-search-field + .jobs-search-field { border-left: 1px solid #e7edf4; padding-left: 24px; }
.jobs-search-field label { color: var(--jobs-muted); display: block; margin-bottom: 3px; font-size: 11px; font-weight: 500; }
.jobs-search-field > div { display: flex; align-items: center; gap: 10px; }
.jobs-search-field .jobs-icon { color: #8d99af; width: 18px; }
.jobs-search-field input { background: var(--jobs-input-bg); color: #27354a; border: 1px solid var(--jobs-input-border); border-radius: 9px; width: 100%; min-width: 0; padding: 10px 12px; min-height: 44px; font: inherit; font-size: 13px; }
.jobs-search-field input:hover:not(:focus) { border-color: #66758d; }
.jobs-search-field input:focus { background: #fff; border-color: var(--jobs-blue); }
.jobs-search-field input::placeholder { color: var(--jobs-muted); }
.jobs-search-bar .jobs-button { min-height: 48px; padding-inline: 25px; }
.jobs-hero-note { display: flex; align-items: center; gap: 7px; font-size: 11px; color: var(--jobs-muted); margin-top: 14px; }
.jobs-hero-note .jobs-icon { width: 15px; height: 15px; }
.jobs-board { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 30px; padding-block: 30px 42px; align-items: start; }
.jobs-filters { min-width: 0; }
.jobs-filter-disclosure { background: #fff; border: 1px solid var(--jobs-line); border-radius: 14px; }
.jobs-filter-disclosure summary { display: flex; align-items: center; gap: 9px; padding: 19px 20px; color: #34445b; font-size: 14px; font-weight: 650; list-style: none; cursor: pointer; }
.jobs-filter-disclosure summary::-webkit-details-marker { display: none; }
.jobs-filter-disclosure summary .jobs-icon { color: #7f90a8; width: 18px; }
.jobs-filter-count { background: #edf3ff; color: #2563eb; border-radius: 4px; padding: 2px 6px; font-size: 10px; }
.jobs-filter-body { padding: 4px 20px 20px; }
.jobs-filter-field { min-width: 0; }
.jobs-filter-field label { display: block; font-size: 12px; font-weight: 600; color: #495971; margin-bottom: 7px; }
.jobs-filter-field :is(input,select), .jobs-sort select { display: block; width: 100%; padding: 10px 12px; border: 1px solid var(--jobs-input-border); border-radius: 9px; min-height: 43px; background: var(--jobs-input-bg); color: #485970; font: inherit; font-size: 12px; }
.jobs-filter-body .jobs-filter-field { margin-bottom: 22px; }
.jobs-public [data-jobs-filter-selects] .workspace-select-trigger { min-height: 44px; border-radius: 12px; padding: 10px 12px; font-size: 12px; }
.jobs-public [data-jobs-filter-selects] .workspace-select-chevron { color: #66758d; }
.jobs-filter-select-menu.workspace-form-ui { z-index: 2110; --form-field-border: #8796ae; }
.jobs-filter-select-menu .workspace-select-option[aria-selected='true'],
.jobs-filter-select-menu .workspace-select-option[aria-selected='true'][data-highlighted='true'] { color: #2563eb; background: #eff6ff; }
.jobs-filter-select-menu .workspace-select-option-check { color: #2563eb; }
@media (max-width: 767px) {
    .jobs-public [data-jobs-filter-selects] .workspace-select-trigger { font-size: 16px; }
}
.jobs-clear { display: block; text-align: center; color: var(--jobs-muted); font-size: 12px; margin-top: 14px; }
.jobs-filter-help { padding: 23px 17px; color: var(--jobs-muted); }
.jobs-filter-help > .jobs-icon { color: #9a88ba; width: 26px; height: 26px; margin-bottom: 12px; }
.jobs-filter-help h3 { font-size: 14px; color: #50627d; }
.jobs-filter-help p { font-size: 12px; margin-top: 8px; color: var(--jobs-muted); }
.jobs-filter-help a { display: inline-flex; gap: 8px; align-items: center; color: #596f96; margin-top: 13px; font-size: 12px; font-weight: 600; }
.jobs-filter-help a .jobs-icon { width: 15px; }
.jobs-results-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin: 0 0 18px; }
.jobs-results-toolbar h2 { font-size: 15px; font-weight: 600; }
.jobs-sort { display: flex; align-items: center; gap: 10px; }
.jobs-sort label { font-size: 11px; color: var(--jobs-muted); margin: 0; white-space: nowrap; }
.jobs-sort select { width: 135px; min-height: 36px; padding: 6px 9px; font-size: 11px; }
.jobs-filter-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.jobs-filter-chips a { display: inline-flex; align-items: center; gap: 7px; background: #f0edf7; border: 1px solid #e5def1; color: #655087; border-radius: 6px; padding: 5px 9px; font-size: 11px; }
.jobs-filter-chips .jobs-icon { width: 12px; height: 12px; }
.jobs-results-list { display: grid; gap: 14px; }
.jobs-card { background: #fff; border: 1px solid var(--jobs-line); border-radius: 14px; padding: 23px; display: flex; gap: 17px; transition: border-color .16s, box-shadow .16s; min-width: 0; }
.jobs-card:hover { border-color: #cddaf0; box-shadow: 0 5px 16px rgb(30 64 125 / 4%); }
.jobs-card:nth-child(3n + 2) .jobs-role-icon { background: #eaf3ff; color: #4b87c8; }
.jobs-card:nth-child(3n) .jobs-role-icon { background: #eaf8f2; color: #48a283; }
.jobs-card-content { flex: 1; min-width: 0; }
.jobs-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.jobs-card-heading .jobs-eyebrow { color: var(--jobs-muted) !important; font-size: 10px; letter-spacing: .08em; margin-bottom: 4px; }
.jobs-card-heading h2 { font-size: 17px; line-height: 1.45; }
.jobs-card-heading h2 a { color: #253651; }
.jobs-card-heading h2 a:hover { color: #2563eb; }
.jobs-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 16px; margin-top: 8px !important; font-size: 12px; color: var(--jobs-muted) !important; }
.jobs-card-meta > span { display: inline-flex; align-items: center; gap: 5px; }
.jobs-card-meta .jobs-icon { width: 13px; height: 13px; }
.jobs-card-description { color: var(--jobs-muted) !important; font-size: 13px; margin-top: 13px !important; line-height: 1.75; overflow-wrap: anywhere; }
.jobs-card-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.jobs-card-tags span { background: #f5f7fb; color: var(--jobs-muted); font-size: 11px; padding: 3px 8px; border-radius: 5px; }
.jobs-card-footer { margin-top: 18px; padding-top: 15px; border-top: 1px solid #f1f4f9; display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.jobs-salary { font-size: 12px; color: #485c78; font-weight: 650; display: block; }
.jobs-deadline { display: flex; align-items: center; gap: 5px; color: var(--jobs-muted); font-size: 11px; margin-top: 5px; }
.jobs-deadline .jobs-icon { width: 12px; height: 12px; }
.jobs-urgent { color: #a45c16 !important; }
.jobs-card-footer .jobs-button { padding: 9px 12px; min-height: 36px; font-size: 11px; }
.jobs-empty { text-align: center; padding: 48px 20px; }
.jobs-empty-icon { width: 62px; height: 62px; border-radius: 16px; display: grid; place-items: center; margin: 0 auto 19px; color: #9482b2; background: #f2eff8; }
.jobs-empty-icon .jobs-icon { width: 28px; height: 28px; }
.jobs-empty h3, .jobs-empty h2 { font-size: 18px; margin-bottom: 9px; }
.jobs-empty p { color: var(--jobs-muted); font-size: 13px; max-width: 425px; margin: 0 auto 22px; }
.jobs-employer-banner { background: #eeebf6; border: 1px solid #e8e2f2; border-radius: 17px; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 28px 32px; }
.jobs-employer-banner h2 { color: #403252; font-size: 23px; margin-top: 5px; }
.jobs-employer-banner p:not(.jobs-eyebrow) { color: #655773; font-size: 13px; margin-top: 7px; }
.jobs-employer-banner .jobs-button { white-space: nowrap; }
.jobs-public .workspace-pagination, .jobs-workspace-page .workspace-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 22px; color: var(--jobs-muted); font-size: 12px; }
.jobs-directory-panel > .workspace-pagination { padding: 18px 23px; margin: 0; border-top: 1px solid var(--jobs-line); }
:is(.jobs-public,.jobs-workspace-page) .workspace-pagination nav { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
:is(.jobs-public,.jobs-workspace-page) .workspace-pagination .workspace-button { display: inline-flex; align-items: center; justify-content: center; min-width: 35px; min-height: 35px; padding: 6px 10px; background: #fff; border: 1px solid #e1e7f1; border-radius: 8px; color: #63758e; font-size: 11px; }
:is(.jobs-public,.jobs-workspace-page) .workspace-pagination .workspace-button[aria-current='page'] { color: #fff; background: #2563eb; border-color: #2563eb; }
.jobs-detail-page, .jobs-application-page { padding-top: 30px; }
.jobs-detail-hero { display: flex; align-items: flex-start; gap: 22px; background: #f0f3fb; border: 1px solid #e6eaf4; border-radius: 17px; padding: 32px; }
.jobs-detail-hero .jobs-role-icon { width: 66px; height: 66px; background: #fff; }
.jobs-detail-title { flex: 1; min-width: 0; }
.jobs-detail-title h1 { font-size: clamp(24px, 2.5vw, 34px); line-height: 1.35; margin-top: 6px; }
.jobs-detail-title .jobs-card-meta { font-size: 12px; }
.jobs-detail-salary { display: block; color: #4a6091; font-size: 15px; margin-top: 16px; font-weight: 600; }
.jobs-managed { color: var(--jobs-muted) !important; font-size: 11px; margin-top: 8px !important; }
.jobs-summary-strip { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); background: #fff; border: 1px solid var(--jobs-line); border-radius: 13px; margin-block: 20px 26px; padding: 20px 10px; }
.jobs-summary-strip > div { display: flex; gap: 11px; align-items: center; padding: 0 20px; min-width: 0; }
.jobs-summary-strip > div + div { border-left: 1px solid #edf1f6; }
.jobs-summary-strip .jobs-icon { color: #7b92c2; width: 22px; height: 22px; }
.jobs-summary-strip strong { display: block; font-size: 12px; font-weight: 600; }
.jobs-summary-strip small { color: var(--jobs-muted); font-size: 11px; display: block; margin-top: 4px; }
.jobs-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 26px; align-items: start; }
.jobs-detail-layout > *, .jobs-applicant-layout > *, .jobs-application-layout > * { min-width: 0; }
.jobs-detail-sidebar { position: sticky; top: 24px; }
.jobs-role-section .jobs-prose { color: var(--jobs-muted); }
.jobs-prose { font-size: 13px; color: var(--jobs-muted); overflow-wrap: anywhere; line-height: 1.85; }
.jobs-prose p + p { margin-top: 12px; }
.jobs-prose p { margin-bottom: 8px; }
.jobs-facts { margin: 0; }
.jobs-facts > div { display: grid; grid-template-columns: minmax(105px,.65fr) minmax(0,1fr); gap: 14px; padding: 10px 0; border-bottom: 1px solid #f0f3f7; }
.jobs-facts > div:last-child { border-bottom: 0; }
.jobs-facts dt { color: var(--jobs-muted); font-size: 12px; font-weight: 500; }
.jobs-facts dd { margin: 0; color: #4c607d; font-size: 12px; overflow-wrap: anywhere; }
.jobs-requirements { display: grid; gap: 12px; list-style: none; margin: 18px 0 24px; padding: 0; font-size: 12px; color: var(--jobs-muted); }
.jobs-requirements li { display: flex; gap: 8px; align-items: flex-start; }
.jobs-requirements .jobs-icon { color: #72a38c; width: 15px; height: 15px; margin-top: 2px; }
.jobs-detail-sidebar .jobs-button + .jobs-button, .jobs-applicant-actions .jobs-button + .jobs-button { margin-top: 10px; }
.jobs-reference { color: var(--jobs-muted) !important; text-align: center; font-size: 11px; margin-top: 17px !important; }
.jobs-help-panel { background: #eef3fa; border: 1px solid #e6edf7; border-radius: 13px; padding: 22px; margin-top: 20px; }
.jobs-help-panel h3 { color: #537097; margin-bottom: 9px; }
.jobs-help-panel p { font-size: 13px; color: var(--jobs-muted); margin-bottom: 12px; }
.jobs-help-panel .jobs-text-link { font-size: 12px; }
.jobs-help-panel .jobs-icon { width: 17px; height: 17px; }
.jobs-notice { padding: 13px 15px; background: #fff8e9; border: 1px solid #f4e5c9; color: #795d24; border-radius: 10px; font-size: 12px; margin-bottom: 18px; }
.jobs-instructions { margin-bottom: 20px; }
.jobs-share-status { display: block; font-size: 12px; color: #45668e; margin-top: 8px; text-align: center; overflow-wrap: anywhere; }
.jobs-mobile-apply { display: none; }
.jobs-application-heading { margin-bottom: 28px; }
.jobs-application-heading h1 { font-size: 30px; line-height: 1.35; margin-top: 7px; }
.jobs-application-heading > p:last-child { color: var(--jobs-muted); font-size: 13px; margin-top: 10px; }
.jobs-application-layout { display: grid; grid-template-columns: minmax(0,1fr) 290px; gap: 26px; align-items: start; }
.jobs-application-form { padding: 30px; }
.jobs-application-form .workspace-form-section + .workspace-form-section, .jobs-editor-form .workspace-form-section + .workspace-form-section { border-top: 1px solid var(--jobs-line); padding-top: 26px; margin-top: 26px; }
.jobs-application-form .workspace-form-section legend, .jobs-editor-form .workspace-form-section legend { font-size: 18px; font-weight: 650; letter-spacing: -.025em; margin-bottom: 8px; width: auto; }
:is(.jobs-application-form,.jobs-editor-form) .workspace-form-section > .workspace-help { margin: 0 0 20px; }
:is(.jobs-public,.jobs-workspace-page) .workspace-fields-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
:is(.jobs-public,.jobs-workspace-page) .workspace-field-full { grid-column: 1/-1; }
.jobs-application-form .workspace-form-section:last-of-type .workspace-field { grid-column: 1/-1; }
.jobs-application-form .workspace-checkbox-row { align-items: flex-start; }
.jobs-application-form .workspace-checkbox-row .workspace-check { margin-top: 4px; }
.jobs-application-form .workspace-required { font-size: 12px; }
:is(.jobs-public,.jobs-workspace-page) .workspace-form-ui { --form-field-bg: var(--jobs-input-bg); --form-field-border: var(--jobs-input-border); }
:is(.jobs-public,.jobs-workspace-page) .workspace-form-ui .workspace-select-placeholder { color: var(--jobs-muted); }
:is(.jobs-public,.jobs-workspace-page) .workspace-form-ui .workspace-input::placeholder { color: var(--jobs-muted); }
.jobs-privacy-link { margin-top: 10px !important; font-size: 12px; }
.jobs-privacy-link a { color: #4a71b2; }
.jobs-privacy-link span { color: var(--jobs-muted); font-size: 11px; }
.jobs-submit-row { display: flex; align-items: center; gap: 15px; margin-top: 28px; padding-top: 23px; border-top: 1px solid var(--jobs-line); }
.jobs-submit-row .jobs-muted { font-size: 11px; }
.jobs-application-tips .jobs-role-icon { margin-bottom: 18px; }
.jobs-application-tips ul { padding-left: 18px; color: var(--jobs-muted); font-size: 13px; margin-bottom: 0; }
.jobs-application-tips li + li { margin-top: 12px; }
.jobs-confirmation-page { max-width: 670px; padding-top: 52px; }
.jobs-confirmation { padding: 40px; text-align: center; }
.jobs-success-mark { display: grid; place-items: center; width: 64px; height: 64px; background: #e7f7ef; color: #32996b; border-radius: 50%; margin: 0 auto 24px; }
.jobs-success-mark .jobs-icon { width: 30px; height: 30px; }
.jobs-confirmation h1 { font-size: 32px; margin: 9px 0 14px; }
.jobs-confirmation > p:not(.jobs-eyebrow) { color: var(--jobs-muted); font-size: 13px; }
.jobs-confirmation-reference { border: 1px dashed #d4deec; border-radius: 11px; background: #f7f9fc; padding: 19px; margin-block: 26px; }
.jobs-confirmation-reference span, .jobs-confirmation-reference small { display: block; color: var(--jobs-muted); font-size: 12px; }
.jobs-confirmation-reference strong { display: block; color: #4b70a9; font-size: 20px; margin-block: 5px; }
.jobs-next-steps { text-align: left; margin-bottom: 27px; }
.jobs-next-steps h2 { font-size: 16px; }
.jobs-next-steps ol { padding-left: 20px; margin: 16px 0 0; }
.jobs-next-steps li { padding-left: 6px; color: var(--jobs-muted); font-size: 13px; }
.jobs-next-steps li + li { margin-top: 15px; }
.jobs-next-steps strong, .jobs-next-steps span { display: block; }
.jobs-next-steps strong { color: #577094; font-weight: 600; margin-bottom: 4px; }
.jobs-next-steps span { color: var(--jobs-muted); }
.jobs-receipt-note { margin-bottom: 22px !important; font-size: 11px !important; }
.jobs-workspace-page { max-width: 1440px; margin-inline: auto; font-family: 'Figtree',sans-serif; }
.jobs-workspace-heading { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 25px; }
.jobs-workspace-heading h1 { font-size: 29px; line-height: 1.35; margin-top: 6px; }
.jobs-workspace-heading > div > p:last-child { color: var(--jobs-muted); font-size: 13px; margin-top: 8px; }
.jobs-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.jobs-stat-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; margin-bottom: 25px; }
.jobs-stat-grid > a { min-width: 0; color: inherit; border-radius: 16px; }
.jobs-stat-grid .workspace-stat-card { height: 100%; }
.jobs-stat-grid .workspace-stat-total { margin: 13px 0 9px; }
.jobs-stat-grid .workspace-stat-description { font-size: 11px; color: var(--jobs-muted); }
.jobs-directory-panel { padding: 0; overflow: hidden; }
.jobs-directory-filter { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 15px; padding: 22px 23px; border-bottom: 1px solid var(--jobs-line); }
.jobs-filter-grow { flex: 1; min-width: 210px; }
.jobs-directory-filter .jobs-filter-field:not(.jobs-filter-grow) { min-width: 145px; }
.jobs-directory-filter .jobs-button { min-height: 43px; }
.jobs-applications-filter .jobs-filter-field:not(.jobs-filter-grow) { flex: 0 1 160px; }
.jobs-filter-checkbox { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--jobs-muted); min-height: 43px; margin: 0; }
.jobs-filter-checkbox input { accent-color: #2563eb; }
.jobs-table-scroll { position: relative; min-width: 0; max-width: 100%; overflow-x: auto; }
.jobs-table { width: 100%; border-collapse: collapse; font-size: 12px; text-align: left; margin: 0; }
.jobs-table thead { background: #fafbfd; }
.jobs-table th { font-size: 12px; color: var(--jobs-muted); font-weight: 600; padding: 15px 20px; border-bottom: 1px solid #edf1f6; white-space: nowrap; }
.jobs-table td { padding: 18px 20px; color: #61738e; border-bottom: 1px solid #f0f3f7; min-width: 110px; vertical-align: middle; }
.jobs-table td:first-child { min-width: 210px; }
.jobs-table tbody tr:last-child td { border-bottom: 0; }
.jobs-table tbody tr:hover { background: #fbfcff; }
.jobs-table small { display: block; font-size: 11px; color: var(--jobs-muted); margin-top: 5px; }
.jobs-table-title { color: #354e72; font-size: 13px; font-weight: 600; }
.jobs-table-title:hover { color: #2563eb; }
.jobs-count-link { display: inline-flex; min-width: 32px; min-height: 32px; align-items: center; justify-content: center; border-radius: 7px; background: #f1f5fc; color: #45668e; font-weight: 600; }
.jobs-directory-footer { display: flex; gap: 15px; flex-wrap: wrap; justify-content: space-between; align-items: center; padding: 18px 23px; border-top: 1px solid var(--jobs-line); }
.jobs-directory-footer .jobs-muted { font-size: 11px; }
.jobs-workspace-note { display: flex; gap: 10px; align-items: flex-start; margin-top: 20px; color: var(--jobs-muted); padding: 0 5px; }
.jobs-workspace-note p { font-size: 11px; }
.jobs-workspace-note .jobs-icon { width: 17px; height: 17px; margin-top: 2px; color: #99a6ba; }
.jobs-editor-layout { display: grid; grid-template-columns: minmax(0,1fr) 265px; gap: 25px; align-items: start; }
.jobs-editor-form { padding: 30px; }
.jobs-editor-form .workspace-form-section legend { display: flex; align-items: center; gap: 10px; }
.jobs-step-number { display: inline-grid; place-items: center; width: 26px; height: 26px; background: #eef1fc; color: #45668e; border-radius: 7px; font-size: 11px; font-weight: 600; }
.jobs-editor-guide { position: sticky; top: 24px; }
.jobs-editor-guide .jobs-panel { padding: 22px; }
.jobs-editor-guide h2 { font-size: 16px; }
.jobs-editor-index { padding-top: 19px; border-top: 1px solid #edf1f7; display: grid; gap: 9px; }
.jobs-editor-index a { color: var(--jobs-muted); font-size: 12px; }
.jobs-editor-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--jobs-line); }
.jobs-editor-actions .jobs-button { font-size: 12px; padding-inline: 12px; }
.jobs-editor-preview { margin-bottom: 28px; }
.jobs-editor-preview-content { max-height: 440px; overflow: auto; margin-block: 15px; border-radius: 14px; }
.jobs-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.jobs-section-heading h2 { margin-bottom: 0; }
.jobs-internal-label { font-size: 10px; background: #f1edf8; color: #695286; border-radius: 5px; padding: 3px 7px; }
.jobs-tabs { display: flex; flex-wrap: wrap; gap: 8px 24px; border-bottom: 1px solid #dde5f0; margin-bottom: 24px; }
.jobs-tabs > a { color: var(--jobs-muted); padding: 13px 0; border-bottom: 2px solid transparent; font-size: 13px; font-weight: 600; }
.jobs-tabs > a.is-active { color: #456eaf; border-color: #4979c6; }
.jobs-tabs > a span { background: #edf2fb; color: #45668e; font-size: 11px; border-radius: 5px; padding: 3px 7px; margin-left: 5px; }
.jobs-tabs-shell [hidden] { display: none !important; }
.jobs-tabs-shell > section + section { margin-top: 24px; }
.jobs-tabs-shell[data-tabs-ready] > section { margin-top: 0; }
.jobs-close-panel { margin-top: 20px; }
.jobs-close-panel h3 { margin-top: 0; }
.jobs-close-panel p { color: var(--jobs-muted); font-size: 13px; margin-bottom: 16px; }
.jobs-applicant-header { background: #fff; border: 1px solid var(--jobs-line); border-radius: 16px; display: flex; align-items: center; gap: 20px; padding: 27px; margin-bottom: 25px; }
.jobs-applicant-avatar { width: 66px; height: 66px; border-radius: 19px; display: grid; place-items: center; background: #eee9f8; color: #695286; font-size: 29px; font-weight: 600; flex-shrink: 0; }
.jobs-applicant-identity { flex: 1; min-width: 0; }
.jobs-applicant-identity h1 { font-size: 28px; margin-top: 4px; line-height: 1.35; }
.jobs-applicant-identity > p:not(.jobs-eyebrow) { font-size: 12px; color: var(--jobs-muted); margin-block: 7px 12px; overflow-wrap: anywhere; }
.jobs-applicant-role { display: flex; flex-direction: column; gap: 5px; padding-left: 25px; border-left: 1px solid #edf1f7; max-width: 300px; }
.jobs-applicant-role a { font-size: 13px; color: #5776a5; font-weight: 600; }
.jobs-applicant-role span { color: var(--jobs-muted); font-size: 12px; }
.jobs-applicant-role small { color: var(--jobs-muted); font-size: 11px; }
.jobs-applicant-layout { display: grid; grid-template-columns: minmax(0,1fr) 325px; gap: 26px; align-items: start; }
.jobs-applicant-actions { padding-top: 0; }
.jobs-applicant-actions .jobs-panel { padding: 23px; }
.jobs-applicant-actions h2 { font-size: 17px; }
.jobs-review-form .workspace-fields-grid { grid-template-columns: minmax(0,1fr); }
.jobs-review-form .workspace-field { margin-bottom: 18px; }
.jobs-review-form .workspace-field label { font-size: 12px; }
.jobs-review-form .workspace-field .workspace-input, .jobs-review-form .workspace-select-trigger { font-size: 12px; }
.jobs-review-form .jobs-button { margin-top: 22px; }
.jobs-facts-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; margin-bottom: 20px; }
.jobs-facts-grid > div { display: block; padding-block: 13px; }
.jobs-facts-grid dd { margin-top: 5px; }
.jobs-followup-alert { display: flex; gap: 7px; align-items: center; font-size: 11px; margin-top: 16px !important; }
.jobs-interview-link { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 15px 0; border-bottom: 1px solid #eef2f7; color: #45668e; font-size: 12px; }
.jobs-interview-link strong { flex: 1; color: #5e7699; }
.jobs-interview-link .jobs-icon { width: 16px; }
.jobs-notes { background: #fafbfd; padding: 20px; border-radius: 10px; }
.jobs-timeline { list-style: none; margin: 0; padding: 0; }
.jobs-timeline li { display: flex; gap: 15px; position: relative; padding-bottom: 24px; }
.jobs-timeline li:not(:last-child)::before { content: ''; position: absolute; left: 5px; top: 12px; bottom: 0; width: 1px; background: #e2eafa; }
.jobs-timeline-dot { width: 11px; height: 11px; border-radius: 50%; background: #e2ebfc; border: 2px solid #9fb9e4; flex-shrink: 0; margin-top: 5px; }
.jobs-timeline strong { display: block; font-size: 13px; color: #45668e; font-weight: 600; }
.jobs-timeline small { display: block; font-size: 11px; color: var(--jobs-muted); margin-top: 5px; }
.jobs-timeline .jobs-prose { font-size: 12px; margin-top: 10px; }
.jobs-filter-close { display: none; }
@media (max-width: 1199px) {
    .jobs-detail-layout { grid-template-columns: minmax(0,1fr) 280px; gap: 20px; }
    .jobs-editor-layout { grid-template-columns: minmax(0,1fr) 230px; gap: 20px; }
    .jobs-applicant-layout { grid-template-columns: minmax(0,1fr) 285px; gap: 20px; }
    .jobs-applicant-header { flex-wrap: wrap; }
    .jobs-applicant-role { width: 100%; max-width: none; padding: 15px 0 0; border-left: 0; border-top: 1px solid #edf1f7; }
    .jobs-workspace-heading { align-items: flex-start; }
    .jobs-workspace-heading .jobs-actions { justify-content: flex-end; }
}
@media (max-width: 991px) {
    .jobs-container { width: calc(100% - 40px); }
    .jobs-board { grid-template-columns: 205px minmax(0,1fr); gap: 20px; }
    .jobs-card { padding: 20px; gap: 12px; }
    .jobs-card > .jobs-role-icon { width: 42px; height: 42px; }
    .jobs-card-heading { flex-wrap: wrap; gap: 8px; }
    .jobs-card-footer { flex-wrap: wrap; }
    .jobs-detail-hero { flex-wrap: wrap; padding: 25px; }
    .jobs-summary-strip > div { padding-inline: 13px; gap: 8px; }
    .jobs-summary-strip .jobs-icon { width: 18px; height: 18px; }
    .jobs-summary-strip strong { font-size: 11px; }
    .jobs-application-layout { grid-template-columns: minmax(0,1fr) 240px; gap: 20px; }
    .jobs-application-form { padding: 24px; }
    .jobs-submit-row { flex-wrap: wrap; }
    .jobs-stat-grid { gap: 12px; }
    .jobs-editor-layout { grid-template-columns: minmax(0,1fr); }
    .jobs-editor-guide { display: none; }
}
@media (max-width: 767px) {
    .jobs-public { padding-bottom: 32px; }
    .jobs-container { width: calc(100% - 32px); }
    .jobs-hero { padding-block: 25px; }
    .jobs-hero-top { align-items: flex-start; margin-bottom: 16px; }
    .jobs-hero-top .jobs-text-link { font-size: 10px; }
    .jobs-hero-top .jobs-eyebrow { font-size: 9px; }
    .jobs-hero h1 { font-size: 34px; }
    .jobs-hero > .jobs-container > p { font-size: 12px; max-width: 330px; }
    .jobs-search-bar { grid-template-columns: minmax(0,1fr); padding: 17px; gap: 15px; margin-top: 22px; }
    .jobs-search-field + .jobs-search-field { border-left: 0; border-top: 1px solid #edf1f7; padding: 13px 0 0; }
    .jobs-search-field input { font-size: 16px; }
    .jobs-search-bar .jobs-button { min-height: 44px; }
    .jobs-hero-note { font-size: 9px; align-items: flex-start; }
    .jobs-hero-note .jobs-icon { flex-shrink: 0; margin-top: 2px; }
    .jobs-board { grid-template-columns: minmax(0,1fr); gap: 20px; padding-block: 24px; }
    .jobs-filter-help { display: none; }
    .jobs-filter-disclosure summary { padding: 14px 17px; }
    .jobs-filter-disclosure summary::after { content: '+'; margin-left: auto; color: #8194af; font-size: 18px; }
    .jobs-filter-disclosure[open] summary::after { content: '−'; }
    .jobs-filter-body { padding: 10px 18px 20px; }
    .jobs-filter-field :is(input,select) { font-size: 16px; }
    .jobs-mobile-filter[open]::before { content: ''; position: fixed; inset: 0; background: rgb(20 29 48 / 40%); z-index: 2100; }
    .jobs-mobile-filter[open] .jobs-filter-body { position: fixed; inset: 0 0 0 auto; width: min(360px,92vw); z-index: 2101; background: #fff; padding: 25px; overflow-y: auto; }
    .jobs-mobile-filter .jobs-filter-close { display: flex; align-items: center; gap: 7px; background: transparent; border: 0; padding: 7px 0; color: #64748b; font-size: 13px; margin: 0 0 24px auto; }
    .jobs-results-toolbar h2 { font-size: 13px; }
    .jobs-sort { gap: 5px; }
    .jobs-sort label { font-size: 9px; }
    .jobs-sort select { width: 113px; font-size: 10px; }
    .jobs-card { padding: 18px; display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 12px; }
    .jobs-card > .jobs-role-icon { width: 40px; height: 40px; }
    .jobs-card-content { display: contents; }
    .jobs-card-heading { min-width: 0; }
    .jobs-card-heading h2 { font-size: 15px; }
    .jobs-card-heading .jobs-badge { padding: 3px 7px; font-size: 9px; }
    .jobs-card :is(.jobs-card-meta,.jobs-card-description,.jobs-card-tags,.jobs-card-footer) { grid-column: 1/-1; margin-top: 0 !important; }
    .jobs-card-meta { gap: 7px 12px; }
    .jobs-card-description { font-size: 13px; }
    .jobs-card-footer { padding-top: 14px; }
    .jobs-card-footer .jobs-button { min-height: 42px; padding-inline: 12px; }
    .jobs-employer-banner { flex-direction: column; align-items: flex-start; padding: 25px; gap: 20px; }
    .jobs-employer-banner h2 { font-size: 21px; }
    .jobs-empty { padding-block: 35px; }
    .jobs-detail-page, .jobs-application-page { padding-top: 22px; }
    .jobs-detail-hero { display: grid; grid-template-columns: 44px minmax(0,1fr); padding: 20px; gap: 15px; }
    .jobs-detail-hero .jobs-role-icon { width: 44px; height: 44px; }
    .jobs-detail-hero > .jobs-badge { grid-column: 1/-1; justify-self: start; }
    .jobs-detail-title { display: contents; }
    .jobs-detail-title > .jobs-eyebrow { display: none; }
    .jobs-detail-title h1 { font-size: 23px; margin-top: 0; }
    .jobs-detail-title :is(.jobs-card-meta,.jobs-detail-salary,.jobs-managed) { grid-column: 1/-1; margin-top: 0 !important; }
    .jobs-summary-strip { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0; }
    .jobs-summary-strip > div { padding: 18px 14px; }
    .jobs-summary-strip > div:nth-child(3) { border-left: 0; }
    .jobs-summary-strip > div:nth-child(n+3) { border-top: 1px solid #edf1f6; }
    .jobs-detail-layout, .jobs-application-layout, .jobs-applicant-layout { grid-template-columns: minmax(0,1fr); gap: 22px; }
    .jobs-detail-sidebar { position: static; }
    .jobs-panel { padding: 22px; }
    .jobs-panel h2 { font-size: 17px; }
    .jobs-mobile-apply { display: flex; align-items: center; justify-content: space-between; gap: 15px; position: fixed; inset: auto 0 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #e0e6f0; box-shadow: 0 -5px 15px rgb(25 38 67 / 4%); z-index: 1050; }
    .jobs-mobile-apply > span { font-size: 11px; color: #45668e; max-width: 50%; }
    .jobs-detail-page:has(.jobs-mobile-apply) { padding-bottom: 65px; }
    .jobs-application-heading h1 { font-size: 25px; }
    :is(.jobs-public,.jobs-workspace-page) .workspace-fields-grid { grid-template-columns: minmax(0,1fr); }
    .jobs-application-form .jobs-submit-row .jobs-button { width: 100%; }
    .jobs-confirmation-page { padding-top: 28px; }
    .jobs-confirmation { padding: 29px 23px; }
    .jobs-confirmation h1 { font-size: 27px; }
    .jobs-confirmation-reference strong { font-size: 17px; }
    .jobs-workspace-heading { flex-direction: column; align-items: flex-start; gap: 18px; }
    .jobs-workspace-heading h1 { font-size: 25px; }
    .jobs-workspace-heading .jobs-actions { justify-content: flex-start; }
    .jobs-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .jobs-stat-grid .workspace-stat-card { padding: 16px; }
    .jobs-stat-grid .workspace-stat-heading h3 { font-size: 12px; }
    .jobs-stat-grid .workspace-stat-description { font-size: 10px; }
    .jobs-directory-panel { padding: 0; }
    .jobs-directory-filter { padding: 18px; gap: 13px; }
    .jobs-filter-grow { min-width: 100%; }
    .jobs-directory-filter .jobs-filter-field:not(.jobs-filter-grow) { flex: 1; min-width: 130px; }
    .jobs-directory-footer { padding: 18px; }
    .jobs-table th, .jobs-table td { padding-inline: 16px; }
    .jobs-editor-form { padding: 22px; }
    .jobs-editor-actions { justify-content: flex-start; }
    .jobs-tabs { gap: 0 17px; }
    .jobs-tabs > a { font-size: 11px; padding-block: 12px; }
    .jobs-section-heading { flex-wrap: wrap; gap: 12px; }
    .jobs-applicant-header { padding: 22px; gap: 15px; }
    .jobs-applicant-avatar { width: 48px; height: 48px; border-radius: 14px; font-size: 22px; }
    .jobs-applicant-identity h1 { font-size: 24px; }
    .jobs-applicant-identity .jobs-eyebrow { font-size: 9px; }
    .jobs-applicant-identity > p:not(.jobs-eyebrow) { font-size: 11px; }
    .jobs-facts-grid { gap: 0 20px; }
    .jobs-review-form .workspace-field .workspace-input, .jobs-review-form .workspace-select-trigger { font-size: 16px; }
}
@media (max-width: 575px) {
    body.jobs-workspace .op-header-left { flex: 1; }
    body.jobs-workspace .op-header-left > nav { min-width: 0; flex: 1; }
    body.jobs-workspace .op-header-left > button { flex-shrink: 0; }
    body:has(.jobs-public) .yitp-header__row { padding-inline: 4px; }
    body:has(.jobs-public) .yitp-header__identity { min-width: 0; gap: 10px !important; }
    body:has(.jobs-public) .yitp-header__brand { min-width: 0; }
    body:has(.jobs-public) .yitp-header__brand img { max-width: 100%; height: auto; max-height: 64px; }
}
@media (forced-colors: active) {
    /* Shadows disappear in high contrast; keep one joined, system-colour indicator. */
    :is(.jobs-public,.jobs-workspace-page) .workspace-form-ui :is(.workspace-input,.workspace-select-trigger,.workspace-select-search):is(:focus,:focus-visible),
    :is(.jobs-public,.jobs-workspace-page) .workspace-form-ui .workspace-select-trigger[aria-expanded='true'],
    .jobs-filter-select-menu.workspace-form-ui .workspace-select-search:is(:focus,:focus-visible) {
        outline: 2px solid Highlight !important; outline-offset: 0 !important;
        border-color: Highlight !important; box-shadow: none !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    .jobs-public *, .jobs-workspace-page *, .jobs-filter-select-menu * { scroll-behavior: auto !important; transition: none !important; }
}
