/* ==========================================================================
   Orbital Robotics: Ashby job board theme
   Dark theme matched to orbital-robots.com
   Brand: #1D1B3E (dark brand), #3B45F5 (primary)
   Page background #030308 is taken from the site's meta theme-color tag.
   ========================================================================== */

/* Geist Sans: the font orbital-robots.com displays on the careers page.
   Same files the site self-hosts (@fontsource/geist-sans), served from jsDelivr
   because the iframe can't use the site's own font files. */
@font-face {
  font-family: "Geist Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/geist-sans@5.3.0/files/geist-sans-latin-400-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Geist Sans";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/geist-sans@5.3.0/files/geist-sans-latin-500-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Geist Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/geist-sans@5.3.0/files/geist-sans-latin-600-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Geist Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("https://cdn.jsdelivr.net/npm/@fontsource/geist-sans@5.3.0/files/geist-sans-latin-700-normal.woff2") format("woff2");
}

:root {
  /* ---- Orbital Robotics tokens ---- */
  --or-space: #161616;          /* careers page background on orbital-robots.com (orb-bg) */
  --or-navy: #1D1B3E;           /* dark brand: panels, cards, inputs */
  --or-navy-raised: #26244F;    /* hover / raised surfaces */
  --or-navy-deep: #12112A;      /* input wells, popups */
  --or-blue: #3B45F5;           /* primary brand */
  --or-blue-hover: #5660F7;
  --or-blue-pressed: #2F38D6;
  --or-blue-text: #3B45F5;      /* links and text accents */
  --or-blue-title: #3B45F5;     /* job titles on the list */
  --or-blue-glow: rgba(59, 69, 245, 0.35);
  --or-text: #DCDEE9;           /* off-white body and heading text */
  --or-text-strong: #DCDEE9;    /* text rule: all text is #DCDEE9 or #3B45F5 */
  --or-text-muted: #DCDEE9;
  --or-text-faint: #DCDEE9;
  --or-line: rgba(255, 255, 255, 0.09);
  --or-line-strong: rgba(255, 255, 255, 0.18);
  --or-success: #3DD68C;
  --or-danger: #FF6B7A;
  --or-font: "Geist Sans", "Inter", "Helvetica Neue", Arial, sans-serif;  /* site stack minus unloaded Söhne */

  /* ---- Ashby variables ---- */
  --colorAppBackground: var(--or-space);

  /* Ashby writes the admin theme colors inline on <html>, which beats :root.
     !important is the only way to override them from this file. 900 was set
     to the dark navy in admin, which made Ashby's active states invisible. */
  --colorPrimary600: #3B45F5 !important;
  --colorPrimary900: #3B45F5 !important;

  /* Ashby's built-in components (filters, tabs, footer line, form defaults)
     draw from this neutral scale. Default is light; inverted here so anything
     not styled below still comes out dark. 50 = darkest surface, 950 = white. */
  --colorNeutral50: #16152F;
  --colorNeutral100: #1D1B3E;
  --colorNeutral200: #2A2850;
  --colorNeutral300: #3B3966;
  --colorNeutral400: #5E6162;
  --colorNeutral500: #DCDEE9;
  --colorNeutral600: #DCDEE9;
  --colorNeutral700: #DCDEE9;
  --colorNeutral800: #DCDEE9;
  --colorNeutral900: #DCDEE9;
  --colorNeutral950: #DCDEE9;
  --colorNeutral50A: rgba(29, 27, 62, 0.78);
  --colorNeutral100A: rgba(29, 27, 62, 0.67);
  --colorNeutral200A: rgba(42, 40, 80, 0.51);
  --colorNeutral300A: rgba(59, 57, 102, 0.34);
  --colorNeutral400A: rgba(94, 97, 98, 0.24);
  --colorNeutral500A: rgba(136, 139, 140, 0.16);
  --colorNeutral600A: rgba(136, 139, 140, 0.10);
  --colorNeutralShadow: rgba(0, 0, 0, 0.4);
  --colorPrimaryShadow: rgba(59, 69, 245, 0.35);

  /* Fill the site's 1362px content column */
  --widthMaxContent: 1362px;
  --widthMaxJobBoard: 1362px;
  --widthMaxSubscriptionPreferences: 600px;
  --borderRadiusContainer: 14px;
  --borderRadiusControl: 8px;
  --borderRadiusButton: 999px;
  --fontFamily: var(--or-font);
}

/* ==========================================================================
   Job board: list page
   ========================================================================== */

.ashby-job-board-heading {
  color: var(--or-text);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin-bottom: 8px;
}

.ashby-job-board-heading-count {
  color: var(--or-text);
  font-weight: 600;
}

/* Filters */
.ashby-job-board-filters-label {
  color: var(--or-text-muted);
  font-size: 1rem;
  font-weight: 500;
}

.ashby-job-board-reset-filters-label {
  color: var(--or-blue-text);
  font-size: 1rem;
  cursor: pointer;
}

.ashby-job-board-reset-filters-label:hover {
  color: var(--or-text-strong);
}

.ashby-job-board-filter {
  -webkit-appearance: none;
  appearance: none;
  background-color: var(--or-navy) !important;
  /* Ashby paints the white fill as a background image layered over the
     color; clearing it lets the navy show (inferred from the 7:29 vs 7:36
     screenshots, when only the background-image line changed) */
  background-image: none !important;
  border: 1px solid var(--or-line-strong) !important;
  border-radius: var(--borderRadiusControl) !important;
  color: var(--or-text) !important;
  font-family: var(--or-font);
  font-size: 0.9375rem;
  padding: 10px 40px 10px 14px;
  transition: border-color 0.15s ease;
}

/* Ashby builds the filter from inner elements with their own white
   background; force them dark too */
.ashby-job-board-filter input,
.ashby-job-board-filter button,
.ashby-job-board-filter select,
.ashby-job-board-filter div {
  background-color: var(--or-navy) !important;
  color: var(--or-text) !important;
  border-color: var(--or-line-strong) !important;
}

.ashby-job-board-filter input::placeholder {
  color: var(--or-text) !important;
  opacity: 0.55;
}

/* Ashby's own arrow is dark grey; lighten it for the navy background */
.ashby-job-board-filter svg {
  color: var(--or-text) !important;
}

.ashby-job-board-filter svg path {
  stroke: var(--or-text) !important;
}

.ashby-job-board-filter:hover {
  border-color: var(--or-blue) !important;
}

.ashby-job-board-filter option {
  background: var(--or-navy);
  color: var(--or-text);
}

/* Department headings: bold labels with open space above, no rule */
.ashby-department-heading,
.ashby-job-posting-brief-department-heading {
  color: var(--or-text);
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  margin-top: 48px;
  margin-bottom: 4px;
  padding-bottom: 0;
  border-bottom: 0 !important;
}

.ashby-department-heading-level,
.ashby-job-posting-brief-department-heading-level {
  color: var(--or-text-muted);
  font-size: 1.0625rem;
  font-weight: 500;
}

/* Job rows: no card. Each role is a title plus detail lines with open space
   between roles. Hover shows a faint rounded highlight. */
.ashby-job-posting-brief-list a {
  text-decoration: none;
  display: block;
}

/* Tuned for the embed on orbital-robots.com: 4px margin + 12px row padding
   lines job titles up with the department headings. */
.ashby-job-posting-brief-list > a {
  margin-left: 4px !important;
  margin-right: 4px !important;
}

.ashby-job-posting-brief {
  background: transparent !important;
  border: 0 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  margin-bottom: 8px;
  padding: 16px 12px !important;
  transition: background-color 0.15s ease;
}

.ashby-job-posting-brief-list a:hover .ashby-job-posting-brief,
.ashby-job-posting-brief-list a:focus .ashby-job-posting-brief {
  background: rgba(255, 255, 255, 0.035) !important;
}

.ashby-job-posting-brief-title {
  color: var(--or-blue-title);
  font-size: 1.0625rem;
  font-weight: 600;
  letter-spacing: -0.005em;
  line-height: 1.35;
  margin: 0 0 8px;
}

/* Color only; Ashby's default sizes keep compensation a step smaller
   than the department / location line */
.ashby-job-posting-brief-details,
.ashby-job-posting-brief-details * {
  color: var(--or-text-muted);
}

/* ==========================================================================
   Job posting page
   ========================================================================== */

.ashby-job-board-back-to-all-jobs-button {
  color: var(--or-text) !important;
  background: transparent !important;
  border: 1px solid var(--or-line-strong) !important;
  border-radius: var(--borderRadiusButton) !important;
  font-size: 0.875rem;
  padding: 6px 14px;
  text-decoration: none;
  transition: border-color 0.15s ease, color 0.15s ease;
}

.ashby-job-board-back-to-all-jobs-button:hover {
  color: var(--or-text-strong) !important;
  border-color: var(--or-blue) !important;
}

.ashby-job-posting-header,
.ashby-job-posting-heading {
  color: var(--or-text);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: normal;
  line-height: 1.2;
}

/* Left pane: location, type, compensation.
   Unboxed sidebar like Ashby's default layout; 12px left padding lines the
   labels up with the job title. */
.ashby-job-posting-left-pane {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--or-text);
  padding: 0 32px 0 12px !important;
}

/* Ashby's dividers inherit the text color, which turned them white. Tone them down. */
.ashby-job-posting-left-pane div,
.ashby-job-posting-left-pane section,
.ashby-job-posting-left-pane hr {
  border-color: var(--or-line) !important;
}

.ashby-job-posting-left-pane hr {
  border-width: 1px 0 0 0 !important;
  margin: 0 !important;
}

.ashby-job-posting-left-pane h2,
.ashby-job-posting-left-pane h3 {
  color: var(--or-text-faint) !important;
  font-size: 0.8125rem;
  font-weight: 500;
  margin: 0 0 4px !important;
}

.ashby-job-posting-left-pane p,
.ashby-job-posting-left-pane span {
  color: var(--or-text);
  font-size: 0.9375rem;
}

/* Department value in the left pane: undo the list-page heading styles
   (extra top gap and underline under "Software" in the screenshot) */
.ashby-job-posting-left-pane .ashby-department-heading,
.ashby-job-posting-left-pane .ashby-department-heading-level,
.ashby-job-posting-left-pane .ashby-job-posting-brief-department-heading,
.ashby-job-posting-left-pane .ashby-job-posting-brief-department-heading-level {
  color: var(--or-text) !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Right pane: remove Ashby's white card so content sits on the dark page */
.ashby-job-posting-right-pane,
.ashby-job-posting-right-pane-overview-tab,
.ashby-job-posting-right-pane-application-tab,
.ashby-job-posting-description-container {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Gutter between sidebar and content. Tabs and description share the
   same left edge (Ashby offsets the tab labels 16px). */
.ashby-job-posting-right-pane {
  padding-left: 24px !important;
}

.ashby-job-posting-description-container {
  padding: 20px 0 0 16px !important;
}

/* Tabs: Overview / Application.
   The tab links live in a container whose class contains "_tabs_"; the
   active link's class contains "_active_". .ashby-job-posting-right-pane-tab-slider
   is the moving underline. Source: a working Ashby stylesheet verified
   against Ashby's Sep 2026 frontend (withdavid-ai/marketing-webflow-page). */
.ashby-job-posting-right-pane [class*="_tabs_"] {
  box-shadow: inset 0 -1px 0 0 var(--or-line) !important;
}

.ashby-job-posting-right-pane [class*="_tabs_"] a {
  color: var(--or-text-muted) !important;
  font-weight: 500;
  text-decoration: none;
  outline: none !important;
}

.ashby-job-posting-right-pane [class*="_tabs_"] a:hover,
.ashby-job-posting-right-pane [class*="_tabs_"] a[class*="_active_"] {
  color: var(--or-text-strong) !important;
}

.ashby-job-posting-right-pane-tab-slider {
  background-color: var(--or-blue) !important;
}

.ashby-job-posting-right-pane:focus,
.ashby-job-posting-right-pane-overview-tab:focus,
.ashby-job-posting-right-pane-application-tab:focus {
  outline: none !important;
}

/* Description body */
.ashby-job-posting-description {
  color: var(--or-text) !important;
  font-size: 1rem;
  line-height: 1.7;
  max-width: 72ch;
}

.ashby-job-posting-description h1,
.ashby-job-posting-description h2,
.ashby-job-posting-description h3,
.ashby-job-posting-description h4,
.ashby-job-posting-description strong,
.ashby-job-posting-description b {
  color: var(--or-text);
}

.ashby-job-posting-description h1,
.ashby-job-posting-description h2 {
  font-size: 1.375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-top: 2em;
}

.ashby-job-posting-description h3,
.ashby-job-posting-description h4 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-top: 1.6em;
}

.ashby-job-posting-description ul,
.ashby-job-posting-description ol {
  padding-left: 1.25em;
}

.ashby-job-posting-description li {
  margin-bottom: 0.4em;
}

.ashby-job-posting-description a {
  color: var(--or-blue-text);
  text-underline-offset: 3px;
}

.ashby-job-posting-description a:hover {
  color: var(--or-text-strong);
}

.ashby-job-posting-description li::marker {
  color: var(--or-blue-text);
}

.ashby-job-posting-description hr {
  border: 0;
  border-top: 1px solid var(--or-line);
  margin: 2em 0;
}

/* Apply buttons inside the description container */
.ashby-job-posting-description-container button,
.ashby-job-posting-description-container a[role="button"] {
  background: var(--or-blue) !important;
  border: 0 !important;
  border-radius: var(--borderRadiusButton) !important;
  color: var(--or-text) !important;
  box-shadow: none !important;
  font-weight: 600;
  min-height: 48px;
  padding: 12px 28px;
  transition: background-color 0.15s ease;
}

.ashby-job-posting-description-container button:hover,
.ashby-job-posting-description-container a[role="button"]:hover {
  background: var(--or-blue-hover) !important;
  box-shadow: none !important;
}

/* ==========================================================================
   Application form
   ========================================================================== */

.ashby-application-form-container,
.ashby-survey-form-container {
  background: transparent !important;
  color: var(--or-text);
}

/* White strip around the form came from wrappers inside the application tab */
.ashby-job-posting-right-pane-application-tab > div,
.ashby-job-posting-right-pane-application-tab > form,
.ashby-application-form-container > div {
  background: transparent !important;
}

.ashby-application-form-section-container {
  background: var(--or-navy);
  border: 1px solid var(--or-line);
  border-radius: var(--borderRadiusContainer);
  padding: 28px;
  margin-bottom: 20px;
}

.ashby-application-form-section-header-title {
  color: var(--or-text);
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.ashby-application-form-section-header-description {
  color: var(--or-text-muted);
  line-height: 1.6;
}

.ashby-application-form-field-entry {
  margin-bottom: 22px;
}

.ashby-application-form-question-title {
  color: var(--or-text);
  font-size: 0.9375rem;
  font-weight: 500;
  margin-bottom: 8px;
}

.ashby-application-form-question-description,
.ashby-application-form-texting-consent-description {
  color: var(--or-text-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

/* Text, email, phone, URL, number, textarea, date, autocomplete */
.ashby-application-form-input-text,
.ashby-application-form-input-textarea,
.ashby-application-form-input-date,
.ashby-application-form-input-autocomplete,
.ashby-application-form-input-dropdown-select,
.ashby-application-form-field-entry input[type="text"],
.ashby-application-form-field-entry input[type="email"],
.ashby-application-form-field-entry input[type="tel"],
.ashby-application-form-field-entry input[type="url"],
.ashby-application-form-field-entry input[type="number"],
.ashby-application-form-field-entry textarea,
.ashby-application-form-field-entry select {
  background: var(--or-navy-deep) !important;
  border: 1px solid var(--or-line-strong) !important;
  border-radius: var(--borderRadiusControl) !important;
  color: var(--or-text) !important;
  font-family: var(--or-font);
  font-size: 0.9375rem;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ashby-application-form-field-entry input::placeholder,
.ashby-application-form-field-entry textarea::placeholder {
  color: var(--or-text);
  opacity: 0.55;
}

.ashby-application-form-field-entry input:hover,
.ashby-application-form-field-entry textarea:hover,
.ashby-application-form-field-entry select:hover {
  border-color: rgba(59, 69, 245, 0.6) !important;
}

.ashby-application-form-field-entry input:focus,
.ashby-application-form-field-entry textarea:focus,
.ashby-application-form-field-entry select:focus {
  border-color: var(--or-blue) !important;
  box-shadow: 0 0 0 3px var(--or-blue-glow) !important;
  outline: none;
}

/* Browser autofill on dark inputs */
.ashby-application-form-field-entry input:-webkit-autofill {
  -webkit-text-fill-color: var(--or-text);
  -webkit-box-shadow: 0 0 0 1000px var(--or-navy-deep) inset;
  caret-color: var(--or-text);
}

/* Wrappers around dropdowns, dates and autocompletes: Ashby gives them a
   square white background that showed at the corners of Month / Year */
.ashby-application-form-input-dropdown,
.ashby-application-form-input-date,
.ashby-application-form-input-autocomplete {
  background-color: transparent !important;
  border-radius: var(--borderRadiusControl) !important;
}

/* Dropdown */
.ashby-application-form-input-dropdown[data-disabled] {
  opacity: 0.5;
}

.ashby-application-form-input-dropdown-icon {
  color: var(--or-text-muted);
}

.ashby-application-form-field-entry select option {
  background: var(--or-navy);
  color: var(--or-text);
}

/* Autocomplete popup */
.ashby-application-form-input-autocomplete-popup {
  background: var(--or-navy) !important;
  border: 1px solid var(--or-line-strong) !important;
  border-radius: var(--borderRadiusControl);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
  color: var(--or-text);
}

.ashby-application-form-input-autocomplete-popup-result {
  color: var(--or-text);
}

.ashby-application-form-input-autocomplete-popup-result:hover,
.ashby-application-form-input-autocomplete-popup-result[aria-selected="true"] {
  background: var(--or-blue) !important;
  color: var(--or-text) !important;
}

.ashby-application-form-input-autocomplete-popup-empty,
.ashby-application-form-input-autocomplete-popup-loading {
  color: var(--or-text-muted);
}

/* Date picker popup */
.ashby-application-form-input-date-popup {
  background: var(--or-navy) !important;
  border: 1px solid var(--or-line-strong) !important;
  border-radius: var(--borderRadiusContainer);
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
  color: var(--or-text);
}

.ashby-application-form-input-date-popup-title {
  color: var(--or-text);
  font-weight: 600;
}

.ashby-application-form-input-date-popup-header-button {
  color: var(--or-text-muted) !important;
  background: transparent !important;
}

.ashby-application-form-input-date-popup-header-button:hover {
  color: var(--or-text-strong) !important;
}

.ashby-application-form-input-date-popup button {
  color: var(--or-text);
}

/* Checkboxes and radios */
.ashby-application-form-input-checkbox-group-option,
.ashby-application-form-input-radio-group-option {
  color: var(--or-text);
}

.ashby-application-form-input-checkbox-group-option-label,
.ashby-application-form-input-radio-group-option-label {
  color: var(--or-text);
  font-size: 0.9375rem;
}

.ashby-application-form-input-checkbox-group-option[data-disabled],
.ashby-application-form-input-radio-group-option[data-disabled] {
  opacity: 0.5;
}

.ashby-application-form-container input[type="checkbox"],
.ashby-application-form-container input[type="radio"],
.ashby-survey-form-container input[type="checkbox"],
.ashby-survey-form-container input[type="radio"] {
  accent-color: var(--or-blue);
}

/* Yes / No toggle */
.ashby-application-form-input-yesno-option {
  background: var(--or-navy-deep) !important;
  border: 1px solid var(--or-line-strong) !important;
  color: var(--or-text-muted) !important;
  font-weight: 500;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.ashby-application-form-input-yesno-option:hover {
  border-color: var(--or-blue) !important;
  color: var(--or-text-strong) !important;
}

.ashby-application-form-input-yesno-option[aria-pressed="true"] {
  background: var(--or-blue) !important;
  border-color: var(--or-blue) !important;
  color: var(--or-text) !important;
}

.ashby-application-form-input-yesno[data-disabled] {
  opacity: 0.5;
}

/* File upload: one quiet box. Ashby's outer dashed border (white) is
   replaced with a faint solid one, and the inner dropzone box is removed. */
.ashby-application-form-input-file {
  min-height: 0 !important;
  padding: 0 !important;
  background: var(--or-navy-deep) !important;
  border: 1px solid var(--or-line-strong) !important;
  border-radius: var(--borderRadiusControl) !important;
  transition: border-color 0.15s ease;
}

.ashby-application-form-input-file:hover {
  border-color: rgba(59, 69, 245, 0.6) !important;
}

.ashby-application-form-input-file-dropzone {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--or-text-muted);
  min-height: 0 !important;
  padding: 16px !important;
  gap: 12px;
}

.ashby-application-form-input-file-dropzone-instructions {
  color: var(--or-text-muted);
  font-size: 0.875rem;
}

.ashby-application-form-input-file-dropzone-upload {
  background: var(--or-blue) !important;
  border: 0 !important;
  border-radius: var(--borderRadiusButton) !important;
  box-shadow: none !important;
  color: var(--or-text) !important;
  font-size: 0.875rem !important;
  font-weight: 600;
  gap: 0 !important;
  padding: 8px 18px !important;
  min-height: 0 !important;
  transition: background-color 0.15s ease;
}

.ashby-application-form-input-file-dropzone-upload:hover {
  background: var(--or-blue-hover) !important;
}

/* Ashby hardcodes the paperclip icon in the brand blue, so it vanished on
   the blue button and left an empty gap. Hide it so the label sits centered. */
.ashby-application-form-input-file-dropzone-upload svg {
  display: none !important;
}

.ashby-application-form-input-file-item {
  background: var(--or-navy-raised);
  border: 1px solid var(--or-line);
  border-radius: var(--borderRadiusControl);
  color: var(--or-text);
}

.ashby-application-form-input-file-item-name {
  color: var(--or-text);
}

.ashby-application-form-input-file-item-delete {
  color: var(--or-text-muted) !important;
}

.ashby-application-form-input-file-item-delete:hover {
  color: var(--or-blue) !important;
}

/* Resume autofill pane */
.ashby-application-form-autofill-pane {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 20px;
}

.ashby-application-form-autofill-input-root {
  background: var(--or-navy) !important;
  border: 1px solid var(--or-line-strong) !important;
  border-radius: var(--borderRadiusContainer) !important;
  color: var(--or-text);
}

.ashby-application-form-autofill-input-root[data-state="drag"] {
  outline: 1.5px dashed var(--or-blue);
  outline-offset: -6px;
}

.ashby-application-form-autofill-input-title {
  color: var(--or-text);
  font-weight: 600;
}

.ashby-application-form-autofill-input-description {
  color: var(--or-text-muted);
}

.ashby-application-form-autofill-input-icon {
  color: var(--or-blue-text);
}

.ashby-application-form-autofill-input-drag-layer,
.ashby-application-form-autofill-input-pending-layer {
  background: rgba(29, 27, 62, 0.94) !important;
  color: var(--or-text);
}

.ashby-application-form-autofill-input-form-alert[data-highlight="negative"] {
  color: var(--or-text);
}

.ashby-application-form-autofill-input-form-alert[data-highlight="positive"] {
  color: var(--or-blue);
}

/* Education history */
.ashby-application-form-input-education-entry {
  background: var(--or-navy-deep);
  border: 1px solid var(--or-line);
  border-radius: var(--borderRadiusControl);
  padding: 16px;
}

.ashby-application-form-input-education-entry-header {
  color: var(--or-text);
  font-weight: 600;
}

.ashby-application-form-input-education-add {
  color: var(--or-blue-text) !important;
  background: transparent !important;
  font-weight: 600;
}

.ashby-application-form-input-education-entry-delete {
  color: var(--or-text-muted) !important;
}

.ashby-application-form-input-education-entry-delete:hover {
  color: var(--or-blue) !important;
}

/* Submit */
.ashby-application-form-submit-button {
  background: var(--or-blue) !important;
  border: 0 !important;
  border-radius: var(--borderRadiusButton) !important;
  color: var(--or-text) !important;
  font-family: var(--or-font);
  font-size: 1rem;
  font-weight: 600;
  min-height: 48px;
  padding: 12px 32px;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.ashby-application-form-submit-button:hover {
  background: var(--or-blue-hover) !important;
  box-shadow: 0 0 0 4px var(--or-blue-glow);
}

.ashby-application-form-submit-button:active {
  background: var(--or-blue-pressed) !important;
}

.ashby-application-form-submit-button:disabled,
.ashby-application-form-submit-button[aria-disabled="true"] {
  background: var(--or-navy-raised) !important;
  color: var(--or-text-faint) !important;
  box-shadow: none;
  cursor: not-allowed;
}

/* Result and notice states */
.ashby-application-form-success-container,
.ashby-application-form-failure-container,
.ashby-application-form-blocked-application-container,
.ashby-application-blocking-disclosure {
  background: var(--or-navy);
  border: 1px solid var(--or-line);
  border-radius: var(--borderRadiusContainer);
  color: var(--or-text);
  padding: 24px;
}

.ashby-application-form-success-container {
  border-left: 3px solid var(--or-success);
}

.ashby-application-form-failure-container {
  border-left: 3px solid var(--or-danger);
}

.ashby-application-blocking-disclosure {
  color: var(--or-text-muted);
  font-size: 0.875rem;
}

/* ==========================================================================
   Mobile and motion
   ========================================================================== */

@media (max-width: 640px) {
  .ashby-job-posting-right-pane {
    padding-left: 0 !important;
  }

  .ashby-job-posting-left-pane {
    padding: 0 12px !important;
    margin-bottom: 24px;
  }

  .ashby-job-board-heading {
    font-size: 1.75rem;
  }

  .ashby-department-heading,
  .ashby-job-posting-brief-department-heading {
    font-size: 1.25rem;
  }

  .ashby-job-posting-header,
  .ashby-job-posting-heading {
    font-size: 1.625rem;
  }


  .ashby-application-form-section-container,
  .ashby-job-posting-left-pane {
    padding: 20px;
  }

  .ashby-application-form-submit-button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ashby-job-posting-brief,
  .ashby-job-board-filter,
  .ashby-job-board-back-to-all-jobs-button,
  .ashby-application-form-submit-button,
  .ashby-application-form-input-yesno-option,
  .ashby-application-form-input-file-dropzone {
    transition: none !important;
  }
}
