/* Scoped to the eleven Excelraise client application flows. */
.exr-application-modal {
    --exr-orange: #d9500c;
    --exr-peach: #fff4ed;
    --exr-green: #25854c;
    --exr-ink: #24272c;
    --exr-muted: #60656d;
    --exr-line: #e3e1df;
    background: rgba(28,31,33,.64) !important;
}
.jobsearch-modal.exr-application-modal .modal-content-area { max-width: 1040px; width: calc(100% - 48px); padding: 24px 0; }
.jobsearch-modal.exr-application-modal[data-exr-mode="choice"] .modal-content-area { max-width: 800px; }
.jobsearch-modal.exr-application-modal[data-exr-mode="review"] .modal-content-area { max-width: 700px; }
.jobsearch-modal.exr-application-modal .modal-box-area { padding: 0; border-radius: 18px; box-shadow: 0 24px 90px #0003; overflow: clip; }
.exr-application-modal .jobsearch-modal-title-box { display: none !important; }
.exr-application-flow { color: var(--exr-ink); font: 400 15px/1.55 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; width: 100%; text-align: left; background: #fff; }
.exr-application-flow *, .exr-application-flow *::before, .exr-application-flow *::after { box-sizing: border-box; }
.exr-application-flow [hidden] { display: none !important; }
/* Keep the selected intent authoritative if legacy theme listeners also call
   jQuery.show()/hide(). Their captcha and conditional-field hooks still run. */
.exr-application-flow[data-mode="choice"] .jobsearch-table,
.exr-application-flow[data-mode="choice"] .jobsearch-applyjob-internalmain-old,
.exr-application-flow[data-mode="review"] .jobsearch-table,
.exr-application-flow[data-mode="online"] .jobsearch-applyjob-internalmain-old { display: none !important; }
.exr-application-flow[data-mode="review"] .jobsearch-applyjob-internalmain-old,
.exr-application-flow[data-mode="online"] .jobsearch-table { display: block !important; }
.exr-application-flow :is(h2,h3,h4,p,ul,ol,li,label,table,th,td,a,button,input,select,textarea) { font-family: inherit; letter-spacing: normal; }
.exr-application-flow :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #25854c; outline-offset: 3px; }
.exr-application-flow h2 { color: var(--exr-ink); font-size: 30px; line-height: 1.22; font-weight: 750; margin: 0 0 8px; text-transform: none; }
.exr-application-flow :is(h3,h4) { color: var(--exr-ink); font-size: 19px; line-height: 1.4; font-weight: 700; text-decoration: none; text-transform: none; margin: 0 0 20px; }
.exr-application-flow h2:focus, .exr-application-flow h3:focus, .exr-application-flow h4:focus { outline: none; }
.exr-header { padding: 28px 32px 24px; }
.exr-brand-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.exr-wordmark { display: inline-flex; align-items: baseline; position: relative; color: #4d4e50; font-size: 29px; font-weight: 800; letter-spacing: -1.4px; line-height: 1.2; }
.exr-wordmark > span { color: var(--exr-orange); }
.exr-application-flow .exr-close.modal-close { position: static; float: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; min-width: 44px; height: 44px; background: #f6f5f3; color: #555b61; border: 0; border-radius: 50%; font-size: 30px; font-weight: 400; padding: 0; cursor: pointer; }
.exr-close:hover { background: var(--exr-peach) !important; color: var(--exr-orange) !important; }
.exr-subtitle { color: var(--exr-muted); font-size: 16px; margin: 0 0 22px; line-height: 1.55; }
.exr-job-context { display: flex; gap: 14px; align-items: center; background: var(--exr-peach); border: 1px solid #f5d9c8; border-radius: 10px; padding: 15px 18px; }
.exr-context-icon { color: var(--exr-orange); font-size: 26px; }
.exr-context-icon svg { display: block; width: 25px; height: 25px; }
.exr-job-context strong { display: block; font-size: 16px; color: var(--exr-ink); }
.exr-job-context div > span { display: block; color: var(--exr-muted); font-size: 13px; overflow-wrap: anywhere; }
.exr-application-flow .exr-change-option, .exr-application-flow .exr-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; width: auto; color: var(--exr-orange); background: transparent; border: 0; padding: 0; margin: 0 0 12px; border-radius: 4px; cursor: pointer; font-size: 14px; font-weight: 650; text-transform: none; }
.exr-application-flow .job-search-buttons.exr-choices { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 20px; padding: 0 32px; margin: 0; width: 100%; float: none; }
.exr-application-flow .exr-choices a.exr-option { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; width: auto; min-width: 0; text-decoration: none; text-align: left; white-space: normal; padding: 24px; margin: 0; color: var(--exr-ink); background: white; border: 1px solid var(--exr-line); border-radius: 12px; box-shadow: 0 2px 3px #25252503; transition: border-color .18s, box-shadow .18s; }
.exr-application-flow .exr-choices a.exr-option:hover { border-color: var(--exr-orange); box-shadow: 0 8px 25px #d9500c12; }
.exr-option-icon { display: inline-flex; align-items: center; justify-content: center; color: var(--exr-orange); background: var(--exr-peach); width: 62px; height: 62px; border-radius: 12px; }
.exr-option-icon svg { width: 35px; height: 35px; }
.exr-option > strong { font-size: 20px; line-height: 1.35; font-weight: 730; }
.exr-option-description { color: var(--exr-muted); font-size: 14px; line-height: 1.6; flex: 1; }
.exr-option-action { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 12px 16px; min-height: 48px; color: white; background: var(--exr-orange); border: 1px solid var(--exr-orange); border-radius: 8px; font-size: 15px; font-weight: 650; margin-top: 7px; }
.exr-option-action > span { font-size: 22px; line-height: 1; }
.exr-option[data-id="online"] .exr-option-action { color: var(--exr-orange); background: white; }
.exr-choice-help { text-align: center; color: var(--exr-muted); font-size: 13px; margin: 24px 24px 30px; }
.exr-choice-help::before { content: 'i'; display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; border: 1px solid currentColor; border-radius: 50%; font-size: 11px; font-weight: 600; margin-right: 8px; }
.exr-noscript { margin: 24px 32px; }
.exr-application-flow .jobsearch-table { float: none; width: 100%; padding: 0 32px; }
.exr-stepper { display: flex; align-items: center; gap: 18px; padding: 0 0 26px; font-size: 14px; font-weight: 650; }
.exr-step { color: #8b8d91; }
.exr-step.is-current { color: var(--exr-orange); }
.exr-step.is-complete { color: var(--exr-green); }
.exr-step-line { height: 1px; flex: 1; max-width: 72px; background: var(--exr-line); }
.exr-application-flow form.job-custom-form.exr-review-layout { display: grid; grid-template-columns: 240px minmax(0,1fr); align-items: start; gap: 26px; margin: 0; }
.exr-job-details { background: var(--exr-peach); border: 1px solid #f5d9c8; border-radius: 12px; padding: 18px; margin: 0 0 26px; min-width: 0; }
.exr-job-details > summary { color: var(--exr-green); cursor: pointer; font-size: 14px; font-weight: 700; min-height: 26px; }
.exr-application-flow .exr-job-details table { margin: 12px 0 0; border: 0 !important; width: 100%; background: transparent; border-collapse: collapse; }
.exr-application-flow .exr-job-details tr { display: block; margin: 0 0 14px; }
.exr-application-flow .exr-job-details :is(td,th) { display: block; padding: 0; width: auto !important; min-width: 0; border: 0 !important; text-align: left; font-size: 13px; color: var(--exr-ink); overflow-wrap: anywhere; font-weight: 400; }
.exr-application-flow .exr-job-details th { font-weight: 700; margin-bottom: 2px; }
.exr-application-flow .jobsearch-user-form { width: 100%; float: none; margin: 0; min-width: 0; }
.exr-application-flow .exr-personal-heading { padding: 12px 16px; background: var(--exr-peach); border-radius: 8px; font-size: 18px; }
.exr-application-flow .apply-fields-list { padding: 0; margin: 0 !important; list-style: none; width: 100%; float: none; }
.exr-application-flow .row { display: flex; flex-wrap: wrap; align-items: flex-start; margin: 0 -10px 4px !important; width: auto; clear: both; }
.exr-application-flow .row::before, .exr-application-flow .row::after { display: none; }
.exr-application-flow [class*="col-md-6"], .exr-application-flow [class*="col-lg-6"] { float: none; width: 50%; min-width: 0; padding: 0 10px; }
.exr-application-flow [class*="col-md-12"], .exr-application-flow [class*="col-lg-12"] { float: none; width: 100%; min-width: 0; padding: 0 10px; }
.exr-application-flow .form-group { margin-bottom: 22px; height: auto; }
.exr-application-flow .form-group > br { display: none; }
.exr-application-flow .jobsearch-user-form label { display: block; float: none; color: var(--exr-ink); width: auto; max-width: 100%; font-size: 13px; font-weight: 500; line-height: 1.5; height: auto !important; margin-bottom: 8px; text-transform: none; }
.exr-application-flow label strong { font-weight: 650; }
.exr-application-flow label small { display: block; color: var(--exr-muted); font-size: 11px; margin-top: 2px; }
.exr-application-flow :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]):not([type="file"]),select,textarea) { display: block; width: 100%; height: 46px; min-height: 46px; padding: 11px 13px; border: 1px solid #d8d6d3; border-radius: 8px; background-color: white; box-shadow: none; color: var(--exr-ink); font-size: 15px; line-height: 1.4; margin: 0; float: none; }
.exr-application-flow :is(input,textarea)::placeholder { color: #80848b; opacity: 1; }
.exr-application-flow select { padding-right: 30px; }
.exr-application-flow textarea { min-height: 120px; height: 120px; resize: vertical; }
.exr-application-flow input[type="checkbox"], .exr-application-flow input[type="radio"] { appearance: auto; -webkit-appearance: auto; accent-color: var(--exr-orange); position: static; opacity: 1; width: 18px; height: 18px; min-width: 18px; margin: 2px 7px 0 0; float: none; vertical-align: top; display: inline-block; cursor: pointer; }
.exr-application-flow [class$="-fields"] > label:has(input[type="radio"]), .exr-application-flow .citizenship-fields > label { display: flex; align-items: flex-start; gap: 5px; padding: 11px 12px; border: 1px solid var(--exr-line); border-radius: 8px; margin: 0 0 8px; background: #fff; min-height: 44px; font-size: 13px; }
.exr-application-flow [class$="-fields"] > label:has(input:checked), .exr-application-flow .citizenship-fields > label:has(input:checked) { background: var(--exr-peach); border-color: var(--exr-orange); }
.exr-application-flow [class$="-fields"] > br { display: none; }
.exr-application-flow .exr-upload-card { background: var(--exr-peach); border: 1px dashed #efb18e; border-radius: 10px; padding: 18px; margin: 0 10px 22px; width: calc(50% - 20px); }
.exr-application-flow .exr-upload-card[class*="col-md-12"] { width: calc(100% - 20px); }
.exr-application-flow input[type="file"] { display: block; width: 100%; max-width: 100%; height: auto; padding: 0; margin: 14px 0 0; background: transparent; border: 0; font-size: 13px; color: var(--exr-muted); }
.exr-application-flow input[type="file"]::file-selector-button { color: var(--exr-orange); background: white; border: 1px solid var(--exr-orange); border-radius: 6px; min-height: 44px; padding: 10px 12px; margin: 0 10px 8px 0; font: 600 13px system-ui,sans-serif; cursor: pointer; }
.exr-application-flow .exr-terms, .exr-application-flow .exr-reference-table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--exr-line); border-radius: 10px; margin: 0 0 24px; overflow: hidden; }
.exr-application-flow :is(.exr-terms,.exr-reference-table) :is(th,td) { border: 0; border-bottom: 1px solid var(--exr-line); padding: 18px; font-weight: 400; font-size: 13px; text-align: left !important; color: #4f555b; line-height: 1.7; background: white; }
.exr-application-flow .exr-terms tr:last-child > *, .exr-application-flow .exr-reference-table tr:last-child > * { border-bottom: 0; }
.exr-application-flow .exr-terms ol { text-align: left !important; padding-left: 20px !important; margin: 0 0 18px; }
.exr-application-flow .exr-terms ol li { margin: 0 0 14px; line-height: 1.7; font-weight: 400; font-size: 13px; }
.exr-application-flow .exr-terms p { font-size: 13px; margin: 0; line-height: 1.65 !important; }
.exr-application-flow .exr-terms tr:first-child:has(p) th { background: var(--exr-peach); color: #7a411e; }
.exr-application-flow .exr-terms label { font-weight: 600; margin: 8px 0 0; }
.exr-application-flow .exr-reference-table ul { padding: 0; margin: 10px 0; list-style: none; }
.exr-application-flow .exr-reference-table ul li { margin-bottom: 12px; }
.exr-application-flow .exr-reference-table .row { display: block; margin: 0 !important; }
.exr-application-flow .exr-reference-table [class*="col-"] { width: 100%; padding: 0; }
.exr-application-flow .exr-actions { display: flex; align-items: center; gap: 15px; justify-content: space-between; clear: both; width: 100%; padding: 20px 0; margin-top: 12px; border-top: 1px solid var(--exr-line); background: white; position: sticky; bottom: 0; z-index: 10; }
.exr-application-flow .exr-actions .exr-link { margin: 0; }
.exr-step-status { font-size: 12px; color: var(--exr-muted); margin-left: auto; }
.exr-application-flow .exr-continue, .exr-application-flow .exr-review-submit, .exr-application-flow .exr-online-submit { display: inline-flex; justify-content: center; align-items: center; gap: 12px; width: auto; min-height: 48px; height: auto; padding: 12px 24px; background: var(--exr-orange) !important; color: white !important; border: 1px solid var(--exr-orange) !important; border-radius: 8px; font-size: 15px; font-weight: 650; line-height: 1.4; text-transform: none; text-decoration: none; margin: 0; white-space: normal; cursor: pointer; float: none; }
.exr-application-flow :is(.exr-continue,.exr-review-submit,.exr-online-submit):hover { background: #b64209 !important; }
.exr-application-flow .btn-primary:not(.exr-review-submit) { display: inline-flex; align-items: center; justify-content: center; background: white; color: var(--exr-orange); border: 1px solid var(--exr-orange); border-radius: 6px; padding: 10px 14px; min-height: 44px; }
.exr-application-flow .jobsearch-applyjob-internalmain-old { padding: 0 32px 24px; width: 100%; float: none; }
.exr-application-flow .user-cvs-list { width: 100%; float: none; padding: 0; margin: 0 0 24px; list-style: none; }
.exr-application-flow .user-cvs-list li { display: flex; align-items: center; gap: 16px; width: 100%; float: none; margin: 0 0 10px; border: 1px solid var(--exr-line); border-radius: 9px; background: white; padding: 17px; min-height: 76px; }
.exr-application-flow .user-cvs-list li:has(input:checked) { background: #f1f9ef; border-color: var(--exr-green); }
.exr-application-flow .user-cvs-list li > i { float: none; position: static; border: 0; padding: 0; font-size: 23px; color: var(--exr-orange); }
.exr-application-flow .user-cvs-list label { display: block; position: relative; padding: 0 30px 0 0; margin: 0; flex: 1; font-size: 14px; color: var(--exr-ink); font-weight: 650; overflow-wrap: anywhere; cursor: pointer; }
.exr-application-flow .user-cvs-list input[type="radio"] { position: absolute; top: 0; right: 0; margin: 0; accent-color: var(--exr-green); }
.exr-application-flow .upload-datetime { display: block; font-size: 12px; font-weight: 400; color: var(--exr-muted); margin-top: 4px; }
.exr-application-flow .user-nocvs-found { float: none; width: 100%; }
.exr-application-flow .user-nocvs-found p { color: var(--exr-muted); font-size: 14px; }
.exr-application-flow .upload-new-cv-sec { float: none; width: 100%; margin-bottom: 24px; }
.exr-application-flow .upload-cvs-sep { float: none; margin: 18px 0; }
.exr-application-flow .upload-cvs-sep .jobsearch-box-title { margin-bottom: 14px; }
.exr-application-flow .dropzone { position: relative; width: 100%; float: none; padding: 24px 18px; min-height: 190px; height: auto; background: var(--exr-peach); border: 1px dashed #efa77f; border-radius: 10px; text-align: center; }
.exr-application-flow .dropzone .dz-message { margin: 0; }
.exr-application-flow .jobsearch-dropzone-template strong { display: block; color: var(--exr-ink); font-size: 17px; margin: 10px 0 6px; }
.exr-application-flow .upload-icon-con { color: var(--exr-orange); font-size: 30px; display: inline-flex; }
.exr-application-flow .upload-inffo, .exr-application-flow .upload-inffo span { font-size: 12px; color: var(--exr-muted); font-weight: 400; }
.exr-application-flow .upload-or-con { display: none; }
.exr-application-flow .jobsearch-drpzon-btn { display: inline-flex; min-height: 44px; padding: 9px 18px; align-items: center; justify-content: center; gap: 8px; margin: 16px 0 0; color: var(--exr-orange); background: white; border: 1px solid var(--exr-orange); border-radius: 7px; font-size: 14px; font-weight: 650; cursor: pointer; }
.exr-application-flow .jobsearch-drpzon-con, .exr-application-flow .jobsearch-upload-cv { float: none; width: 100%; }
.exr-application-flow .jobsearch-upload-cv label { margin-top: 0; }
.exr-application-flow .jobsearch-applyjob-internalmain-old .apply-fields-list { display: flex; flex-wrap: wrap; margin: 0 -8px !important; width: calc(100% + 16px); }
.exr-application-flow .jobsearch-applyjob-internalmain-old .apply-fields-list > li { display: block; float: none; width: 50%; padding: 0 8px; margin: 0 0 22px; list-style: none; }
.exr-application-flow .jobsearch-applyjob-internalmain-old .apply-fields-list > li.jobsearch-user-form-coltwo-full { width: 100%; }
.exr-application-flow .exr-online-actions { position: sticky; bottom: 0; z-index: 10; width: 100%; display: block; margin-top: 16px; padding: 18px 0 0; border-top: 1px solid var(--exr-line); background: white; }
.exr-application-flow .exr-online-submit { display: flex; width: 100%; position: sticky; bottom: 16px; z-index: 10; margin-top: 20px; box-shadow: 0 0 0 12px #fff; }
.exr-application-flow .aply-cvr-letter { margin-top: 24px; }
.exr-application-flow .apply-bmsg, .exr-application-flow .apply-job-form-msg { display: block; float: none; width: 100%; white-space: normal; font-size: 14px; }
.exr-application-flow .recaptcha--field { width: 100%; overflow-x: auto; }
@media (max-width: 800px) {
    .jobsearch-modal.exr-application-modal .modal-content-area { width: calc(100% - 24px); padding: 12px 0; }
    .exr-header { padding: 24px 24px 22px; }
    .exr-application-flow .job-search-buttons.exr-choices { padding: 0 24px; }
    .exr-application-flow .jobsearch-table { padding: 0 24px; }
    .exr-application-flow form.job-custom-form.exr-review-layout { display: block; }
    .exr-job-details { margin-bottom: 24px; }
    .exr-application-flow .exr-job-details table tbody { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .exr-application-flow .exr-job-details tr { margin: 0; }
    .exr-application-flow .jobsearch-applyjob-internalmain-old { padding: 0 24px 20px; }
}
@media (max-width: 560px) {
    .jobsearch-modal.exr-application-modal .modal-content-area { width: 100%; min-height: 100%; margin: 0; padding: 0; align-items: flex-start; }
    .jobsearch-modal.exr-application-modal .modal-box-area { min-height: 100vh; min-height: 100dvh; border-radius: 0; box-shadow: none; overflow: visible; }
    .exr-header { padding: 20px 20px 24px; }
    .exr-brand-row { margin-bottom: 22px; }
    .exr-wordmark { font-size: 27px; }
    .exr-application-flow h2 { font-size: 25px; }
    .exr-subtitle { font-size: 14px; }
    .exr-job-context { padding: 13px; gap: 10px; }
    .exr-application-flow .job-search-buttons.exr-choices { grid-template-columns: 1fr; padding: 0 20px; gap: 16px; }
    .exr-application-flow .exr-choices a.exr-option { padding: 20px; gap: 12px; }
    .exr-option > strong { font-size: 19px; }
    .exr-option-icon { width: 52px; height: 52px; }
    .exr-choice-help { font-size: 12px; margin-bottom: 24px; }
    .exr-application-flow .jobsearch-table { padding: 0 20px; }
    .exr-application-flow .jobsearch-applyjob-internalmain-old { padding: 0 20px 16px; }
    .exr-stepper { gap: 8px; padding-bottom: 20px; font-size: 12px; }
    .exr-step-line { max-width: 24px; }
    .exr-application-flow .row { margin: 0 !important; gap: 0; }
    .exr-application-flow [class*="col-md-6"], .exr-application-flow [class*="col-lg-6"], .exr-application-flow [class*="col-md-12"], .exr-application-flow [class*="col-lg-12"] { padding: 0; width: 100%; }
    .exr-application-flow .form-group { margin-bottom: 22px; }
    .exr-application-flow :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]):not([type="file"]),select,textarea) { font-size: 16px; }
    .exr-application-flow .exr-upload-card, .exr-application-flow .exr-upload-card[class*="col-md-12"] { padding: 18px; width: 100%; margin: 0 0 22px; }
    .exr-application-flow .exr-actions { padding: 16px 0 max(16px,env(safe-area-inset-bottom)); gap: 10px; }
    .exr-step-status { font-size: 11px; }
    .exr-application-flow .exr-actions .exr-link { font-size: 13px; }
    .exr-application-flow :is(.exr-continue,.exr-review-submit) { padding: 12px 16px; font-size: 14px; }
    .exr-application-flow .exr-reference-table, .exr-application-flow .exr-reference-table :is(tbody,tr,td,th) { display: block; width: 100% !important; }
    .exr-application-flow .exr-reference-table td { padding: 16px; }
    .exr-application-flow .jobsearch-applyjob-internalmain-old .apply-fields-list > li { width: 100%; }
    .exr-application-flow .dropzone { padding: 24px 14px; }
    .exr-application-flow .user-cvs-list li { padding: 14px; gap: 12px; }
    .exr-application-flow .user-cvs-list label { font-size: 13px; }
    .exr-application-flow .exr-online-actions { padding-bottom: max(16px,env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
    .jobsearch-modal.exr-application-modal .modal-box-area, .exr-application-flow .exr-option { transition: none !important; }
}
