/* stylelint-disable */

/* ============================================================
   LeanScale — Ashby Career Page Custom CSS
   Brand: Deep Purple (#301934) / Purple (#6E358A) / Light Green (#E8FECB)
   Fonts: Montserrat (headings), Open Sans (body)
   Background: Warm Gray (#E9E9E7)
   ============================================================ */

/* --- CSS Variables --- */
:root {
    /* Primary brand colors */
    --colorPrimary900: #301934;
    --colorPrimary600: #6E358A;

    /* Extended palette */
    --colorAccentGreen: #E8FECB;
    --colorAccentPurpleLight: #D9B0D0;
    --colorAccentRed: #FF2D0D;
    --colorBgWarmGray: #E9E9E7;
    --colorBgWhite: #FFFFFF;
    --colorTextPrimary: #1A1A1A;
    --colorTextSecondary: #5F6567;
    --colorTextLight: #FFFFFF;
    --colorBorderLight: rgba(0, 0, 0, 0.08);
    --colorBorderMedium: rgba(0, 0, 0, 0.15);

    /* Layout */
    --widthMaxJobBoard: 920px;

    /* Border radius */
    --borderRadiusContainer: 12px;
    --borderRadiusControl: 8px;
    --borderRadiusButton: 8px;

    /* Typography */
    --fontFamily: "Montserrat", "Open Sans", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Helvetica", "Arial", sans-serif;
    --fontFamilyBody: "Open Sans", "-apple-system", "BlinkMacSystemFont", "Segoe UI", "Helvetica", "Arial", sans-serif;

    /* Page background */
    --colorAppBackground: #E9E9E7;
}


/* ============================================================
   GLOBAL / PAGE LEVEL
   ============================================================ */

body {
    background-color: var(--colorBgWarmGray) !important;
    font-family: var(--fontFamilyBody) !important;
    color: var(--colorTextPrimary);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* ============================================================
   JOB BOARD — MAIN LISTING PAGE
   ============================================================ */

/* Main heading: "LeanScale" or "Open Positions" */
.ashby-job-board-heading {
    font-family: var(--fontFamily) !important;
    font-weight: 700 !important;
    font-size: 2.25rem !important;
    color: var(--colorPrimary900) !important;
    letter-spacing: -0.02em;
    margin-bottom: 4px !important;
}

/* Job count badge: "18 open positions" */
.ashby-job-board-heading-count {
    font-family: var(--fontFamilyBody) !important;
    font-weight: 400 !important;
    font-size: 0.95rem !important;
    color: var(--colorTextSecondary) !important;
    margin-top: 2px !important;
}


/* ============================================================
   FILTERS
   ============================================================ */

/* "Filters" label */
.ashby-job-board-filters-label {
    font-family: var(--fontFamily) !important;
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: var(--colorTextSecondary) !important;
}

/* Filter dropdowns */
.ashby-job-board-filter {
    font-family: var(--fontFamilyBody) !important;
    border-radius: var(--borderRadiusControl) !important;
    border: 1px solid var(--colorBorderMedium) !important;
    background-color: var(--colorBgWhite) !important;
    padding: 8px 14px !important;
    font-size: 0.9rem !important;
    color: var(--colorTextPrimary) !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}

.ashby-job-board-filter:focus,
.ashby-job-board-filter:hover {
    border-color: var(--colorPrimary600) !important;
    box-shadow: 0 0 0 3px rgba(110, 53, 138, 0.12) !important;
    outline: none !important;
}

/* "Reset filters" link */
.ashby-job-board-reset-filters-label {
    font-family: var(--fontFamilyBody) !important;
    font-size: 0.85rem !important;
    color: var(--colorPrimary600) !important;
    cursor: pointer !important;
    transition: color 0.15s ease !important;
}

.ashby-job-board-reset-filters-label:hover {
    color: var(--colorPrimary900) !important;
    text-decoration: underline !important;
}


/* ============================================================
   DEPARTMENT & TEAM HEADINGS
   ============================================================ */

/* Department group heading (e.g., "Architects", "Engineers") */
.ashby-department-heading {
    font-family: var(--fontFamily) !important;
    font-weight: 700 !important;
    font-size: 1.35rem !important;
    color: var(--colorPrimary900) !important;
    letter-spacing: -0.01em;
    padding-bottom: 8px !important;
    margin-top: 28px !important;
    border-bottom: 2px solid var(--colorPrimary600) !important;
}

/* Sub-team heading */
.ashby-department-heading-level {
    font-family: var(--fontFamily) !important;
    font-weight: 600 !important;
    font-size: 1.05rem !important;
    color: var(--colorTextSecondary) !important;
}


/* ============================================================
   JOB POSTING CARDS (LIST VIEW)
   ============================================================ */

/* Each job card container */
.ashby-job-posting-brief {
    background-color: var(--colorBgWhite) !important;
    border: 1px solid var(--colorBorderLight) !important;
    border-radius: var(--borderRadiusContainer) !important;
    padding: 20px 24px !important;
    margin-bottom: 10px !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
    cursor: pointer !important;
}

.ashby-job-posting-brief:hover {
    border-color: var(--colorPrimary600) !important;
    box-shadow: 0 4px 16px rgba(48, 25, 52, 0.08) !important;
    transform: translateY(-1px) !important;
}

/* Job title in the card */
.ashby-job-posting-brief-title {
    font-family: var(--fontFamily) !important;
    font-weight: 600 !important;
    font-size: 1.1rem !important;
    color: var(--colorPrimary900) !important;
    transition: color 0.15s ease !important;
}

.ashby-job-posting-brief:hover .ashby-job-posting-brief-title {
    color: var(--colorPrimary600) !important;
}

/* Job details (location, type, etc.) */
.ashby-job-posting-brief-details {
    font-family: var(--fontFamilyBody) !important;
    font-size: 0.9rem !important;
    color: var(--colorTextSecondary) !important;
    margin-top: 4px !important;
}

/* Job posting list container */
.ashby-job-posting-brief-list {
    margin-top: 12px !important;
}

/* Department heading inside posting brief */
.ashby-job-posting-brief-department-heading {
    font-family: var(--fontFamily) !important;
    font-weight: 700 !important;
    color: var(--colorPrimary900) !important;
}

.ashby-job-posting-brief-department-heading-level {
    font-family: var(--fontFamily) !important;
    font-weight: 600 !important;
    color: var(--colorTextSecondary) !important;
}


/* ============================================================
   INDIVIDUAL JOB POSTING PAGE
   ============================================================ */

/* "Back to all jobs" button */
.ashby-job-board-back-to-all-jobs-button {
    font-family: var(--fontFamilyBody) !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    color: var(--colorPrimary600) !important;
    transition: color 0.15s ease !important;
    text-decoration: none !important;
}

.ashby-job-board-back-to-all-jobs-button:hover {
    color: var(--colorPrimary900) !important;
}

/* Job posting main header */
.ashby-job-posting-header {
    font-family: var(--fontFamily) !important;
    border-bottom: none !important;
    padding-bottom: 16px !important;
}

/* Job posting heading (title) */
.ashby-job-posting-heading {
    font-family: var(--fontFamily) !important;
    font-weight: 700 !important;
    font-size: 2rem !important;
    color: var(--colorPrimary900) !important;
    letter-spacing: -0.02em;
    line-height: 1.2 !important;
}

/* Left pane — job details sidebar */
.ashby-job-posting-left-pane {
    font-family: var(--fontFamilyBody) !important;
    color: var(--colorTextSecondary) !important;
    font-size: 0.95rem !important;
}

/* Right pane — description + application form */
.ashby-job-posting-right-pane {
    font-family: var(--fontFamilyBody) !important;
    color: var(--colorTextPrimary) !important;
    font-size: 0.95rem !important;
    line-height: 1.65 !important;
}

/* Tab slider (Overview / Application tabs) */
.ashby-job-posting-right-pane-tab-slider {
    border-bottom: 2px solid var(--colorBorderLight) !important;
    margin-bottom: 24px !important;
}

/* Overview tab */
.ashby-job-posting-right-pane-overview-tab {
    font-family: var(--fontFamily) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: var(--colorTextSecondary) !important;
    transition: color 0.15s ease !important;
    padding-bottom: 10px !important;
}

.ashby-job-posting-right-pane-overview-tab:hover,
.ashby-job-posting-right-pane-overview-tab[data-active="true"] {
    color: var(--colorPrimary900) !important;
    border-bottom: 2px solid var(--colorPrimary600) !important;
}

/* Application tab */
.ashby-job-posting-right-pane-application-tab {
    font-family: var(--fontFamily) !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: var(--colorTextSecondary) !important;
    transition: color 0.15s ease !important;
    padding-bottom: 10px !important;
}

.ashby-job-posting-right-pane-application-tab:hover,
.ashby-job-posting-right-pane-application-tab[data-active="true"] {
    color: var(--colorPrimary900) !important;
    border-bottom: 2px solid var(--colorPrimary600) !important;
}


/* ============================================================
   APPLICATION FORM
   ============================================================ */

/* Form container */
.ashby-application-form-container {
    background-color: var(--colorBgWhite) !important;
    border-radius: var(--borderRadiusContainer) !important;
    padding: 28px 32px !important;
    border: 1px solid var(--colorBorderLight) !important;
}

/* Section container */
.ashby-application-form-section-container {
    margin-bottom: 20px !important;
}

/* Section header */
.ashby-application-form-section-header {
    margin-bottom: 16px !important;
}

/* Section title */
.ashby-application-form-section-header-title {
    font-family: var(--fontFamily) !important;
    font-weight: 700 !important;
    font-size: 1.2rem !important;
    color: var(--colorPrimary900) !important;
}

/* Section description */
.ashby-application-form-section-header-description {
    font-family: var(--fontFamilyBody) !important;
    font-size: 0.9rem !important;
    color: var(--colorTextSecondary) !important;
    margin-top: 4px !important;
}

/* Individual field entry (label + input) */
.ashby-application-form-field-entry {
    margin-bottom: 16px !important;
}

/* Question title (label) */
.ashby-application-form-question-title {
    font-family: var(--fontFamilyBody) !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    color: var(--colorTextPrimary) !important;
    margin-bottom: 6px !important;
}

/* Question description */
.ashby-application-form-question-description {
    font-family: var(--fontFamilyBody) !important;
    font-size: 0.8rem !important;
    color: var(--colorTextSecondary) !important;
    margin-bottom: 6px !important;
}

/* Texting consent description */
.ashby-application-form-texting-consent-description {
    font-family: var(--fontFamilyBody) !important;
    font-size: 0.8rem !important;
    color: var(--colorTextSecondary) !important;
}


/* ============================================================
   AUTOFILL / RESUME UPLOAD
   ============================================================ */

/* Autofill root container */
.ashby-application-form-autofill-input-root {
    border: 2px dashed var(--colorBorderMedium) !important;
    border-radius: var(--borderRadiusContainer) !important;
    background-color: #FAFAF9 !important;
    padding: 24px !important;
    text-align: center !important;
    transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.ashby-application-form-autofill-input-root:hover,
.ashby-application-form-autofill-input-root[data-state="drag"] {
    border-color: var(--colorPrimary600) !important;
    background-color: rgba(110, 53, 138, 0.04) !important;
}

/* Autofill title */
.ashby-application-form-autofill-input-title {
    font-family: var(--fontFamily) !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    color: var(--colorPrimary900) !important;
}

/* Autofill description */
.ashby-application-form-autofill-input-description {
    font-family: var(--fontFamilyBody) !important;
    font-size: 0.85rem !important;
    color: var(--colorTextSecondary) !important;
}

/* Autofill icon */
.ashby-application-form-autofill-input-icon {
    color: var(--colorPrimary600) !important;
    opacity: 0.8 !important;
}

/* Drag overlay */
.ashby-application-form-autofill-input-drag-layer[data-state="active"] {
    background-color: rgba(110, 53, 138, 0.06) !important;
    border-color: var(--colorPrimary600) !important;
}

/* Pending overlay */
.ashby-application-form-autofill-input-pending-layer[data-state="active"] {
    background-color: rgba(110, 53, 138, 0.04) !important;
}

/* Form alerts (validation) */
.ashby-application-form-autofill-input-form-alert[data-highlight="negative"] {
    color: var(--colorAccentRed) !important;
    font-family: var(--fontFamilyBody) !important;
    font-size: 0.85rem !important;
}

.ashby-application-form-autofill-input-form-alert[data-highlight="positive"] {
    color: #2D8A35 !important;
    font-family: var(--fontFamilyBody) !important;
    font-size: 0.85rem !important;
}

/* Autofill pane */
.ashby-application-form-autofill-pane {
    margin-bottom: 24px !important;
}

/* Resume uploader */
.ashby-application-form-autofill-uploader {
    font-family: var(--fontFamilyBody) !important;
}


/* ============================================================
   SUBMIT BUTTON
   ============================================================ */

.ashby-application-form-submit-button {
    font-family: var(--fontFamily) !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    letter-spacing: 0.01em;
    background-color: var(--colorPrimary900) !important;
    color: var(--colorTextLight) !important;
    border: none !important;
    border-radius: var(--borderRadiusButton) !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease !important;
}

.ashby-application-form-submit-button:hover {
    background-color: var(--colorPrimary600) !important;
    box-shadow: 0 4px 12px rgba(48, 25, 52, 0.2) !important;
    transform: translateY(-1px) !important;
}

.ashby-application-form-submit-button:active {
    transform: translateY(0px) !important;
    box-shadow: 0 2px 6px rgba(48, 25, 52, 0.15) !important;
}


/* ============================================================
   SUCCESS / FAILURE / BLOCKED STATES
   ============================================================ */

.ashby-application-form-success-container {
    background-color: var(--colorAccentGreen) !important;
    border-radius: var(--borderRadiusContainer) !important;
    padding: 28px 32px !important;
    text-align: center !important;
    font-family: var(--fontFamilyBody) !important;
    color: var(--colorPrimary900) !important;
}

.ashby-application-form-failure-container {
    background-color: #FFF0EE !important;
    border: 1px solid rgba(255, 45, 13, 0.2) !important;
    border-radius: var(--borderRadiusContainer) !important;
    padding: 28px 32px !important;
    text-align: center !important;
    font-family: var(--fontFamilyBody) !important;
    color: var(--colorTextPrimary) !important;
}

.ashby-application-form-blocked-application-container {
    background-color: #FFF8E6 !important;
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
    border-radius: var(--borderRadiusContainer) !important;
    padding: 28px 32px !important;
    text-align: center !important;
    font-family: var(--fontFamilyBody) !important;
    color: var(--colorTextPrimary) !important;
}


/* ============================================================
   SURVEY FORM (EEOC, etc.)
   ============================================================ */

.ashby-survey-form-container {
    background-color: var(--colorBgWhite) !important;
    border: 1px solid var(--colorBorderLight) !important;
    border-radius: var(--borderRadiusContainer) !important;
    padding: 24px 28px !important;
    margin-top: 20px !important;
    font-family: var(--fontFamilyBody) !important;
}
