/* OJ candidate portal. Load after existing styles; activated by the companion JS. */
body.candidate-portal.oj-applicant-modern {
  --am-bg: #f5f4ef;
  --am-surface: #fffefa;
  --am-soft: #eeeee5;
  --am-ink: #282d29;
  --am-muted: #62675d;
  --am-line: #dcded2;
  --am-border: #a2a799;
  --am-olive: #505e32;
  --am-hover: #3c4925;
  --am-tint: #e9eddf;
  --am-focus: #275e91;
  --am-error: #8d3227;
  --am-error-bg: #fff0ec;
  --am-warning: #715017;
  --am-warning-bg: #fff4da;
  --olive: var(--am-olive);
  --olive-dark: var(--am-olive);
  --olive-soft: var(--am-tint);
  --charcoal: var(--am-ink);
  --muted: var(--am-muted);
  --line: var(--am-line);
  --bg: var(--am-bg);
  --panel: var(--am-surface);
  margin: 0;
  background: var(--am-bg);
  color: var(--am-ink);
  font-family: "Segoe UI", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 15px;
  line-height: 1.55;
  color-scheme: light;
}
body.candidate-portal.oj-applicant-modern *,
body.candidate-portal.oj-applicant-modern *::before,
body.candidate-portal.oj-applicant-modern *::after { box-sizing: border-box; }
body.candidate-portal.oj-applicant-modern [hidden] { display: none !important; }
body.candidate-portal.oj-applicant-modern :is(h1,h2,h3,h4,p,legend,label,a,strong,small) { overflow-wrap: anywhere; }
body.candidate-portal.oj-applicant-modern :is(h1,h2,h3,h4) { color: var(--am-ink); line-height: 1.2; }
body.candidate-portal.oj-applicant-modern h2 { font-size: clamp(1.35rem, 2.3vw, 1.75rem); letter-spacing: -.035em; }
body.candidate-portal.oj-applicant-modern h3 { font-size: 1.05rem; letter-spacing: -.015em; }
body.candidate-portal.oj-applicant-modern a { color: var(--am-olive); text-underline-offset: 4px; }
body.candidate-portal.oj-applicant-modern :is(button,input,select,textarea,a,summary):focus-visible {
  outline: 3px solid var(--am-focus) !important;
  outline-offset: 3px;
}
body.candidate-portal.oj-applicant-modern :is(button,a,input,select,textarea,summary) { scroll-margin-block: 100px; }
body.candidate-portal.oj-applicant-modern .workspace-header {
  position: relative;
  height: auto;
  min-height: 76px;
  padding: 14px max(24px, calc((100% - 1136px) / 2));
  gap: 20px;
  background: var(--am-surface);
  border-bottom: 1px solid var(--am-line);
}
body.candidate-portal.oj-applicant-modern .brand { min-width: 0; min-height: 44px; gap: 12px; color: var(--am-ink); font-weight: 750; letter-spacing: -.025em; }
body.candidate-portal.oj-applicant-modern .brand img { width: 38px; height: 38px; }
body.candidate-portal.oj-applicant-modern .header-actions { flex-wrap: wrap; justify-content: flex-end; gap: 10px; min-width: 0; }
body.candidate-portal.oj-applicant-modern .user-email { max-width: 240px; color: var(--am-muted); overflow-wrap: anywhere; }
body.candidate-portal.oj-applicant-modern .language-picker { min-height: 44px; padding: 0 10px; border-color: var(--am-line); background: var(--am-surface); }
body.candidate-portal.oj-applicant-modern .language-picker select { min-height: 42px; max-width: 140px; color: var(--am-ink); font: inherit; font-size: .82rem; }
body.candidate-portal.oj-applicant-modern .logout { display: inline-flex; align-items: center; min-height: 44px; border-color: var(--am-line); color: var(--am-ink); }
body.candidate-portal.oj-applicant-modern .workspace-layout { display: block; min-height: calc(100vh - 76px); }
body.candidate-portal.oj-applicant-modern .workspace-layout > .sidebar { display: none; }
body.candidate-portal.oj-applicant-modern .workspace-layout > .content { width: 100%; max-width: 1184px; padding: 28px 24px 64px; margin-inline: auto; min-width: 0; }
body.candidate-portal.oj-applicant-modern .welcome-row { align-items: center; margin-bottom: 22px; gap: 16px; }
body.candidate-portal.oj-applicant-modern .welcome-row h1 { font-size: clamp(1.35rem, 2.4vw, 1.8rem); letter-spacing: -.035em; }
body.candidate-portal.oj-applicant-modern .welcome-row p:last-child { color: var(--am-muted); margin-top: 4px; font-size: .875rem; }
body.candidate-portal.oj-applicant-modern .eyebrow { color: var(--am-olive); font-size: .65rem; letter-spacing: .14em; }
body.candidate-portal.oj-applicant-modern .access-badge { background: var(--am-tint); color: var(--am-olive); }
body.candidate-portal.oj-applicant-modern #overview-cards { display: block; margin-bottom: 0; min-width: 0; }
body.candidate-portal.oj-applicant-modern .applicant-modern-hub {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  padding: 28px 30px 0;
  border: 1px solid var(--am-line);
  border-radius: 18px;
  background: var(--am-surface);
  overflow: hidden;
}
body.candidate-portal.oj-applicant-modern .applicant-modern-kicker { margin: 0 0 8px; color: var(--am-olive); font-weight: 750; font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; }
body.candidate-portal.oj-applicant-modern .applicant-modern-heading h2 { margin: 0; font-size: clamp(1.65rem, 3vw, 2.25rem); letter-spacing: -.045em; }
body.candidate-portal.oj-applicant-modern .applicant-modern-heading p[data-modern-intro] { max-width: 65ch; margin: 9px 0 0; color: var(--am-muted); }
body.candidate-portal.oj-applicant-modern .applicant-modern-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
body.candidate-portal.oj-applicant-modern .applicant-modern-summary > :is(article,div) { min-width: 0; padding: 0 24px; border-left: 1px solid var(--am-line); }
body.candidate-portal.oj-applicant-modern .applicant-modern-summary > :first-child { border-left: 0; padding-left: 0; }
body.candidate-portal.oj-applicant-modern .applicant-modern-summary > :last-child { padding-right: 0; }
body.candidate-portal.oj-applicant-modern .applicant-modern-summary :is(p,span,small) { margin: 4px 0 0; color: var(--am-muted); font-size: .8rem; }
body.candidate-portal.oj-applicant-modern .applicant-modern-summary :is([data-modern-progress],[data-modern-documents],[data-modern-status]) { display: block; margin: 0 0 4px; color: var(--am-ink); font-size: 1.7rem; font-weight: 750; line-height: 1.2; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
body.candidate-portal.oj-applicant-modern .applicant-modern-summary [data-modern-status] { font-size: 1.1rem; letter-spacing: -.02em; line-height: 1.4; }
body.candidate-portal.oj-applicant-modern .applicant-modern-next { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; margin: 0 -30px; padding: 17px 30px; background: var(--am-tint); border-top: 1px solid var(--am-line); }
body.candidate-portal.oj-applicant-modern .applicant-modern-next p { flex: 1 1 260px; margin: 0; color: var(--am-ink); font-size: .875rem; }
body.candidate-portal.oj-applicant-modern .applicant-intro { margin: 14px 0 20px; padding: 0 0 0 12px; border: 0; border-left: 2px solid var(--am-border); border-radius: 0; color: var(--am-muted); background: transparent; font-size: .79rem; line-height: 1.6; }
body.candidate-portal.oj-applicant-modern .applicant-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; margin: 0 0 22px; border: 1px solid var(--am-line); border-radius: 12px; background: var(--am-soft); }
body.candidate-portal.oj-applicant-modern .applicant-tabs button { flex: 1 1 auto; min-width: 0; max-width: 100%; min-height: 44px; padding: 11px 15px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--am-muted); font-size: .82rem; font-weight: 650; white-space: normal; line-height: 1.35; }
body.candidate-portal.oj-applicant-modern .applicant-tabs button[aria-selected="true"] { background: var(--am-surface); color: var(--am-olive); border-color: var(--am-line); box-shadow: 0 2px 4px #232a1610; }
body.candidate-portal.oj-applicant-modern :is(.panel,.applicant-panel) { min-width: 0; margin-top: 0; padding: 28px 30px; border: 1px solid var(--am-line); border-radius: 16px; background: var(--am-surface); color: var(--am-ink); box-shadow: none; }
body.candidate-portal.oj-applicant-modern .panel-heading { align-items: center; flex-wrap: wrap; gap: 12px; margin-bottom: 14px; }
body.candidate-portal.oj-applicant-modern .panel-heading h2 { margin: 0; }
body.candidate-portal.oj-applicant-modern .panel-heading > strong { color: var(--am-olive); font-size: 1.1rem; font-variant-numeric: tabular-nums; }
body.candidate-portal.oj-applicant-modern .profile-panel progress { width: 100px; height: 8px; margin-left: 0; accent-color: var(--am-olive); }
body.candidate-portal.oj-applicant-modern #candidate-profile-form { display: grid; grid-template-columns: minmax(0,1fr); gap: 22px; margin-top: 22px; }
body.candidate-portal.oj-applicant-modern .applicant-modern-fieldset { min-width: 0; margin: 0; padding: 20px 0 0; border: 0; border-top: 1px solid var(--am-line); }
body.candidate-portal.oj-applicant-modern .applicant-modern-fieldset legend { max-width: 100%; padding: 0 16px 0 0; font-size: 1rem; font-weight: 750; color: var(--am-ink); letter-spacing: -.02em; }
body.candidate-portal.oj-applicant-modern .applicant-modern-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 22px; }
body.candidate-portal.oj-applicant-modern :is(.form-grid,.applicant-modern-fields) label { min-width: 0; display: grid; gap: 7px; align-content: start; color: var(--am-ink) !important; font-size: .82rem; font-weight: 650; }
body.candidate-portal.oj-applicant-modern :is(input,select,textarea) { max-width: 100%; accent-color: var(--am-olive); }
body.candidate-portal.oj-applicant-modern :is(.form-grid,.career-filter-form,.career-location-field,.applicant-privacy-duration) :is(input,select,textarea) { width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px; border: 1px solid var(--am-border); border-radius: 8px; background: var(--am-surface); color: var(--am-ink); font: inherit; font-size: 1rem; box-shadow: none; }
body.candidate-portal.oj-applicant-modern input::placeholder { color: var(--am-muted); opacity: 1; }
body.candidate-portal.oj-applicant-modern .applicant-modern-hint { color: var(--am-muted); font-size: .75rem; line-height: 1.5; font-weight: 400; }
body.candidate-portal.oj-applicant-modern :is(button,.applicant-primary,.applicant-secondary,.career-job-actions a) { min-height: 44px; max-width: 100%; padding: 11px 17px; border: 1px solid var(--am-border); border-radius: 8px; font: inherit; font-size: .875rem; font-weight: 650; line-height: 1.4; text-align: center; text-decoration: none; cursor: pointer; white-space: normal; overflow-wrap: anywhere; }
body.candidate-portal.oj-applicant-modern :is(button,.applicant-secondary,.career-job-actions a) { color: var(--am-ink); background: var(--am-surface); }
body.candidate-portal.oj-applicant-modern :is([data-modern-go-profile],.applicant-primary,.profile-form button,.form-grid button[type="submit"],.career-apply-slot > button,.career-job-actions a:last-child) { background: var(--am-olive) !important; border-color: var(--am-olive); color: #fff !important; }
body.candidate-portal.oj-applicant-modern #candidate-profile-form > button[type="submit"] { justify-self: start; width: auto; min-width: 180px; padding-inline: 24px; }
body.candidate-portal.oj-applicant-modern :is(button,.applicant-primary,.applicant-secondary,.career-job-actions a):hover { filter: brightness(.96); }
body.candidate-portal.oj-applicant-modern :is(button,input,select,textarea):disabled { opacity: .62; cursor: not-allowed; }
body.candidate-portal.oj-applicant-modern .form-message:empty { display: none; }
body.candidate-portal.oj-applicant-modern :is(.applicant-muted,.applicant-sync,.applicant-record small,.applicant-privacy-intro,.applicant-privacy-notice-meta,.applicant-privacy-help,.applicant-privacy-withdraw,.applicant-privacy-empty,.applicant-privacy-history-meta dt) { color: var(--am-muted); font-size: .83rem; }
body.candidate-portal.oj-applicant-modern .applicant-upload { margin-top: 22px; padding: 22px; gap: 14px; border: 1px dashed var(--am-border); border-radius: 12px; background: var(--am-soft); }
body.candidate-portal.oj-applicant-modern .applicant-upload label { color: var(--am-ink); }
body.candidate-portal.oj-applicant-modern .applicant-upload input[type="file"] { min-width: 0; min-height: 44px; color: var(--am-ink); font: inherit; font-size: .875rem; }
body.candidate-portal.oj-applicant-modern input[type="file"]::file-selector-button { min-height: 44px; max-width: 100%; margin: 0 12px 6px 0; padding: 10px 14px; border: 1px solid var(--am-border); border-radius: 8px; background: var(--am-surface); color: var(--am-ink); font: inherit; font-weight: 650; cursor: pointer; }
body.candidate-portal.oj-applicant-modern .applicant-list { gap: 10px; margin-top: 20px; }
body.candidate-portal.oj-applicant-modern .applicant-record { padding: 17px 18px; border-color: var(--am-line); border-radius: 10px; background: var(--am-surface); color: var(--am-ink); }
body.candidate-portal.oj-applicant-modern :is(.applicant-empty,.career-empty) { padding: 22px; border-color: var(--am-border); border-radius: 10px; background: var(--am-soft); color: var(--am-muted); }
body.candidate-portal.oj-applicant-modern .applicant-summary { margin: 20px 0; padding: 22px; border: 1px solid var(--am-line); border-left: 3px solid var(--am-olive); background: var(--am-soft); color: var(--am-ink); }
body.candidate-portal.oj-applicant-modern .applicant-summary strong { font-size: 1.25rem; }
body.candidate-portal.oj-applicant-modern :is(.applicant-feedback,.applicant-privacy-feedback,.applicant-privacy-form-feedback) { background: var(--am-tint); color: var(--am-ink); }
body.candidate-portal.oj-applicant-modern :is(.applicant-feedback,.applicant-list,.applicant-privacy-feedback,.applicant-privacy-form-feedback).is-error { background: var(--am-error-bg); color: var(--am-error); border-color: var(--am-error); }
body.candidate-portal.oj-applicant-modern :is(#candidate-profile-message,.form-message).is-error { color: var(--am-error); }
body.candidate-portal.oj-applicant-modern .applicant-dirty { color: var(--am-warning); }
body.candidate-portal.oj-applicant-modern :is(.applicant-privacy-review,.applicant-privacy-expiry.is-expiring,.page-message) { color: var(--am-warning); background: var(--am-warning-bg); border-color: var(--am-warning); }
body.candidate-portal.oj-applicant-modern :is(.applicant-privacy-card,.applicant-privacy-fieldset,.applicant-privacy-history) { padding: 20px; border-color: var(--am-line); background: var(--am-soft); color: var(--am-ink); }
body.candidate-portal.oj-applicant-modern :is(.applicant-privacy-notice,.applicant-privacy-application,.applicant-privacy-ack,.applicant-privacy-ack-current,.applicant-privacy-renew) { background: var(--am-tint); border-color: var(--am-border); color: var(--am-ink); }
body.candidate-portal.oj-applicant-modern :is(.applicant-privacy-current,.applicant-privacy-history-item) { background: var(--am-surface); border-color: var(--am-line); color: var(--am-ink); }
body.candidate-portal.oj-applicant-modern :is(.applicant-privacy-history-meta dd,.applicant-privacy-history-notice p) { color: var(--am-ink); }
body.candidate-portal.oj-applicant-modern .applicant-privacy-link { color: var(--am-olive); padding-block: 10px; min-height: 44px; }
body.candidate-portal.oj-applicant-modern .applicant-privacy-choice { padding-block: 10px; min-height: 44px; }
body.candidate-portal.oj-applicant-modern .applicant-privacy-choice input { accent-color: var(--am-olive); }
body.candidate-portal.oj-applicant-modern .career-filter-form { margin-top: 24px; }
body.candidate-portal.oj-applicant-modern .career-filter-form fieldset { min-width: 0; padding: 20px; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); background: var(--am-soft); border-color: var(--am-line); }
body.candidate-portal.oj-applicant-modern .career-filter-form legend { color: var(--am-ink); }
body.candidate-portal.oj-applicant-modern .career-job-grid { gap: 16px; }
body.candidate-portal.oj-applicant-modern .career-job-card { padding: 22px; border-color: var(--am-line); border-radius: 12px; background: var(--am-surface); }
body.candidate-portal.oj-applicant-modern .career-job-card h3 { font-size: 1.15rem; line-height: 1.35; }
body.candidate-portal.oj-applicant-modern .career-job-card h3 a { color: var(--am-ink); display: inline-flex; align-items: center; min-height: 44px; padding-block: 5px; }
body.candidate-portal.oj-applicant-modern .career-job-actions { align-items: stretch; gap: 8px; }
body.candidate-portal.oj-applicant-modern .career-apply-slot { min-width: 0; max-width: 100%; }
body.candidate-portal.oj-applicant-modern #career-artemis .aveo-loader { border-color: var(--am-line); border-top-color: var(--am-olive); }

/* Explicit theme opt-in only: the primary experience remains light. */
html[data-oj-theme="dark"] body.candidate-portal.oj-applicant-modern {
  --am-bg: #1b1e1a;
  --am-surface: #242823;
  --am-soft: #2b3028;
  --am-ink: #eeeee6;
  --am-muted: #b8bdaf;
  --am-line: #42493b;
  --am-border: #7f8973;
  --am-olive: #bdd092;
  --am-hover: #cedead;
  --am-tint: #343e2b;
  --am-focus: #a4ceff;
  --am-error: #ffb6a9;
  --am-error-bg: #422b26;
  --am-warning: #f2cf8f;
  --am-warning-bg: #403522;
  color-scheme: dark;
}
html[data-oj-theme="dark"] body.candidate-portal.oj-applicant-modern :is([data-modern-go-profile],.applicant-primary,.profile-form button,.form-grid button[type="submit"],.career-apply-slot > button,.career-job-actions a:last-child) { color: #202718 !important; }

@media (max-width: 700px) {
  body.candidate-portal.oj-applicant-modern .workspace-header { min-height: 68px; padding: 10px 16px; gap: 12px; align-items: center; }
  body.candidate-portal.oj-applicant-modern .brand span,
  body.candidate-portal.oj-applicant-modern .user-email { display: none; }
  body.candidate-portal.oj-applicant-modern .header-actions { gap: 6px; }
  body.candidate-portal.oj-applicant-modern .workspace-layout > .content { padding: 22px 16px 44px; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-hub { padding: 22px 20px 0; gap: 22px; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-next { margin-inline: -20px; padding: 16px 20px; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-summary > :is(article,div) { padding-inline: 14px; }
  body.candidate-portal.oj-applicant-modern :is(.panel,.applicant-panel) { padding: 22px 20px; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-fields,
  body.candidate-portal.oj-applicant-modern .career-filter-form fieldset,
  body.candidate-portal.oj-applicant-modern .career-job-grid { grid-template-columns: minmax(0,1fr); }
  body.candidate-portal.oj-applicant-modern .applicant-tabs button { flex: 1 1 130px; padding-inline: 10px; }
}
@media (max-width: 420px) {
  body.candidate-portal.oj-applicant-modern .workspace-header { padding-inline: 12px; gap: 8px; }
  body.candidate-portal.oj-applicant-modern .brand img { width: 32px; height: 32px; }
  body.candidate-portal.oj-applicant-modern .language-picker { padding-inline: 6px; gap: 4px; }
  body.candidate-portal.oj-applicant-modern .language-picker select { max-width: 108px; }
  body.candidate-portal.oj-applicant-modern .logout { padding-inline: 9px; }
  body.candidate-portal.oj-applicant-modern .workspace-layout > .content { padding-inline: 12px; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-hub { padding: 20px 16px 0; border-radius: 14px; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-summary { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 0; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-summary > :nth-child(2) { padding-right: 0; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-summary > :last-child { grid-column: 1 / -1; padding: 14px 0 0; border-left: 0; border-top: 1px solid var(--am-line); }
  body.candidate-portal.oj-applicant-modern .applicant-modern-next { margin-inline: -16px; padding: 16px; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-next button { width: 100%; }
  body.candidate-portal.oj-applicant-modern .applicant-tabs { gap: 4px; padding: 4px; }
  body.candidate-portal.oj-applicant-modern .applicant-tabs button { flex-basis: 115px; font-size: .79rem; }
  body.candidate-portal.oj-applicant-modern :is(.panel,.applicant-panel) { padding: 20px 16px; border-radius: 12px; }
  body.candidate-portal.oj-applicant-modern :is(.applicant-upload,.applicant-privacy-card,.applicant-privacy-fieldset,.applicant-privacy-history,.career-filter-form fieldset,.career-job-card) { padding: 14px; }
  body.candidate-portal.oj-applicant-modern .applicant-privacy-heading { flex-direction: column; }
  body.candidate-portal.oj-applicant-modern .applicant-privacy-history-meta { grid-template-columns: minmax(0,1fr); }
  body.candidate-portal.oj-applicant-modern .applicant-record { padding: 14px; align-items: flex-start; }
  body.candidate-portal.oj-applicant-modern :is(.applicant-record .applicant-secondary,.applicant-upload .applicant-primary,#candidate-profile-form > button[type="submit"]) { width: 100%; min-width: 0; }
  body.candidate-portal.oj-applicant-modern .career-job-actions > :is(a,.career-apply-slot) { width: 100%; flex: 1 1 100%; justify-content: center; }
  body.candidate-portal.oj-applicant-modern .career-apply-slot > button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body.candidate-portal.oj-applicant-modern *,
  body.candidate-portal.oj-applicant-modern *::before,
  body.candidate-portal.oj-applicant-modern *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* Keep the overview compact; the form and original modules remain the main task. */
body.candidate-portal.oj-applicant-modern .applicant-modern-skip { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
body.candidate-portal.oj-applicant-modern .applicant-modern-skip:focus { position:fixed; top:8px; left:8px; width:auto; height:auto; clip-path:none; z-index:20; padding:12px 18px; background:var(--am-surface); border:1px solid var(--am-border); border-radius:8px; }
@media(min-width:1000px) {
  body.candidate-portal.oj-applicant-modern .applicant-modern-hub { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); align-items:center; gap:22px; padding-top:24px; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-heading h2 { font-size:1.65rem; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-heading p[data-modern-intro] { font-size:.875rem; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-next { grid-column:1/-1; }
}
@media(max-width:700px) {
  body.candidate-portal.oj-applicant-modern .applicant-modern-heading p[data-modern-intro] { display:none; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-hub { gap:16px; }
  body.candidate-portal.oj-applicant-modern .applicant-modern-heading h2 { font-size:1.45rem; }
}
@media(max-width:700px) {
  /* The existing welcome is the mobile heading; avoid repeating a second hero. */
  body.candidate-portal.oj-applicant-modern .applicant-modern-heading { display:none; }
}

/* Layout refinement: approved access badge is presentation only. Pending/error UI stays. */
body.candidate-portal.oj-applicant-modern:has(#approved-content:not([hidden])) #access-badge { display:none !important; }
