/* stylelint-disable */

/**
 * Scale Army Careers — Ashby Custom CSS
 * Unified with careers page design system
 *
 * Palette:
 *   #006451  — teal (primary actions, card hover, headings)
 *   #00563a  — teal dark (hover states, text)
 *   #c7b1fb  — lavender (gradient top, card borders)
 *   #a9aafb  — lavender mid (accents)
 *   #fff0db  — cream (badges, surfaces)
 *   #fffcf0  — off-white (page background)
 *   #00c9a2  — mint (tiny accent detail)
 *
 * Fonts: Work Sans + Google Sans Code
 * Both loaded via WordPress parent page — not imported here.
 */

/* ══════════════════════════════════════════
   TOKENS
══════════════════════════════════════════ */
:root {
  /* Updated brand palette */
  --sa-teal:           #006451;
  --sa-teal-dark:      #00563a;
  --sa-teal-light:     #d4f0e8;
  --sa-mint:           #00c9a2;
  --sa-lavender:       #c7b1fb;
  --sa-lavender-mid:   #a9aafb;
  --sa-cream:          #fff0db;
  --sa-bg:             #fffcf0;
  --sa-ink:            #00563a;
  --sa-border:         #006451;
  --sa-border-soft:    rgba(0, 100, 81, 0.22);
  --sa-shadow-hover:   0 6px 24px rgba(0, 86, 58, 0.14);
  --sa-mono:           'Google Sans Code', 'Source Code Pro', monospace;

  /* Ashby overrides */
  --colorPrimary900:       #006451;
  --colorPrimary600:       #00563a;
  --colorAppBackground:    #fffcf0;
  --widthMaxJobBoard:      1280px;
  --borderRadiusContainer: 6px;
  --borderRadiusControl:   5px;
  --borderRadiusButton:    10px;
  --fontFamily:            'Work Sans', sans-serif;

  /* Spacing scale */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px; --sp-12: 48px;
}

/* ══════════════════════════════════════════
   BASE
══════════════════════════════════════════ */
body, body * {
  font-family: 'Work Sans', sans-serif !important;
  box-sizing: border-box !important;
  font-style: normal !important;
  -webkit-font-smoothing: antialiased !important;
}

body {
  background: var(--sa-bg) !important;
  color: var(--sa-ink) !important;
}

/* ══════════════════════════════════════════
   LAYOUT — use only safe Ashby named classes
   Never override hashed internal classes for
   layout as they affect both job board and
   job detail pages unpredictably.
══════════════════════════════════════════ */

/* Widen the board container via the named class Ashby exposes */
.ashby-job-posting-brief-list,
.ashby-job-board-heading,
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  max-width: 100% !important;
  width: 100% !important;
}

/* ══════════════════════════════════════════
   JOB BOARD HEADING — "OPEN ROLES (94)"
   Styled as outlined box, all caps
══════════════════════════════════════════ */
.ashby-job-board-heading {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
  border: 1.5px solid var(--sa-teal) !important;
  border-radius: 5px !important;
  padding: 10px 20px !important;
  margin-bottom: var(--sp-8) !important;
  background: transparent !important;
}

.ashby-job-board-heading-count {
  font-family: var(--sa-mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  color: var(--sa-ink) !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

/* ══════════════════════════════════════════
   FILTERS
══════════════════════════════════════════ */
.ashby-job-board-filters-label {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
}

.ashby-job-board-reset-filters-label {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
  opacity: 0.55 !important;
  cursor: pointer !important;
  transition: opacity 0.15s !important;
}
.ashby-job-board-reset-filters-label:hover {
  opacity: 1 !important;
}

/* Hide Location, Employment Type, Location Type */
select[aria-label="Location"],
select[aria-label="Employment Type"],
select[aria-label="Location Type"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
}

/* Nuclear filter hide — show only Department */
/* Outer filter wrapper: labels + dropdown + reset all in one row */
[class*="_filtersContainer_"],
[class*="_filters_"] {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  width: auto !important;
  max-width: none !important;
}

[class*="_filterContainer_"] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

[class*="_filterContainer_"]:first-child {
  display: block !important;
  visibility: visible !important;
  position: relative !important;
  width: 280px !important;
  height: auto !important;
  overflow: visible !important;
  pointer-events: auto !important;
}

/* Chevron arrow on department filter */
[class*="_filterContainer_"]:first-child::after {
  content: '' !important;
  position: absolute !important;
  right: 14px !important;
  top: 50% !important;
  transform: translateY(-50%) rotate(45deg) !important;
  width: 6px !important;
  height: 6px !important;
  border-right: 1.5px solid var(--sa-teal) !important;
  border-bottom: 1.5px solid var(--sa-teal) !important;
  pointer-events: none !important;
}

[class*="_filterContainer_"]:first-child select,
select[aria-label="Department"] {
  display: block !important;
  width: 100% !important;
  appearance: none !important;
  font-family: 'Work Sans', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--sa-ink) !important;
  background: var(--sa-bg) !important;
  border: 1px solid var(--sa-border-soft) !important;
  border-radius: 5px !important;
  padding: 10px 36px 10px 14px !important;
  cursor: pointer !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

[class*="_filterContainer_"]:first-child select:focus,
select[aria-label="Department"]:focus {
  outline: none !important;
  border-color: var(--sa-teal) !important;
  box-shadow: 0 0 0 3px rgba(0, 100, 81, 0.12) !important;
}

[class*="_filterIconContainer_"],
[class*="_filterIconContainer"] {
  display: none !important;
}

/* ══════════════════════════════════════════
   DEPARTMENT HEADINGS
══════════════════════════════════════════ */
.ashby-department-heading,
.ashby-job-posting-brief-department-heading,
[class*="_departmentHeading_"] {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
  padding-bottom: 12px !important;
  border-bottom: 1.5px solid var(--sa-border-soft) !important;
  margin-top: var(--sp-10) !important;
  margin-bottom: var(--sp-4) !important;
  background: transparent !important;
}

.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
}

/* ══════════════════════════════════════════
   CARD GRID — 3 columns
══════════════════════════════════════════ */
.ashby-job-posting-brief-list {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 14px !important;
  margin-top: var(--sp-4) !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* ══════════════════════════════════════════
   JOB CARDS
   Purple dashed border → green dashed on hover
══════════════════════════════════════════ */
.ashby-job-posting-brief {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  height: auto !important;
  min-height: unset !important;
  background: var(--sa-bg) !important;
  border: 1.5px dashed #c7b1fb !important;
  border-radius: 6px !important;
  padding: 20px 24px !important;
  cursor: pointer !important;
  overflow: hidden !important;
  text-decoration: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
}

.ashby-job-posting-brief:hover {
  border-color: #006451 !important;
  border-style: dashed !important;
  box-shadow: var(--sa-shadow-hover) !important;
  transform: translateY(-2px) !important;
}

.ashby-job-posting-brief-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--sa-ink) !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-break: break-word !important;
  margin: 0 0 4px 0 !important;
}

/* Compensation text — Google Sans Code */
.ashby-job-posting-brief-details,
[class*="_detailsCompensation_"] {
  font-family: 'Google Sans Code', 'Source Code Pro', monospace !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
  line-height: 1.7 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Hide location row in card, show only compensation */
[class*="_details_1cp2r"] p:first-child {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
}

[class*="_detailsCompensation_"] {
  display: block !important;
  visibility: visible !important;
}

/* ══════════════════════════════════════════
   JOB DETAIL — HEADER BAND
   Gradient matches hero. We do NOT override
   Ashby's flex layout for the back button —
   it's controlled by Ashby's JS/layout.
══════════════════════════════════════════ */
.ashby-job-posting-header {
  background: linear-gradient(180deg, #c7b1fb 0%, #fffcf0 100%) !important;
  border-radius: 0 !important;
  border: none !important;
  padding: 32px 64px 40px !important;
  margin-bottom: 0 !important;
}

/* Back button */
.ashby-job-board-back-to-all-jobs-button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--sa-teal) !important;
  background: rgba(255, 252, 240, 0.75) !important;
  border: 1px solid var(--sa-border-soft) !important;
  border-radius: var(--borderRadiusButton) !important;
  padding: 8px 14px !important;
  margin-bottom: 20px !important;
  cursor: pointer !important;
  transition: background 0.15s, border-color 0.15s !important;
}
.ashby-job-board-back-to-all-jobs-button:hover {
  background: var(--sa-bg) !important;
  border-color: var(--sa-teal) !important;
}

/* Job title — size matches what Ashby's layout can accommodate */
.ashby-job-posting-heading {
  font-size: 28px !important;
  font-weight: 600 !important;
  color: var(--sa-ink) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
}

/* ══════════════════════════════════════════
   JOB DETAIL — LEFT PANE (meta sidebar)
══════════════════════════════════════════ */
.ashby-job-posting-left-pane {
  font-size: 14px !important;
  color: var(--sa-ink) !important;
  line-height: 1.5 !important;
  background: transparent !important;
  padding-right: 48px !important;
  padding-top: 16px !important;
  padding-left: 0 !important;
}

/* Hide Location section from left pane */
[class*="_section_101oc"]:nth-child(1),
[class*="_section_101oc"]:nth-child(2),
[class*="_section_101oc"]:nth-child(3) {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Meta labels — DEPARTMENT, COMPENSATION */
.ashby-job-posting-left-pane label,
.ashby-job-posting-left-pane dt,
.ashby-job-posting-left-pane h3,
.ashby-job-posting-left-pane h4,
[class*="_jobPostingMeta_"],
[class*="_locationText_"],
[class*="_employmentType_"],
[class*="_metaItem_"] {
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin-bottom: 6px !important;
}

/* ══════════════════════════════════════════
   JOB DETAIL — RIGHT PANE & TABS
══════════════════════════════════════════ */
.ashby-job-posting-right-pane {
  background: var(--sa-bg) !important;
  border: 1px solid var(--sa-border-soft) !important;
  border-radius: var(--borderRadiusContainer) !important;
  overflow: hidden !important;
  margin-left: 0 !important;
  margin-top: 40px !important;
}

/* Force background throughout right pane — background only, no border cascade */
.ashby-job-posting-right-pane > *,
[class*="_rightPane_"],
[class*="_tabContent_"],
[class*="_overview_"],
[class*="_applicationTab_"],
.ashby-job-posting-right-pane *,
.ashby-application-form-container *,
[class*="_applicationTab_"] *,
[class*="_tabPanel_"] *,
[class*="_formContent_"] * {
  background-color: #fffcf0 !important;
}

/* Autofill root: lavender box, single border, no children inherit it */
.ashby-application-form-autofill-input-root {
  background: #ede8fe !important;
  background-color: #ede8fe !important;
  border: 1px solid rgba(199, 177, 251, 0.5) !important;
  border-radius: 8px !important;
  padding: var(--sp-5) !important;
}
.ashby-application-form-autofill-input-root * {
  background-color: transparent !important;
  border: none !important;
}

/* Tabs */
.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab {
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--sa-ink) !important;
}

.ashby-job-posting-right-pane-tab-slider {
  background: var(--sa-teal) !important;
  border-radius: 3px !important;
}

/* ══════════════════════════════════════════
   JOB DESCRIPTION BODY TEXT
══════════════════════════════════════════ */
[class*="_descriptionText_"],
[class*="_descriptionText_"] p,
[class*="_descriptionText_"] li,
[class*="_descriptionText_"] span {
  font-size: 15px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  line-height: 1.75 !important;
}

[class*="_descriptionText_"] h1,
[class*="_descriptionText_"] h2,
[class*="_descriptionText_"] h3 {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--sa-ink) !important;
  letter-spacing: -0.01em !important;
  margin-top: var(--sp-8) !important;
  margin-bottom: var(--sp-3) !important;
}

[class*="_descriptionText_"] strong {
  font-weight: 600 !important;
  color: var(--sa-ink) !important;
}

[class*="_descriptionText_"] ul,
[class*="_descriptionText_"] ol {
  padding-left: var(--sp-5) !important;
  margin-bottom: var(--sp-4) !important;
}

[class*="_descriptionText_"] li {
  margin-bottom: var(--sp-1) !important;
}

/* ══════════════════════════════════════════
   FORM — LAYOUT
══════════════════════════════════════════ */
.ashby-application-form-container {
  padding: var(--sp-8) !important;
  background: var(--sa-bg) !important;
}

.ashby-application-form-section-container {
  margin-bottom: var(--sp-8) !important;
}

/* ══════════════════════════════════════════
   FORM — TYPOGRAPHY HIERARCHY
══════════════════════════════════════════ */
.ashby-application-form-container * {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  line-height: 1.6 !important;
}

[class*="_title_135ul_100"],
.ashby-application-form-section-header-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--sa-ink) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 4px !important;
}

[class*="_sectionDescription_135ul"],
.ashby-application-form-section-header-description {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
  margin-bottom: 20px !important;
}

.ashby-application-form-question-title,
.ashby-application-form-field-entry > label:first-of-type {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--sa-ink) !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 6px !important;
  display: block !important;
}

.ashby-application-form-question-description,
[class*="_selectAllThatApply"],
[class*="_multiSelectHint"] {
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
  margin-bottom: var(--sp-3) !important;
}

.ashby-application-form-field-entry label,
[class*="_optionLabel"],
[class*="_radioLabel"],
[class*="_checkboxLabel"] {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  line-height: 1.5 !important;
}

/* ══════════════════════════════════════════
   FORM — TEXT INPUTS
   Scoped to form fields only, not autofill internals
══════════════════════════════════════════ */
.ashby-application-form-field-entry input:not([type="radio"]):not([type="checkbox"]),
.ashby-application-form-field-entry textarea,
.ashby-application-form-field-entry select {
  font-size: 14px !important;
  color: var(--sa-ink) !important;
  background: var(--sa-bg) !important;
  border: 1px solid var(--sa-border-soft) !important;
  border-radius: 5px !important;
  padding: 11px 14px !important;
  width: 100% !important;
  transition: border-color 0.15s, box-shadow 0.15s !important;
}

.ashby-application-form-field-entry input:focus,
.ashby-application-form-field-entry textarea:focus,
.ashby-application-form-field-entry select:focus {
  outline: none !important;
  border-color: var(--sa-teal) !important;
  box-shadow: 0 0 0 3px rgba(0, 100, 81, 0.12) !important;
}

/* ══════════════════════════════════════════
   FORM — RADIO CIRCLES (custom Ashby component)
══════════════════════════════════════════ */
[class*="_container_ruukg"] input[type="radio"] {
  display: none !important;
}

[class*="_circle_ruukg"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  border-radius: 50% !important;
  border: 2px solid var(--sa-border-soft) !important;
  background: #fffcf0 !important;
  box-shadow: none !important;
  flex-shrink: 0 !important;
  position: relative !important;
}

[class*="_checked_ruukg"] [class*="_circle_ruukg"] {
  border: 2px solid var(--sa-teal) !important;
  background: #fffcf0 !important;
}

[class*="_checked_ruukg"] [class*="_circle_ruukg"]::after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--sa-teal) !important;
}

[class*="_container_ruukg"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  flex-shrink: 0 !important;
}

[class*="_option_1v5e2"] {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  background: transparent !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  position: relative !important;
}

[class*="_option_1v5e2"] label {
  cursor: pointer !important;
  display: block !important;
  width: 100% !important;
}

[class*="_label_1v5e2"] {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--sa-ink) !important;
  cursor: pointer !important;
  flex: 1 !important;
  padding: 4px 0 !important;
}

[class*="_checked_1v5e2"],
[class*="_label_1v5e2"][class*="_checked"] {
  color: var(--sa-teal) !important;
  font-weight: 600 !important;
  background: transparent !important;
}

/* ══════════════════════════════════════════
   FORM — CHECKBOXES (custom Ashby component)
   Hide SVG overlay, reveal native checkbox
══════════════════════════════════════════ */
[class*="_container_1hpbx"],
[class*="_container_1hpbx_29"],
span[class*="_container_1hpbx"] {
  position: relative !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  max-width: 18px !important;
  min-height: 18px !important;
  max-height: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/* Hide only the SVG overlay — not the input */
[class*="_container_1hpbx"] svg,
span[class*="_container_1hpbx"] svg {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

[class*="_container_1hpbx"] input[type="checkbox"],
span[class*="_container_1hpbx"] input[type="checkbox"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 3px !important;
  accent-color: var(--sa-teal) !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 2 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* ══════════════════════════════════════════
   FORM — YES/NO BUTTONS
══════════════════════════════════════════ */
[class*="_yesno_"] {
  display: flex !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 400px !important;
}

[class*="_option_y2cw4"] {
  flex: 1 !important;
  width: auto !important;
  min-width: 120px !important;
  padding: 12px 24px !important;
  white-space: nowrap !important;
  text-align: center !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  border-radius: 10px !important;
  border: 1.5px solid var(--sa-border-soft) !important;
  background: #fffcf0 !important;
  color: var(--sa-ink) !important;
  cursor: pointer !important;
  transition: all 0.15s !important;
}

[class*="_option_y2cw4"]:hover {
  border-color: var(--sa-teal) !important;
  background: var(--sa-teal-light) !important;
}

[class*="_input_y2cw4"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

[class*="_active_y2cw4"] {
  background: var(--sa-teal) !important;
  background-color: var(--sa-teal) !important;
  color: #fffcf0 !important;
  border-color: var(--sa-teal) !important;
  font-weight: 600 !important;
}

[class*="_active_y2cw4"]:hover {
  background: var(--sa-teal-dark) !important;
  color: #fffcf0 !important;
}

/* ══════════════════════════════════════════
   FORM — BOOLEAN / SEGMENTED BUTTONS
══════════════════════════════════════════ */
[class*="_booleanButton_"],
[class*="_segmentedButton_"],
[class*="_boolean_"] button,
[class*="_booleanOption"],
[class*="_segmentedOption"],
[class*="_toggleOption"] {
  font-size: 14px !important;
  font-weight: 500 !important;
  background: #fffcf0 !important;
  color: var(--sa-ink) !important;
  border: 1.5px solid var(--sa-border-soft) !important;
  border-radius: 10px !important;
  padding: 10px 28px !important;
  cursor: pointer !important;
  min-width: 80px !important;
  transition: all 0.15s !important;
}

[class*="_booleanButton_"]:hover,
[class*="_segmentedButton_"]:hover,
[class*="_boolean_"] button:hover,
[class*="_booleanOption"]:hover,
[class*="_segmentedOption"]:hover {
  border-color: var(--sa-teal) !important;
  background: var(--sa-teal-light) !important;
}

[class*="_booleanButton_"][data-state="on"],
[class*="_booleanButton_"][aria-checked="true"],
[class*="_booleanButton_"][data-active="true"],
[class*="_segmentedButton_"][data-state="on"],
[class*="_boolean_"] button[data-state="on"],
[class*="_boolean_"] button[aria-checked="true"],
[class*="_booleanOption"][aria-checked="true"],
[class*="_segmentedOption"][aria-checked="true"],
[class*="_booleanOption"][data-state="checked"],
[class*="_segmentedOption"][data-state="checked"] {
  background: var(--sa-teal) !important;
  background-color: var(--sa-teal) !important;
  color: #fffcf0 !important;
  border-color: var(--sa-teal) !important;
}

[class*="_booleanOption"][aria-checked="true"] *,
[class*="_segmentedOption"][aria-checked="true"] * {
  color: #fffcf0 !important;
}

/* ══════════════════════════════════════════
   FORM — FILE UPLOAD / AUTOFILL
══════════════════════════════════════════ */
.ashby-application-form-autofill-uploader {
  border: 1.5px dashed var(--sa-border-soft) !important;
  border-radius: 6px !important;
  background: var(--sa-bg) !important;
  padding: var(--sp-8) !important;
  transition: border-color 0.15s, background 0.15s !important;
}

.ashby-application-form-autofill-uploader:hover {
  border-color: var(--sa-teal) !important;
  background: var(--sa-teal-light) !important;
}

.ashby-application-form-autofill-input-root {
  background-color: #ede8fe !important;
  border: 1px solid rgba(199, 177, 251, 0.5) !important;
  border-radius: 8px !important;
  padding: var(--sp-5) !important;
}

/* All autofill children: transparent bg, no border */
.ashby-application-form-autofill-input-root *,
.ashby-application-form-autofill-input-root [class*="_base_"],
.ashby-application-form-autofill-input-root [class*="_content_"],
.ashby-application-form-autofill-input-root [class*="_header_"],
.ashby-application-form-autofill-input-root [class*="_iconContainer_"] {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* The text input inside autofill — no border, transparent */
.ashby-application-form-autofill-input-root input,
.ashby-application-form-autofill-input-root textarea {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 4px 0 !important;
  width: 100% !important;
}

.ashby-application-form-autofill-input-title {
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--sa-ink) !important;
  background: transparent !important;
  border: none !important;
}

.ashby-application-form-autofill-input-description {
  font-size: 13px !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
  background: transparent !important;
  border: none !important;
}

/* Upload / secondary buttons */
[class*="_secondary_"],
[class*="_uploadButton_"],
[class*="_fileUpload_"] button,
[class*="_upload_"] button,
.ashby-application-form-autofill-input-root button,
[class*="_uploadButton"],
[class*="_autofillButton"],
[class*="_fileButton"],
button[class*="_upload"],
button[class*="_file"] {
  background: var(--sa-teal) !important;
  background-color: var(--sa-teal) !important;
  color: #fffcf0 !important;
  border: none !important;
  border-radius: var(--borderRadiusButton) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 10px 20px !important;
  width: auto !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

[class*="_secondary_"]:hover,
[class*="_uploadButton_"]:hover,
button[class*="_upload"]:hover,
button[class*="_file"]:hover,
[class*="_autofillButton"]:hover {
  background: var(--sa-teal-dark) !important;
  background-color: var(--sa-teal-dark) !important;
  color: #fffcf0 !important;
}

[class*="_secondary_"] input[type="file"],
[class*="_secondary_"] input {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
}

[class*="_secondary_"] span,
[class*="_secondary_"] span span {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #fffcf0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  background: transparent !important;
}

[class*="_secondary_"] svg,
[class*="_secondary_"] > svg {
  display: none !important;
}

/* Drag text */
[class*="_dragText_"],
[class*="_dropText_"],
[class*="_orText_"],
[class*="_dragInstructions_"] {
  font-size: 13px !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
  font-weight: 400 !important;
}

/* ══════════════════════════════════════════
   FORM — SUBMIT BUTTON
══════════════════════════════════════════ */
.ashby-application-form-submit-button,
[class*="_submitButton_"],
[class*="_primary_"],
[class*="_button_"][class*="_primary_"],
[class*="_greedy_"] {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  background: var(--sa-teal) !important;
  color: #fffcf0 !important;
  border: none !important;
  border-radius: var(--borderRadiusButton) !important;
  padding: 14px 32px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: background 0.15s, transform 0.1s !important;
  position: relative !important;
  overflow: hidden !important;
}

.ashby-application-form-submit-button:hover,
[class*="_submitButton_"]:hover,
[class*="_primary_"]:hover {
  background: var(--sa-teal-dark) !important;
}

.ashby-application-form-submit-button:active,
[class*="_primary_"]:active {
  transform: scale(0.99) !important;
}

/* Hide stray inputs and SVGs inside submit button */
.ashby-application-form-submit-button input,
[class*="_submitButton_"] input,
[class*="_submitButton_"] input[type="file"],
[class*="_submitButton_"] input[type="checkbox"],
[class*="_primary_"][class*="_greedy_"] input,
[class*="_primary_"] input[type="checkbox"],
[class*="_greedy_"] input,
[class*="_greedy_"] input[type="checkbox"],
[class*="_button_8wvgw"][class*="_primary_"][class*="_greedy_"] input {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

[class*="_submitButton_"] svg,
[class*="_primary_"][class*="_greedy_"] svg {
  display: none !important;
}

[class*="_submitButton_"] span,
[class*="_submitButton_"] span span {
  color: #fffcf0 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ══════════════════════════════════════════
   FORM — FEEDBACK STATES
══════════════════════════════════════════ */
.ashby-application-form-success-container {
  background: var(--sa-teal-light) !important;
  border: 1px solid rgba(0, 100, 81, 0.2) !important;
  border-radius: 6px !important;
  padding: var(--sp-8) !important;
  text-align: center !important;
  color: var(--sa-teal) !important;
}

.ashby-application-form-failure-container {
  background: #fef2f2 !important;
  border: 1px solid #fecaca !important;
  border-radius: 6px !important;
  padding: var(--sp-6) !important;
  color: #b91c1c !important;
}

.ashby-application-form-autofill-input-form-alert[data-highlight="positive"] {
  background: var(--sa-teal-light) !important;
  color: var(--sa-teal) !important;
  border-radius: var(--borderRadiusButton) !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
}

.ashby-application-form-autofill-input-form-alert[data-highlight="negative"] {
  background: #fef2f2 !important;
  color: #b91c1c !important;
  border-radius: var(--borderRadiusButton) !important;
  padding: 10px 14px !important;
  font-size: 13px !important;
}

.ashby-application-form-blocked-application-container {
  background: var(--sa-cream) !important;
  border: 1px solid var(--sa-border-soft) !important;
  border-radius: 6px !important;
  padding: var(--sp-6) !important;
  color: var(--sa-ink) !important;
}

.ashby-application-form-texting-consent-description {
  font-size: 12px !important;
  color: var(--sa-ink) !important;
  opacity: 0.65 !important;
  line-height: 1.5 !important;
}
