/* recruitment.css — the shared recruitment module's own rules (2608).
 *
 * Promoted out of two apps' inline <style> blocks and utility-class soup so one
 * set of rules serves every instance, and so the fleet's changed-template colour
 * guard has no literals to catch.
 *
 * Token order everywhere: the app's OWN theme token first, then the fleet
 * --scott-* token, then a neutral literal. An instance that themes itself wins;
 * an instance that has not yet still renders something legible.
 */

/* ── Public careers catalog ──────────────────────────────────────────────── */
.sc-careers { padding: 48px 20px; max-width: 1000px; margin: auto; }
.sc-careers-header { margin-bottom: 32px; }
.sc-careers-eyebrow {
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--public-brand, var(--scott-primary, #1e3a5f));
}
.sc-careers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
}
.sc-careers-card {
  border: 1px solid var(--border, var(--scott-border, #e5e7eb));
  border-radius: 10px;
  padding: 20px;
}
.sc-careers-card--featured {
  border-width: 2px;
  border-color: var(--public-brand, var(--scott-primary, #1e3a5f));
}
.sc-careers-cta { display: inline-block; margin-top: 10px; }
.sc-careers-all { margin-top: 36px; }
.sc-careers-row {
  border-bottom: 1px solid var(--border, var(--scott-border, #e5e7eb));
  padding: 18px 0;
}

/* ── The public employment application ───────────────────────────────────── */
.sc-apply { padding: 40px 20px; max-width: 900px; margin: auto; }
.sc-apply-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
}
.sc-apply-notice {
  border: 2px solid var(--public-accent, var(--scott-warning, #c9941a));
  border-radius: 8px;
  padding: 14px 18px;
  margin: 20px 0;
  font-weight: 700;
}
.sc-apply-errors {
  border: 1px solid var(--scott-error, #b42318);
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 18px;
}
.sc-apply-fieldset {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid var(--border, var(--scott-border, #e5e7eb));
  border-radius: 8px;
}
/* Off-screen, not display:none — a bot that reads the DOM still fills it in. */
.sc-apply-honeypot { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.sc-apply-submit { font-size: 1.1rem; padding: 14px 24px; border: 0; cursor: pointer; }
.application-field { margin: 12px 0; }
.application-field label { display: block; font-weight: 700; margin-bottom: 5px; }
.application-field input:not([type="checkbox"]),
.application-field select,
.application-field textarea {
  width: 100%;
  padding: 10px;
  border: 1px solid var(--border, var(--scott-border, #e5e7eb));
  border-radius: 6px;
}
.application-help { font-size: 0.85rem; opacity: 0.75; margin: 4px 0 0; }
.application-error { color: var(--scott-danger, #b42318); font-weight: 700; }

/* ── Confirmation ───────────────────────────────────────────────────────── */
.sc-thanks { padding: 64px 20px; max-width: 760px; margin: auto; }
.sc-thanks-card {
  border: 1px solid var(--border, var(--scott-border, #e5e7eb));
  border-radius: 10px;
  padding: 20px;
  margin-top: 20px;
}

/* ── Staff pages ────────────────────────────────────────────────────────── */
.sc-form-narrow { max-width: 50rem; }
.sc-ad-copy { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.85rem; }
.sc-copy-status {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  border-radius: 0.5rem;
  padding: 0.75rem 1rem;
  font-weight: 600;
  background: var(--scott-primary, #1e3a5f);
  color: var(--scott-on-primary, #fff);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}
.sc-wanted--on { border-color: var(--scott-primary, #1e3a5f); border-width: 2px; }
.sc-text-open { color: var(--scott-success, #186a3b); }
.sc-text-closed { color: var(--scott-danger, #b42318); }

/* One badge rule per application/posting state, so the two pages cannot drift
 * apart on what "new" or "hired" looks like. */
.sc-status { font-weight: 600; }
.sc-status--new,
.sc-status--open { background: var(--scott-info-bg, #e0ecff); color: var(--scott-info-ink, #1d4ed8); }
.sc-status--reviewing,
.sc-status--screening,
.sc-status--draft,
.sc-status--on_hold { background: var(--scott-muted-bg, #eef0f3); color: var(--scott-muted-ink, #46505f); }
.sc-status--interviewed,
.sc-status--interview,
.sc-status--filled { background: var(--scott-accent-bg, #e6f0fb); color: var(--scott-accent-ink, #17508f); }
.sc-status--hired { background: var(--scott-success-bg, #e3f4e9); color: var(--scott-success-ink, #186a3b); }
.sc-status--rejected,
.sc-status--withdrawn,
.sc-status--closed { background: var(--scott-danger-bg, #fdeceb); color: var(--scott-danger-ink, #b42318); }
