/* =========================================================
   JS Jobs Modern Page-Specific CSS
   Scope: #js_jobs_main_wrapper.[page-wrapper]
   Notes: Keep this file small. Shared structure belongs in core/forms/lists.
   ========================================================= */

/* =========================================================
   Area: Employer - Add/Edit Job
   Scope: #js_jobs_main_wrapper.jsjobs-modern-job-form-page
   Notes: Page-specific widgets only. Shared form styling lives in
          jsjobs-modern-forms.css.
   ========================================================= */
#js_jobs_main_wrapper{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#js_jobs_main_wrapper.jsjobs-modern-job-form-page #jsjobs-modern-job-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-card,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page form#adminForm.jsjobs-job-form {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    clear: both;
    float: none;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-city,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-map,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-description,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-agreement,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-jobapplylink,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-jobsalaryrange,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-age,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-experience,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-highesteducation,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-metadescription,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-metakeywords {
    grid-column: 1 / -1;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-section-content .jsjobs-job-form-field-qualifications,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-section-content .jsjobs-job-form-field-prefferdskills {
    grid-column: auto;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-description textarea {
    min-height: 245px;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-qualifications textarea,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-prefferdskills textarea,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-agreement textarea {
    min-height: 180px;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-description iframe,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-description .mce-edit-area iframe {
    min-height: 245px;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-qualifications iframe,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-prefferdskills iframe,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-agreement iframe,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-qualifications .mce-edit-area iframe,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-prefferdskills .mce-edit-area iframe,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-agreement .mce-edit-area iframe {
    min-height: 170px;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-jobsalaryrange .jsjobs-modern-form-control,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-age .jsjobs-modern-form-control,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-highesteducation .jsjobs-modern-form-control,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-experience .jsjobs-modern-form-control {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
    align-items: start;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control #salaryrangeminimaxdiv,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control #salaryrangediv,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control #educationminimaxdiv,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control #educationrangediv,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control #experienceminimaxdiv,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control #experiencerangediv {
    display: contents;
}
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control #educationminimaxdiv span{
    margin-bottom: 10px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control .jsjobs-mapvalue {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control #map {
    width: 100%;
    min-height: 260px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control .jsjobs-coordinates-button-wrapper {
    display: flex;
    justify-content: flex-start;
    margin: 8px 0 0;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control .jsjobs-coordinates-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary-hover);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-startpublishing .jsjobs-modern-form-control,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-stoppublishing .jsjobs-modern-form-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-startpublishing .jsjobs-modern-form-control input[type="text"],
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-stoppublishing .jsjobs-modern-form-control input[type="text"] {
    flex: 1 1 auto;
}
#js_jobs_main_wrapper .calendar-container .buttons-wrapper{
    gap:5px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-startpublishing .jsjobs-modern-form-control button,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-stoppublishing .jsjobs-modern-form-control button,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-startpublishing .jsjobs-modern-form-control .calendarbutton,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-stoppublishing .jsjobs-modern-form-control .calendarbutton {
    min-width: 45px;
    height: 45px;
    margin: 0;
    border: 0;
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-primary-hover);
    color: var(--jsjobs-on-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-city ul.jsjobs-input-list-jsjobs,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-city ul.token-input-list-jsjobs {
    width: 100%;
    min-height: 38px;
    margin: 0;
    padding: 5px 8px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-email-setting-options {
    display: grid;
    gap: 10px;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-filter-help,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-email-setting-options .jsjobs-email-help {
    margin: 0;
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 600;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-filter-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-checkbox,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-checkbox-gender,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-checkbox-location,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-checkbox-eduction,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-checkbox-subcategory,
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-maim-wrp-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options input[type="checkbox"],
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-email-setting-options input[type="radio"],
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-goldjob input[type="checkbox"],
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-featuredjob input[type="checkbox"] {
    width: 16px;
    min-width: 16px;
    height: 16px;
    margin: 0 7px 0 0;
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-email-setting-options .jsjobs-radio-email-me {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 8px 10px;
    align-items: start;
    padding: 12px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
}

#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-email-setting-options .jsjobs-job-email-setting-help {
    grid-column: 2;
    color: var(--jsjobs-muted);
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 780px) {
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-section-content .jsjobs-job-form-field-qualifications,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-section-content .jsjobs-job-form-field-prefferdskills,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-jobsalaryrange .jsjobs-modern-form-control,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-age .jsjobs-modern-form-control,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-highesteducation .jsjobs-modern-form-control,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-experience .jsjobs-modern-form-control,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-modern-form-control .jsjobs-mapvalue,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-startpublishing .jsjobs-modern-form-control,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-form-field-stoppublishing .jsjobs-modern-form-control {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-maim-wrp-btn,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-checkbox-gender,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-checkbox-location,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-checkbox-eduction,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-checkbox-subcategory,
    #js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-email-setting-options .jsjobs-radio-email-me {
        width: 100%;
    }
}

/* =========================================================
   Area: Employer - Add/Edit Company
   Scope: #js_jobs_main_wrapper.jsjobs-modern-company-form-page
   Notes: Page-specific widgets only; shared form layout is in jsjobs-modern-forms.css.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-card {
    width: min(100%, 980px);
    margin: 0 auto;
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-description .jsjobs-modern-form-control textarea,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-description .jsjobs-modern-form-control iframe,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-description .jsjobs-modern-form-control .tox,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-description .jsjobs-modern-form-control .mce-tinymce,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-description .jsjobs-modern-form-control .js-editor-tinymce {
    min-height: 260px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-since .jsjobs-modern-form-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-since .jsjobs-modern-form-control input[type="text"] {
    flex: 1 1 auto;
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-since .jsjobs-modern-form-control button,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-since .jsjobs-modern-form-control .calendarbutton {
    width: 38px;
    min-width: 38px;
    height: 38px;
    margin: 0;
    border: 0;
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-primary-hover);
    color: var(--jsjobs-on-primary);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-city ul.jsjobs-input-list-jsjobs,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-city ul.token-input-list-jsjobs {
    width: 100%;
    min-height: 38px;
    margin: 0;
    padding: 5px 8px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-logo .jsjobs-modern-form-control,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-smalllogo .jsjobs-modern-form-control,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-aboutcompany .jsjobs-modern-form-control {
    display: grid;
    gap: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-logo input[type="file"],
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-smalllogo input[type="file"],
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-aboutcompany input[type="file"],
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-custom input[type="file"] {
    width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px dashed var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-size: 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .fieldvalue_checkboxoption {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 10px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .fieldvalue_checkboxoption input[type="checkbox"] {
    width: 16px;
    min-width: 16px;
    height: 16px;
    margin: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-logo small,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-smalllogo small,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-aboutcompany small {
    display: block;
    margin: 0;
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
}

#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-radiobtn-wrp,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-multiselect-wrp,
#js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-file-wrp {
    display: grid;
    gap: 8px;
}

@media (max-width: 780px) {
    #js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-since .jsjobs-modern-form-control {
        flex-direction: column;
        align-items: stretch;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-since .jsjobs-modern-form-control button,
    #js_jobs_main_wrapper.jsjobs-modern-company-form-page .jsjobs-company-form-field-since .jsjobs-modern-form-control .calendarbutton {
        /* width: 100%; */
    }
}

/* =========================================================
   Area: Company - Detail
   Scope: #js_jobs_main_wrapper.jsjobs-modern-company-detail-page
   Notes: Page-specific profile/detail layout only. Uses modern core/list variables.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-modern-company-detail-shell {
    display: grid;
    gap: 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    padding: 22px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 94px;
    height: 94px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 20px;
    background: var(--jsjobs-surface-soft);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-logo {
    display: block;
    max-width: 72px;
    max-height: 72px;
    object-fit: contain;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-hero-body {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-badge-gold {
    background: color-mix(in srgb, var(--jsjobs-warning) 14%, var(--jsjobs-surface));
    color: #92400e;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-badge-verified {
    background: color-mix(in srgb, var(--jsjobs-success) 12%, var(--jsjobs-surface));
    color: #166534;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-name {
    margin: 0 0 10px;
    color: var(--jsjobs-text-strong);
    font-size: clamp(22px, 2.4vw, 34px);
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: 1.1;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-meta {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 30px;
    padding: 0 11px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page a.jsjobs-company-detail-meta:hover,
#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-link:hover {
    color: var(--jsjobs-primary-hover);
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    align-items: center;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-section {
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-section-header {
    padding: 18px 20px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-section-kicker {
    display: inline-flex;
    margin-bottom: 4px;
    color: var(--jsjobs-primary);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: .04em;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-section-header h3 {
    margin: 0;
    color: var(--jsjobs-text-strong);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.025em;
    line-height: 1.2;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-description {
    padding: 20px;
    color: var(--jsjobs-text);
    font-size: 14px;
    line-height: 1.75;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-description p:first-child {
    margin-top: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-description p:last-child {
    margin-bottom: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-info-item {
    display: grid;
    gap: 7px;
    min-height: 74px;
    padding: 14px 16px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-info-item-wide {
    grid-column: 1 / -1;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-info-label {
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .025em;
    line-height: 1.2;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-info-value {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--jsjobs-text-strong);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-empty {
    color: var(--jsjobs-muted-soft);
    font-weight: 700;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-link {
    color: var(--jsjobs-primary);
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-actions-card {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-actions-copy h3 {
    margin: 0 0 4px;
    color: var(--jsjobs-text-strong);
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -.02em;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-actions-copy p {
    margin: 0;
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-report {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-report details {
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-report summary {
    cursor: pointer;
    padding: 14px 16px;
    color: var(--jsjobs-text);
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-report-form {
    display: grid;
    gap: 10px;
    padding: 0 16px 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-report-form label {
    color: var(--jsjobs-text);
    font-size: 12px;
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-report-form select,
#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-report-form textarea,
#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-report-form input[type="text"],
#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-report-form input[type="email"] {
    width: 100%;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font: inherit;
}

@media (max-width: 780px) {
    #js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-logo-wrap {
        width: 84px;
        height: 84px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-hero-actions,
    #js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-actions-card {
        justify-content: flex-start;
        flex-direction: column;
        align-items: stretch;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-info-grid {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-section-header,
    #js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-description,
    #js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-actions-card {
        padding: 16px;
    }
}

/* =========================================================
   Area: Employer - My Companies
   Scope: #js_jobs_main_wrapper.jsjobs-modern-company-list-page
   Notes: Page-specific company card/list layout only. Shared list
          actions, statuses and pagination live in jsjobs-modern-lists.css.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-modern-list-page-shell {
    display: grid;
    gap: 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-titlebar {
    justify-content: space-between;
    gap: 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-add {
    margin-inline-start: auto;
    min-height: 38px;
    padding: 0 18px;
    border-color: var(--jsjobs-border);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary-hover);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-shell {
    gap: 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-card {
    overflow: hidden;
    transition: transform var(--jsjobs-transition-fast), box-shadow var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-card:hover {
    border-color: var(--jsjobs-border);
    box-shadow: var(--jsjobs-shadow-md);
    transform: translateY(-1px);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-card-body {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 18px;
    padding: 22px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-logo img {
    display: block;
    max-width: 58px;
    max-height: 58px;
    object-fit: contain;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-content {
    display: grid;
    gap: 9px;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 2px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-title {
    margin: 0;
    color: var(--jsjobs-text-strong);
    font-size: clamp(19px, 2vw, 26px);
    font-weight: 900;
    letter-spacing: -.03em;
    line-height: 1.14;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-title a {
    color: inherit;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-title a:hover {
    color: var(--jsjobs-primary-hover);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-meta,
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-custom {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-meta strong,
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-custom strong {
    color: var(--jsjobs-text-strong);
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-meta a {
    color: var(--jsjobs-primary-hover);
    font-weight: 900;
    text-decoration: none;
    overflow-wrap: anywhere;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 22px;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-location {
    display: flex;
    align-items: center;
    min-width: 0;
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-location span::before {
    content: "⌖";
    margin-inline-end: 6px;
    color: var(--jsjobs-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    margin-inline-start: auto;
}

@media (max-width: 780px) {
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-titlebar {
        align-items: stretch;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-add {
        width: 100%;
        margin-inline-start: 0;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-card-body {
        /* grid-template-columns: 1fr; */
        gap: 14px;
        padding: 18px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-logo {
        width: 72px;
        height: 72px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-footer {
        align-items: stretch;
        padding: 14px 18px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-actions,
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-location {
        width: 100%;
        justify-content: flex-start;
        margin-inline-start: 0;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-modern-list-action {
        flex: 1 1 auto;
    }
}

/* =========================================================
   Area: Employer - My Companies Final Polish
   Scope: #js_jobs_main_wrapper.jsjobs-modern-company-list-page
   Notes: Phase 118 action hierarchy, refined metadata, balanced footers.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-card {
    border-color: var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    box-shadow: var(--jsjobs-shadow-md);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-card:hover {
    box-shadow: var(--jsjobs-shadow-lg);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-card-body {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 20px;
    padding: 24px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-logo {
    width: 78px;
    height: 78px;
    border-radius: var(--jsjobs-radius-lg);
    box-shadow: none;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-badges {
    gap: 6px;
    margin-bottom: 6px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-modern-status-badge {
    min-height: 22px;
    padding: 0 10px;
    border: 1px solid currentColor;
    border-color: color-mix(in srgb, currentColor 20%, transparent);
    font-size: 10px;
    letter-spacing: .01em;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-meta {
    gap: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-meta-item {
    display: inline-flex;
    align-items: baseline;
    gap: 5px;
    min-height: 28px;
    max-width: 100%;
    padding: 4px 9px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-meta-item strong {
    color: var(--jsjobs-muted);
    font-size: 11px;
    letter-spacing: .02em;
    text-transform: uppercase;
}
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-meta-item strong::after {
    content: ":";
    margin-inline-start: 2px;
}
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-footer {
    min-height: 62px;
    padding: 14px 24px;
    background: linear-gradient(180deg, var(--jsjobs-surface-soft), var(--jsjobs-surface));
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-footer-no-location {
    justify-content: flex-end;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-actions {
    gap: 7px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-action-view {
    min-width: 74px;
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    box-shadow: 0 10px 24px rgba(37, 99, 235, .20);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-action-view:hover,
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-action-view:focus {
    border-color: var(--jsjobs-primary-hover);
    background: var(--jsjobs-primary-hover);
    color: var(--jsjobs-on-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-action-edit {
    min-width: 66px;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-action-promote {
    font-size: 11px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-action-delete {
    min-width: 70px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-modern-list-pagination {
    padding: 14px 16px;
    border-radius: var(--jsjobs-radius-xl);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-modern-list-pagination .jsjobs-resultscounter {
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
}

@media (max-width: 780px) {
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-card-body {
        /* grid-template-columns: 1fr; */
        padding: 18px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-footer,
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-footer-no-location {
        justify-content: flex-start;
        padding: 14px 18px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-meta-item {
        border-radius: var(--jsjobs-radius-sm);
    }

    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-action-view,
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-action-edit,
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-action-delete {
        min-width: 0;
    }
}

/* =========================================================
   Area: Employer - My Jobs
   Scope: #js_jobs_main_wrapper.jsjobs-modern-myjobs-page
   Notes: Page-specific job card/list polish only. Shared list actions,
          badges, pagination and shell live in core/lists CSS.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-modern-page-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 18px;
    /* padding: 18px 20px; */
    /* border: 1px solid var(--jsjobs-border); */
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-main-page-title {
    margin: 0;
    flex: 1 1 auto;
    justify-content: space-between;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjobs-add-btn {
    min-height: 38px;
    padding-inline: 18px;
    white-space: nowrap;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjobs-sortbar {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 22px;
    padding: 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjobs-sort-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
    transition: background var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast), color var(--jsjobs-transition-fast), transform var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjobs-sort-chip:hover,
#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjobs-sort-chip.selected {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary-hover);
    transform: translateY(-1px);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjobs-list-shell {
    gap: 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-card {
    overflow: hidden;
    transition: transform var(--jsjobs-transition-fast), box-shadow var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-card:hover {
    border-color: var(--jsjobs-border);
    box-shadow: var(--jsjobs-shadow-md);
    transform: translateY(-1px);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-card-main {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    padding: 22px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 78px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 18px;
    background: var(--jsjobs-surface-soft);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-logo {
    display: block;
    max-width: 58px;
    max-height: 58px;
    object-fit: contain;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-body {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-badge-row,
#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-meta-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-badge-row {
    margin: 0 0 9px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-title {
    margin: 0 0 10px;
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -.03em;
    line-height: 1.15;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-title a {
    color: inherit;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-title a:hover {
    color: var(--jsjobs-primary-hover);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-meta-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 30px;
    padding: 0 11px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-meta-chip span {
    margin-inline-end: 5px;
    color: var(--jsjobs-muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    line-height: 1.5;
}
span.js_job_data_2_value{
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-meta-link {
    color: var(--jsjobs-primary-hover);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-custom-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
    color: var(--jsjobs-muted);
    font-size: 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-footer {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    padding: 16px 22px;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-location {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-location:empty {
    display: none;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-location-dot {
    color: var(--jsjobs-primary);
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 9px;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions .jsjobs-modern-list-action {
    min-height: 34px;
    padding-inline: 13px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-jomsocial-icon img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

@media (max-width: 780px) {
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-modern-page-title-row,
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-card-main,
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-footer {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-modern-page-title-row {
        flex-direction: column;
        align-items: stretch;
    }

    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions {
        justify-content: flex-start;
    }

    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-meta-chip,
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions .jsjobs-modern-list-action {
        width: 100%;
        justify-content: center;
        white-space: normal;
        text-align: center;
    }
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-card-main-no-logo {
    grid-template-columns: 1fr;
}

/* =========================================================
   Area: Employer - My Jobs Action Row Final Polish
   Scope: #js_jobs_main_wrapper.jsjobs-modern-myjobs-page
   Notes: Page-specific action grouping only. Shared button styles
          remain in jsjobs-modern-lists.css.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: end;
    align-items: center;
    gap: 8px 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary,
#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-secondary {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary {
    padding-inline-end: 12px;
    border-inline-end: 1px solid var(--jsjobs-border-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary .jsjobs-modern-list-action {
    min-width: 72px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-secondary .jsjobs-modern-list-action {
    min-height: 32px;
    padding-inline: 12px;
    background: var(--jsjobs-surface);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-secondary .jsjobs-modern-list-action-gold {
    background: #fffbeb;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-secondary .jsjobs-modern-list-action-featured {
    background: var(--jsjobs-primary-subtle);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-secondary .jsjobs-modern-list-action-danger {
    background: #fff7f7;
}

@media (max-width: 980px) {
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-footer {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions {
        grid-template-columns: 1fr;
        justify-content: stretch;
    }

    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary,
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-secondary {
        justify-content: flex-start;
    }

    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary {
        padding-inline-end: 0;
        padding-bottom: 8px;
        border-inline-end: 0;
        border-bottom: 1px solid var(--jsjobs-border-soft);
    }
}

@media (max-width: 560px) {
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary .jsjobs-modern-list-action,
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-secondary .jsjobs-modern-list-action {
        flex: 1 1 calc(50% - 8px);
    }
}

/* =========================================================
   Area: Employer - Applied Resume / Applications
   Scope: #js_jobs_main_wrapper.jsjobs-modern-applications-page
   Notes: Page-specific polish only. Keep existing application actions,
          AJAX callbacks and business logic untouched.
   ========================================================= */
/* #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper {
    max-width: 980px;
    margin: 0 auto;
    padding: 34px 28px;
    border-top: 3px solid var(--jsjobs-accent);
    border-radius: 0 0 var(--jsjobs-radius-xl) var(--jsjobs-radius-xl);
    background: var(--jsjobs-page-surface);
    box-shadow: var(--jsjobs-shadow-lg);
} */

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_controlpanel_section_title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 18px;
    padding: 18px 20px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text-strong);
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: 1.15;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_controlpanel_section_title::before {
    content: '';
    display: inline-block;
    width: 4px;
    height: 30px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_controlpanel_section_title .js_apply_view_job {
    margin-inline-start: auto;
    padding: 10px 16px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary-hover);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #sortbylinks,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #jsjobs_appliedapplication_tab_container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 9px;
    margin: 0 0 22px;
    padding: 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .job_applied_resume_sbl_links,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .job_applied_resume_sbl_links a,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #jsjobs_appliedapplication_tab_container > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 15px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .job_applied_resume_sbl_links a.selected,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #jsjobs_appliedapplication_tab_container > a.selected {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary);
    color: #fff;
    box-shadow: 0 10px 22px rgba(37, 99, 235, .18);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #jsjobs_appliedresume_action_allexport {
    margin-inline-start: auto;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #jsjobs-expot-all-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 16px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-text-strong);
    color: #fff;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #jsjobs-expot-all-btn img {
    width: 15px;
    height: 15px;
    object-fit: contain;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js-jobs-jobs-applie {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 18px;
    margin: 0 0 22px;
    padding: 20px;
    border: 1px solid var(--jsjobs-border-soft);
    border-inline-start: 4px solid var(--jsjobs-accent);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_image_area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_image_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_image_wrapper.mycompany {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 22px;
    background: var(--jsjobs-surface-soft);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_image {
    max-width: 84px;
    max-height: 84px;
    object-fit: cover;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .view_resume_button,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .view_coverltr_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary-hover);
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
    cursor: pointer;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .view_resume_button img,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .view_coverltr_button img {
    width: 15px;
    height: 15px;
    object-fit: contain;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_data_area {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_data_1.mycompany {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    margin: 0 0 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_title {
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -.03em;
    line-height: 1.15;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_posted,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-application-stage-badge,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-total-experience {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_data_2.myresume {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobsapp_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .appnotes_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .appinterview_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .appoffer_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-appnotes-data,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .appactivity_wrapper {
    grid-column: auto;
    min-height: 74px;
    padding: 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .appnotes_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .appinterview_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .appoffer_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-appnotes-data,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .appactivity_wrapper {
    grid-column: 1 / -1;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-apptitle,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-appnotes {
    display: block;
    margin: 0 0 6px;
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-appvalue,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-appnotesvalue {
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 850;
    line-height: 1.5;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .resumeaction1ton,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .resumeactionmessage1ton {
    grid-column: 1 / -1;
    width: 100%;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_data_5 {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    margin: 4px -20px -20px;
    padding: 16px 20px;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_location {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action_button_warp {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    order: 20;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action a {
    color: inherit;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.message {
    order: 1;
    background: var(--jsjobs-primary);
    border-color: var(--jsjobs-primary);
    color: #fff;
    box-shadow: 0 10px 22px rgba(37, 99, 235, .16);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.details,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.add-note,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.interview,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.offer,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.followup {
    order: 2;
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary-hover);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.copy,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.emal-candiadte,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.print,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.pdf,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.export {
    order: 4;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-muted);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action[class*='pipeline-status-'] {
    order: 3;
    background: #f8fafc;
    color: var(--jsjobs-text);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.pipeline-status-7,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action.pipeline-status-8 {
    background: #fef2f2;
    color: var(--jsjobs-danger);
}

@media (max-width: 900px) {
    #js_jobs_main_wrapper.jsjobs-modern-applications-page .js-jobs-jobs-applie,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_data_5,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_data_1.mycompany {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_data_2.myresume {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action_button_warp {
        justify-content: flex-start;
    }
}

@media (max-width: 560px) {
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper {
        padding: 24px 14px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_data_2.myresume {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action {
        flex: 1 1 calc(50% - 8px);
        white-space: normal;
        text-align: center;
    }
}

/* =========================================================
   Area: Employer - My Jobs + Applications Final Treatment
   Scope: #js_jobs_main_wrapper.jsjobs-modern-myjobs-page,
          #js_jobs_main_wrapper.jsjobs-modern-applications-page
   Notes: Final layout correction after Phase 121. Keeps business logic,
          links, AJAX callbacks and legacy action containers untouched.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-card-main {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 18px;
    padding: 20px 22px 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-logo-wrap {
    width: 66px;
    height: 66px;
    border-radius: 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-logo {
    max-width: 48px;
    max-height: 48px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-title {
    margin-bottom: 10px;
    font-size: 21px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-badge-row {
    gap: 7px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-meta-row {
    gap: 7px 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-meta-chip {
    min-height: 29px;
    padding-inline: 10px;
    font-size: 11px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-footer {
    grid-template-columns: minmax(120px, auto) minmax(0, 1fr);
    gap: 14px;
    padding: 15px 22px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary,
#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-secondary {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary {
    padding-inline-end: 10px;
    margin-inline-end: 2px;
    border-inline-end: 1px solid var(--jsjobs-border-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions .jsjobs-modern-list-action {
    min-height: 32px;
    padding-inline: 12px;
    font-size: 11px;
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary .jsjobs-modern-list-action-primary,
#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary .applied-resume-button-count {
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary-hover);
}

#js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-secondary .jsjobs-modern-list-action {
    opacity: .96;
}

@media (max-width: 860px) {
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-card-main,
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-footer {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions,
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary,
    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-secondary {
        justify-content: flex-start;
    }

    #js_jobs_main_wrapper.jsjobs-modern-myjobs-page .jsjobs-myjob-actions-primary {
        padding-inline-end: 0;
        margin-inline-end: 0;
        border-inline-end: 0;
    }
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js_controlpanel_section_title {
    align-items: center;
    gap: 14px;
    padding: 19px 20px;
    background-color: var(--jsjobs-primary-subtle);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js_controlpanel_section_title::before {
    grid-column: 1;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js_controlpanel_section_title .js_apply_view_job {
    grid-column: 3;
    margin-inline-start: 0;
    white-space: nowrap;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper #sortbylinks,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper #jsjobs_appliedapplication_tab_container {
    gap: 10px;
    padding: 14px 16px;
    align-items: center;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper #sortbylinks .job_applied_resume_sbl_links {
    display: inline-flex;
    width: auto;
    float: none;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper #sortbylinks .job_applied_resume_sbl_links a,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper #jsjobs_appliedapplication_tab_container > a {
    min-width: 92px;
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper #sortbylinks .job_applied_resume_sbl_links a.selected,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper #jsjobs_appliedapplication_tab_container > a.selected {
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie {
    display: grid;
    grid-template-columns: 124px minmax(0, 1fr);
    gap: 20px;
    width: auto;
    float: none;
    margin: 0 0 22px;
    padding: 22px;
    border: 1px solid var(--jsjobs-border-soft);
    border-inline-start: 4px solid var(--jsjobs-accent);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: auto;
    float: none;
    padding: 0;
    text-align: center;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_wrapper.mycompany {
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 22px;
    background: var(--jsjobs-surface-soft);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_wrapper img.js_job_image {
    position: static;
    display: block;
    max-width: 82px;
    max-height: 82px;
    margin: 0;
    border-radius: 18px;
    object-fit: cover;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .view_resume_button,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .view_coverltr_button {
    width: 100%;
    max-width: 132px;
    min-height: 34px;
    margin: 0;
    padding: 0 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_area {
    display: block;
    width: auto;
    float: none;
    min-width: 0;
    padding: 0;
    position: static;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_1.mycompany {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 14px;
    align-items: start;
    width: auto;
    float: none;
    margin: 0 0 16px;
    padding: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-total-experience-wrp {
    grid-column: 1 / -1;
    display: flex;
    width: auto;
    float: none;
    margin: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_title {
    display: block;
    width: auto;
    float: none;
    margin: 0;
    overflow: visible;
    white-space: normal;
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -.03em;
    line-height: 1.18;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-application-stage-badge {
    justify-self: start;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_posted {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    width: auto;
    float: none;
    text-align: end;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_posted .js_jobapply_title,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_posted .js_jobapply_value {
    position: static;
    display: inline-flex;
    padding: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_posted .js_jobapply_value {
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie #jsjsjobs_stars {
    position: static;
    display: inline-flex;
    width: auto;
    height: auto;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    width: auto;
    float: none;
    margin: 0;
    padding: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .jsjobsapp_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appnotes_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appinterview_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appoffer_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appactivity_wrapper {
    display: block;
    width: auto;
    float: none;
    min-height: 68px;
    margin: 0;
    padding: 13px 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appnotes_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appinterview_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appoffer_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appactivity_wrapper {
    grid-column: 1 / -1;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-apptitle,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-appnotes {
    display: block;
    margin: 0 0 6px;
    padding: 0;
    color: var(--jsjobs-muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-appvalue,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-appnotesvalue {
    display: block;
    width: auto;
    padding: 0;
    color: var(--jsjobs-text-strong);
    font-size: 13px;
    font-weight: 850;
    line-height: 1.45;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .appactivity_wrapper ul {
    margin: 6px 0 0 18px;
    padding: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .resumeaction1ton,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .resumeactionmessage1ton {
    grid-column: 1 / -1;
    display: block;
    width: auto;
    float: none;
    margin: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_5 {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    width: auto;
    float: none;
    margin: 2px -22px -22px;
    padding: 16px 22px;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_location {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: auto;
    float: none;
    min-height: 32px;
    padding: 0;
    margin: 0;
    border-bottom: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action_button_warp {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action {
    min-height: 32px;
    padding: 0 11px;
    font-size: 11px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.message {
    min-width: 104px;
}

@media (max-width: 920px) {
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js_controlpanel_section_title,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_1.mycompany,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_5 {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js_controlpanel_section_title .js_apply_view_job {
        grid-column: 1;
        justify-self: start;
        white-space: normal;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_posted,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action_button_warp {
        justify-content: flex-start;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper #sortbylinks .job_applied_resume_sbl_links a,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper #jsjobs_appliedapplication_tab_container > a,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action {
        flex: 1 1 calc(50% - 8px);
        min-width: 0;
        white-space: normal;
        text-align: center;
    }
}

/* =========================================================
   Area: Employer - Applications Final Polish
   Scope: #js_jobs_main_wrapper.jsjobs-modern-applications-page
   Notes: Removes legacy action icon squares, improves action grouping,
          and formats activity timeline without touching business logic.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_action::before {
    content: none;
    display: none;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 22px;
    padding: 22px 24px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_wrapper.mycompany {
    width: 92px;
    height: 92px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .view_resume_button,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .view_coverltr_button {
    max-width: 122px;
    border-radius: var(--jsjobs-radius-md);
    font-size: 11px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_1.mycompany {
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    margin-bottom: 14px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-total-experience-wrp {
    grid-column: auto;
    order: 1;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_title {
    order: 2;
    font-size: 22px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-application-stage-badge {
    order: 4;
    justify-self: end;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_posted {
    order: 3;
    justify-content: flex-end;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-application-activity-timeline {
    color: var(--jsjobs-text);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-application-activity-title {
    margin-bottom: 8px;
    color: var(--jsjobs-text-strong);
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-application-activity-list {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-application-activity-list li {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    line-height: 1.45;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-application-activity-label {
    color: var(--jsjobs-muted);
    font-weight: 750;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-application-activity-label::after {
    content: ':';
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-application-activity-value {
    color: var(--jsjobs-text-strong);
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_5 {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin: 18px -24px -22px;
    padding: 16px 24px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_location {
    min-height: 0;
    font-size: 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action_button_warp {
    justify-content: flex-start;
    gap: 8px 10px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action {
    min-height: 34px;
    padding: 0 13px;
    border-radius: var(--jsjobs-radius-pill);
    font-size: 11px;
    letter-spacing: -.01em;
    box-shadow: none;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.message {
    order: 1;
    min-width: 112px;
    box-shadow: 0 10px 22px rgba(37, 99, 235, .14);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.interview,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.offer,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.followup,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.add-note,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.details {
    order: 2;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action[class*='pipeline-status-'] {
    order: 3;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.copy,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.emal-candiadte,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.print,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.pdf,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.export {
    order: 4;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.pipeline-status-7,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action.pipeline-status-8 {
    background: #fef2f2;
    border-color: #fecaca;
    color: var(--jsjobs-danger);
}

@media (max-width: 920px) {
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_1.mycompany {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-application-stage-badge,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_posted {
        justify-self: start;
        justify-content: flex-start;
    }
}

/* =========================================================
   Area: Employer - Applications Card Final Rewrite
   Scope: #js_jobs_main_wrapper.jsjobs-modern-applications-page
   Notes: Candidate card balance, grouped actions, timeline polish.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie {
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 18px;
    padding: 20px;
    border-left-width: 3px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_area {
    gap: 10px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_wrapper.mycompany {
    width: 86px;
    height: 86px;
    border-radius: 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_wrapper img.js_job_image {
    max-width: 74px;
    max-height: 74px;
    border-radius: 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .view_resume_button,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .view_coverltr_button {
    max-width: 116px;
    min-height: 32px;
    padding: 0 10px;
    font-size: 11px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_1.mycompany {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 14px;
    align-items: center;
    margin-bottom: 14px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-total-experience-wrp {
    grid-column: 1 / 2;
    grid-row: 2;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-total-experience {
    min-height: 24px;
    padding: 0 9px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary);
    font-size: 11px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_title {
    grid-column: 1 / 2;
    grid-row: 1;
    text-align: start;
    font-size: 21px;
    line-height: 1.22;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-application-stage-badge {
    grid-column: 1 / 2;
    grid-row: 2;
    justify-self: start;
    margin-top: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs-total-experience-wrp + .js_job_title + .jsjobs-application-stage-badge {
    grid-column: 1 / 2;
    grid-row: 3;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_posted {
    grid-column: 2 / 3;
    grid-row: 1 / span 3;
    align-self: start;
    justify-content: flex-end;
    padding-top: 10px;
    padding-bottom: 10px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .jsjobsapp_wrapper {
    min-height: 60px;
    padding: 11px 12px;
    border-radius: var(--jsjobs-radius-lg);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appnotes_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appinterview_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appoffer_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume .appactivity_wrapper {
    min-height: 0;
    padding: 12px 14px;
    border-radius: var(--jsjobs-radius-lg);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-activity-timeline {
    display: block;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-activity-title {
    margin-bottom: 9px;
    color: var(--jsjobs-text-strong);
    font-size: 15px;
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-activity-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-activity-list li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    min-height: 30px;
    padding: 7px 10px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-activity-label {
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-activity-value {
    color: var(--jsjobs-text-strong);
    font-size: 12px;
    font-weight: 850;
    text-align: end;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_5 {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin: 4px -20px -20px;
    padding: 16px 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_location {
    width: auto;
    justify-self: start;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .jsjobs_appliedresume_action_button_warp {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: stretch;
    width: 100%;
    float: none;
    margin: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-action-group {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-action-group-title {
    color: var(--jsjobs-muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-action-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs_appliedresume_action {
    margin: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs_appliedresume_action.message {
    min-width: 118px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-action-group-status .jsjobs_appliedresume_action[class*='pipeline-status-'] {
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-action-group-utility .jsjobs_appliedresume_action {
    background: var(--jsjobs-surface);
}

@media (max-width: 900px) {
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_image_area {
        align-items: flex-start;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_1.mycompany {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_posted {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
        text-align: start;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .js-jobs-jobs-applie .js_job_data_2.myresume,
    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-activity-list {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-applications-page #js_main_wrapper .jsjobs-application-action-group {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Area: Messages - Send Message
   Scope: #js_jobs_main_wrapper.jsjobs-modern-message-send-page
   Notes: Uses shared modern form/list foundation. Page-specific
          context card and message history layout only.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-form {
    margin: 0 0 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin: 0 0 18px;
    padding: 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-soft);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context-logo img {
    display: block;
    max-width: 54px;
    max-height: 54px;
    object-fit: contain;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context-body {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context-eyebrow {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    margin: 0 0 8px;
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 850;
    line-height: 1.3;
    text-decoration: underline;
    text-underline-offset: 3px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context h2 {
    margin: 0;
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -.03em;
    line-height: 1.2;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 18px;
    margin: 12px 0 0;
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.35;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context-meta strong {
    color: var(--jsjobs-text-strong);
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-section-body {
    grid-template-columns: minmax(0, 1fr);
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-readonly-block {
    min-height: 42px;
    padding: 12px 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text-strong);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.5;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-previous-text {
    color: var(--jsjobs-text);
    font-weight: 600;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control {
    padding: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control textarea {
    min-height: 0;
    height: 340px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control iframe,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-tinymce,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .mce-tinymce,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .js-editor-tinymce {
    min-height: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-history {
    display: block;
    margin: 18px 0 0;
    padding: 0;
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-history-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    background: linear-gradient(180deg, var(--jsjobs-surface) 0%, var(--jsjobs-surface-soft) 100%);
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-section-eyebrow {
    display: block;
    margin: 0 0 3px;
    color: var(--jsjobs-primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    line-height: 1.25;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-history-header h3 {
    margin: 0;
    color: var(--jsjobs-text-strong);
    font-size: 16px;
    font-weight: 900;
    letter-spacing: -.02em;
    line-height: 1.25;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-thread {
    display: grid;
    gap: 14px;
    padding: 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    max-width: 92%;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble.is-mine {
    justify-self: end;
    grid-template-columns: minmax(0, 1fr) 42px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble.is-mine .jsjobs-modern-message-avatar {
    grid-column: 2;
    grid-row: 1;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble.is-mine .jsjobs-modern-message-bubble-body {
    grid-column: 1;
    grid-row: 1;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-avatar img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble-body {
    padding: 13px 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble.is-mine .jsjobs-modern-message-bubble-body {
    background: var(--jsjobs-primary-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 8px;
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble-meta strong {
    color: var(--jsjobs-text-strong);
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble-text {
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-empty-state {
    display: grid;
    gap: 5px;
    margin: 18px;
    padding: 18px;
    border: 1px dashed var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    text-align: center;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-empty-state strong {
    color: var(--jsjobs-text-strong);
    font-size: 14px;
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-empty-state span {
    font-size: 12px;
    font-weight: 650;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-pagination-shell {
    margin-top: 18px;
}

@media (max-width: 760px) {
    #js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context {
        grid-template-columns: 1fr;
        text-align: start;
    }

    #js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble,
    #js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble.is-mine {
        /* grid-template-columns: 38px minmax(0, 1fr); */
        justify-self: stretch;
        max-width: 100%;
    }

    #js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble.is-mine .jsjobs-modern-message-avatar,
    #js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-bubble.is-mine .jsjobs-modern-message-bubble-body {
        /* grid-column: auto; */
        /* grid-row: auto; */
    }
}

/* =========================================================
   Area: Messages - List Pages
   Scope: #js_jobs_main_wrapper.jsjobs-modern-messages-page
   Notes: Employer/jobseeker message list cards only. Shared cards,
          buttons, pagination and tokens live in core/list CSS.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-messages-title-row {
    display: grid;
    gap: 6px;
    margin: 0 0 18px;
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-main-page-title {
    margin: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-messages-subtitle {
    display: block;
    padding-inline-start: 18px;
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.45;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-messages-list-shell {
    gap: 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-main {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 15px;
    align-items: center;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-primary);
    font-size: 20px;
    font-weight: 950;
    line-height: 1;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-content {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-kicker {
    margin: 0 0 4px;
    color: var(--jsjobs-primary);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1.25;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-title {
    margin: 0 0 9px;
    color: var(--jsjobs-text-strong);
    font-size: clamp(17px, 1.8vw, 22px);
    font-weight: 950;
    letter-spacing: -.03em;
    line-height: 1.5;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-meta-chip span {
    color: var(--jsjobs-muted);
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .05em;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-meta-chip strong {
    color: var(--jsjobs-text-strong);
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page a.jsjobs-modern-message-meta-chip:hover,
#js_jobs_main_wrapper.jsjobs-modern-messages-page a.jsjobs-modern-message-meta-chip:focus {
    border-color: var(--jsjobs-primary);
    color: var(--jsjobs-primary-hover);
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-messages-empty {
    display: grid;
    gap: 6px;
    padding: 26px 20px;
    text-align: center;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-messages-empty strong {
    color: var(--jsjobs-text-strong);
    font-size: 16px;
    font-weight: 950;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-messages-empty span {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 700;
}

#js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-pagination {
    margin-top: 20px;
}

@media (max-width: 780px) {
    #js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card {
        align-items: stretch;
        flex-direction: column;
    }

    #js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-main {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    #js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-avatar {
        width: 48px;
        height: 48px;
        font-size: 18px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-actions {
        justify-content: flex-start;
    }
}

/* =========================================================
   Area: Messages - Rich message content
   Scope: #js_jobs_main_wrapper.jsjobs-modern-message-send-page
   Notes: Preserve safe editor formatting in previous messages and history.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message p {
    margin: 0 0 10px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message p:last-child,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message ul:last-child,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message ol:last-child,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message blockquote:last-child {
    margin-bottom: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message strong,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message b {
    font-weight: 900;
    color: var(--jsjobs-text-strong);
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message em,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message i {
    font-style: italic;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message u {
    text-decoration: underline;
    text-underline-offset: 2px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message s,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message strike {
    text-decoration: line-through;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h1,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h2,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h3,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h4,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h5,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h6 {
    margin: 10px 0 7px;
    color: var(--jsjobs-text-strong);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -.015em;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h1 {
    font-size: 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h2 {
    font-size: 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h3 {
    font-size: 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h4,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h5,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message h6 {
    font-size: 14px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message ul,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message ol {
    margin: 8px 0 10px;
    padding-inline-start: 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message li {
    margin: 3px 0;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-rich-message blockquote {
    margin: 10px 0;
    padding: 8px 12px;
    border-inline-start: 3px solid var(--jsjobs-primary);
    border-radius: 0 var(--jsjobs-radius-sm) var(--jsjobs-radius-sm) 0;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-muted);
}


/* =========================================================
   Phase 130: Send Message editor containment polish
   Keeps TinyMCE toolbar and editable area visually inside the form card.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-tinymce,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .js-editor-tinymce {
    border-color: var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    overflow: hidden;
    background: var(--jsjobs-surface);
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-editor-container,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-edit-area,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .js-editor-tinymce {
    max-width: 100%;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-editor-header {
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    z-index: auto;
    box-shadow: none;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control iframe {
    display: block;
    width: 100%;
    min-height: 0;
    border: 0;
    background: var(--jsjobs-surface);
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control:focus-within {
    border-color: var(--jsjobs-primary);
    box-shadow: var(--jsjobs-focus-ring);
}

/* =========================================================
   Phase 131: Send Message TinyMCE inner focus box cleanup
   Keeps the editor border on the outer card only and removes the
   extra blue editable-area rectangle that appears while typing.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control:focus-within {
    border-color: transparent;
    box-shadow: none;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-tinymce:focus-within,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-edit-area:focus-within,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-edit-area__iframe:focus {
    border-color: var(--jsjobs-border);
    box-shadow: none;
    outline: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-edit-area {
    border: 0;
    outline: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-edit-area__iframe {
    min-height: 380px;
    outline: 0;
}


/* =========================================================
   Phase 133: Send Message TinyMCE min-height cleanup
   Do not force min-height on TinyMCE iframe/container children.
   TinyMCE already receives height from Joomla Editor::display(), and
   forcing iframe min-height can leave a visible inner editing boundary.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-tinymce,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-editor-container,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-edit-area,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-edit-area__iframe,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control iframe,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .js-editor-tinymce {
    min-height: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-edit-area,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control .tox-edit-area__iframe,
#js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-editor-control iframe {
    outline: 0;
    box-shadow: none;
}

/* =========================================================
   Phase 135: Complete frontend/site refresh bridge
   Scope: employer + job seeker frontend pages only.
   This block gives remaining legacy templates the same modern base
   used by Add/Edit Job, Company, My Jobs, Applications and Messages.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-site-page {
    color: var(--jsjobs-text);
    font-family: var(--jsjobs-font-ui);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page #jsjobs-main-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-wrapper {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page a {
    color: var(--jsjobs-primary);
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page a:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page a:focus {
    color: var(--jsjobs-primary-hover);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page a.jsjobs-emp-intro-btn:hover{
    color: #fff;
}
/* Universal page title/action treatment for old templates. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    margin: 0 0 34px;
    padding: 28px 30px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-xl);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    box-shadow: none;
    color: var(--jsjobs-text-strong);
    font-size: 30px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -.035em;
    position: relative;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title::before {
    content: "";
    width: 6px;
    height: 38px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    flex: 0 0 auto;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title > span:first-child,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title .jsjobs-title-componet,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title .jsjobs-title-coverletter,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title .jsjobs-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-add-cover-btn,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-resume-a,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-add-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 18px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: -.01em;
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-add-cover-btn:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-resume-a:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-add-button:hover {
    border-color: rgba(37, 99, 235, .32);
    background: var(--jsjobs-primary-soft);
}

/* Universal pagination/result blocks. */
#js_jobs_main_wrapper.jsjobs-modern-page #jsjobs_jobs_pagination_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-page #jsjobs_resumes_pagination_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-pagination-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-page form > #jsjobs_jobs_pagination_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-page form > #jsjobs_resumes_pagination_wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    margin: 28px 0 0;
    padding: 16px 18px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-resultscounter,
#js_jobs_main_wrapper.jsjobs-modern-site-page #jl_pagination_counter {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-lbox,
#js_jobs_main_wrapper.jsjobs-modern-site-page #jl_pagination_box {
    margin-inline-start: auto;
}

#js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-lbox select,
#js_jobs_main_wrapper.jsjobs-modern-site-page #jl_pagination_box select {
    min-width: 64px;
    height: 42px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-xs);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
    font-weight: 700;
    padding: 0 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-plinks,
#js_jobs_main_wrapper.jsjobs-modern-site-page #jl_pagination_pageslink {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex-wrap: wrap;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .pagination,
#js_jobs_main_wrapper.jsjobs-modern-site-page .pagination ul {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .pagination a,
#js_jobs_main_wrapper.jsjobs-modern-site-page .pagination span,
#js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-plinks a,
#js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-plinks span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xs);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .pagination .active a,
#js_jobs_main_wrapper.jsjobs-modern-site-page .pagination .active span,
#js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-plinks .active,
#js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-plinks a:hover {
    border-color: rgba(37, 99, 235, .32);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary);
}

/* Dashboard pages: employer and job seeker control panels.
   The sidebar (.jsjobs-emp-left-menu) and content (#jsjobs-emp-cp-wrapper)
   are SIBLINGS inside #jsjobs-main-wrapper, so the grid lives on the parent;
   title/breadcrumb/messages span both columns. */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-main-wrapper {
    display: grid;
    grid-template-columns: minmax(200px, 230px) minmax(0, 1fr);
    gap: 0px 20px;
    align-items: start;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-main-wrapper > .jsjobs-main-page-title,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-main-wrapper > .jsjobs-breadcrunbs-wrp,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-main-wrapper > #errormessage,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-main-wrapper > .errormessage {
    grid-column: 1 / -1;
    
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-left-menu {
    display: block;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-emp-cp-wrapper {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-short-links,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-stats,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-right-wrap,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-block,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-visitor-message {
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-intro-wrp {
    margin: 0;
    padding: 24px;
    border: 0;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    background: linear-gradient(180deg, var(--jsjobs-primary-subtle) 0%, var(--jsjobs-surface) 100%);
    text-align: center;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-intro-img {
    width: 84px;
    height: 84px;
    margin: 0 auto 12px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 22px;
    background: var(--jsjobs-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-intro-img img {
    max-width: 72px;
    max-height: 72px;
    object-fit: contain;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-intro-name {
    color: var(--jsjobs-text-strong);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.02em;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-intro-cat {
    margin-top: 4px;
    color: var(--jsjobs-muted);
    font-size: 13px;
    word-break: break-word;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-intro-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    margin-top: 14px;
    padding: 0 16px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-links-heading {
    padding: 18px 20px 8px;
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-links {
    display: grid;
    gap: 10px;
    padding: 10px 14px 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-menu {
    display: grid;
    grid-template-columns: 42px 1fr;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 0px 10px;
    border: 1px solid transparent;
    border-radius: var(--jsjobs-radius-md);
    color: var(--jsjobs-text);
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-menu:hover {
    border-color: var(--jsjobs-border);
    background: var(--jsjobs-primary-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-new-company-icon,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-img-icon {
    width: 42px;
    height: 42px;
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    display: flex;
    align-items: center;
    justify-content: center;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-new-company-icon img,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-img-icon img {
    max-width: 24px;
    max-height: 24px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-new-company-title,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-jobseeker-title {
    color: inherit;
    font-size: 14px;
    line-height: 1.25;
}

/* Universal modern forms for remaining legacy forms. */
#js_jobs_main_wrapper.jsjobs-modern-site-form-page form,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsautoz_form,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .resumeForm,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-field-main-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-form-wrapper {
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    padding: 20px;
    display: inline-block;
    width: 100%;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-field-main-wrapper .jsjobs-modern-search-card-head span{
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    
    font-weight: 900;
    line-height: 1.5;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-field-main-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .resumeForm,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page form.jsautoz_form {
    /* padding: 26px; */
    width: 100%;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-fieldwrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjob-refine-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldwrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldwrapper2,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .js-form-wrapper {
    min-width: 0;
    margin: 0 0 16px;
    padding: 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-fieldtitle,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .js-searchform-title,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldtitle,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page label {
    display: block;
    margin: 0 0 8px;
    color: var(--jsjobs-text-strong);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .02em;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page label.cf_radiobtn, #js_jobs_main_wrapper.jsjobs-modern-site-form-page label.cflabelcb{
    margin-bottom: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-fieldvalue,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .js-searchform-value,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldvalue {
    width: 100%;
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldvalue #educationminimaxdiv, #js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldvalue #educationrangediv{
    align-items: center;
    gap: 10px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldvalue .jsjobs-cbobox{
    flex: 1 1 auto;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldvalue #experienceminimaxdiv{
    align-items: center;
    gap: 10px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldvalue #experiencerangediv{
    align-items: center;
    gap: 10px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-fieldvalue{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-fieldvalue .jsjobs-salaryrange-value{
    flex: 1 1 auto;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-fieldvalue #experiencemin, #js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-fieldvalue #experiencemax{
    width: unset;
    flex: 1 1 auto;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page input[type="text"],
#js_jobs_main_wrapper.jsjobs-modern-site-form-page input[type="email"],
#js_jobs_main_wrapper.jsjobs-modern-site-form-page input[type="password"],
#js_jobs_main_wrapper.jsjobs-modern-site-form-page input[type="url"],
#js_jobs_main_wrapper.jsjobs-modern-site-form-page input[type="number"],
#js_jobs_main_wrapper.jsjobs-modern-site-form-page input[type="date"],
#js_jobs_main_wrapper.jsjobs-modern-site-form-page select,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page textarea,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .inputbox {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--jsjobs-border) !important;
    border-radius: var(--jsjobs-radius-sm) !important;
    background: var(--jsjobs-surface) !important;
    color: var(--jsjobs-text) !important;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 12px;
    box-shadow: none;
}
.jsjobs-fieldvalue .chosen-container-multi .chosen-choices{
    padding: 0;
    background-color: unset;
    border: none;

}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page input:focus,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page select:focus,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page textarea:focus,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .inputbox:focus {
    border-color: var(--jsjobs-primary);
    box-shadow: var(--jsjobs-focus-ring);
    outline: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page textarea {
    min-height: 150px;
    resize: vertical;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldwrapper-btn,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .resumesubmitbuttons,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-folder-info-btn,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .form-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--jsjobs-border-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldwrapper-btn{
    width: 100%;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldwrapper-btn .jsjobs-folder-info-btn{
    width: 100%;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldwrapper-btn .jsjobs-folder-info-btn .jsjobs-folder-btn{
    width: 100%;
    border: none;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldwrapper-btn .jsjobs-folder-info-btn .jsjobs-folder-btn input{
    min-width: 22px;
}

/* Universal buttons/actions. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .button,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs_button,
#js_jobs_main_wrapper.jsjobs-modern-site-page input#button,
#js_jobs_main_wrapper.jsjobs-modern-site-page .js_job_button,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-btn,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-buy-btn,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-view-btn,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-apply-button,
#js_jobs_main_wrapper.jsjobs-modern-site-page .resume_submits,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-icon-btn,
#js_jobs_main_wrapper.jsjobs-modern-site-page .js_listing_icon,
#js_jobs_main_wrapper.jsjobs-modern-site-page .action,
#js_jobs_main_wrapper.jsjobs-modern-site-page .pageLink {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 13px;
    font-weight: 900;
    line-height: 1;
    box-shadow: none;
    text-decoration: none;
    cursor: pointer;
    min-width: 120px;
    margin-top: 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page input#button,
#js_jobs_main_wrapper.jsjobs-modern-site-page .button.jsjobs_button,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-buy-btn,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-apply-button,
#js_jobs_main_wrapper.jsjobs-modern-site-page .resume_submits.save,
#js_jobs_main_wrapper.jsjobs-modern-site-page .resume_submits.saveandclose {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    box-shadow: 0 10px 24px rgba(37, 99, 235, .18);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .del,
#js_jobs_main_wrapper.jsjobs-modern-site-page .delete,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-icon-del,
#js_jobs_main_wrapper.jsjobs-modern-site-page .resume_submits.cancel {
    border-color: rgba(220, 38, 38, .16);
    background: #fff5f5;
    color: var(--jsjobs-danger);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .button:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs_button:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .js_job_button:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-btn:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-buy-btn:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-view-btn:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-apply-button:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-icon-btn:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .js_listing_icon:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .action:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .pageLink:hover {
    transform: translateY(-1px);
    box-shadow: var(--jsjobs-shadow-sm);
}

/* Legacy lists, cards and records. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-listing-main-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-mydepartmentlist,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-purchasehistory-main,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-list,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-list,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-list-rewrite,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-list {
    display: grid;
    gap: 18px;
    width: 100%;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-listing-area,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjob-main-department,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-rewrite,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-listing-datawrap,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-listing-datawrap-details,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-package-data,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-card,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-card,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-card,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-searchwrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-category-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folderinfo,
#js_jobs_main_wrapper.jsjobs-modern-site-page .js_job_data_1,
#js_jobs_main_wrapper.jsjobs-modern-site-page .js_job_data_2 {
    width: 100%;
    margin: 0 0 18px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .js_job_data_2.myresume.first-child{
    border: none;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-listing-area,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-listing-datawrap,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-listing-datawrap-details,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-package-data,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjob-main-department,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-searchwrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folderinfo {
    padding: 24px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-coverletter-title,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-title,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-title-name,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-package-name,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-title-wrap,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-name,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-title,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-title {
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.025em;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-coverletter-created,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-category-status,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-meta,
#js_jobs_main_wrapper.jsjobs-modern-site-page .stats_data_title,
#js_jobs_main_wrapper.jsjobs-modern-site-page .stats_data_value,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-meta,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-meta,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-fields {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 700;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-coverletter-button-area,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-actions,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-actions,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-actions,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-footer,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

/* My Folders — card header/footer split + status pill (folder:myfolders).
   The card shell (border/radius/bg) comes from the shared list-page block above;
   these rules supply the inner header/footer padding and the status chip. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 20px 24px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding: 14px 24px;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-status {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    padding: 4px 12px;
    border-radius: var(--jsjobs-radius-pill);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    background: var(--jsjobs-surface-muted);
    color: var(--jsjobs-muted);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-status.approved {
    background: rgba(22, 163, 74, .12);
    color: var(--jsjobs-success);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-status.pending {
    background: rgba(217, 119, 6, .12);
    color: var(--jsjobs-warning);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-status.rejected {
    background: #fff5f5;
    color: var(--jsjobs-danger);
}
/* Compact action buttons in the folder footer — drop the shared list margin/min-width. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-actions .action {
    margin-top: 0;
    min-width: 0;
}

/* My Departments — card row layout + status chips (department:mydepartments).
   .jsjob-main-department already carries the card box/padding from the list block. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjob-main-department {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-department-left {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
    flex: 1 1 260px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-department-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    flex: 1 1 auto;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-department-right .jsjobs-company a {
    color: var(--jsjobs-text-strong);
    font-weight: 800;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .js_coverletter_created_title {
    color: var(--jsjobs-muted);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .dept-status .approve,
#js_jobs_main_wrapper.jsjobs-modern-site-page .dept-status .pending,
#js_jobs_main_wrapper.jsjobs-modern-site-page .dept-status .reject,
#js_jobs_main_wrapper.jsjobs-modern-site-page #jsjobs-status-btn,
#js_jobs_main_wrapper.jsjobs-modern-site-page #jsjobs-status-btn-rejected {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: var(--jsjobs-radius-pill);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .dept-status .approve {
    background: rgba(22, 163, 74, .12);
    color: var(--jsjobs-success);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .dept-status .pending,
#js_jobs_main_wrapper.jsjobs-modern-site-page #jsjobs-status-btn {
    background: rgba(217, 119, 6, .12);
    color: var(--jsjobs-warning);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .dept-status .reject,
#js_jobs_main_wrapper.jsjobs-modern-site-page #jsjobs-status-btn-rejected {
    background: #fff5f5;
    color: var(--jsjobs-danger);
}

/* Packages and purchase history. */
#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-listing-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-purchase-listing-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: -24px -24px 18px;
    padding: 22px 24px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-primary-subtle);
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .total-amount,
#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-price-forjobseeker {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-data-detail,
#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-listing-wrap {
    padding: 10px 0;
    border-bottom: 1px solid var(--jsjobs-border-soft);
}

/* Details/profile pages. */
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-detail-hero,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-resume-profile,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-resume-sectin-wrap,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-listing-datawrap,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-coverletter-view,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-folder-view,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-package-data {
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-resume-sectin-wrap,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-listing-datawrap,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-coverletter-view,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-folder-view,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-package-data {
    padding: 24px;
    margin-bottom: 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .js-resume-section-title,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .js_controlpanel_section_title,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-detail-panel-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    color: var(--jsjobs-text-strong);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.02em;
}

#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .js-resume-data-title,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-detail-field-label {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}

#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .js-resume-data-value,
#js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-detail-field-value {
    color: var(--jsjobs-text);
    font-size: 14px;
    font-weight: 700;
}

/* Search / AI search panels. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-ai-listing-search,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-ai-search-page {
    margin: 0 0 22px;
    padding: 22px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: linear-gradient(180deg, var(--jsjobs-primary-subtle) 0%, var(--jsjobs-surface) 100%);
    box-shadow: var(--jsjobs-shadow-sm);
}

/* When the AI panel is the only thing on the page, the generic form card rules
   above (form / .jsjobs-field-main-wrapper) wrap it in two more bordered,
   shadowed, 20px-padded cards - three frames and ~62px of stacked padding around
   one input. Drop the outer chrome so the AI panel is the single card. Only
   applies when the AI form is actually rendered; with AI off the normal search
   form keeps its card. */
#js_jobs_main_wrapper.jsjobs-modern-site-form-page form:has(.jsjobs-ai-search-page),
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-field-main-wrapper:has(> .jsjobs-ai-search-page) {
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-field-main-wrapper:has(> .jsjobs-ai-search-page) .jsjobs-ai-search-page {
    margin-bottom: 0;
}

/* ai-icon.png is a pure white glyph on transparent, drawn for a dark background.
   On the panel's pale gradient it was invisible - it read as a faint smudge. Put
   the colour behind it instead of filtering the image, so the white glyph keeps
   its own shape and contrast. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-ai-search-image-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin-bottom: 12px;
    border-radius: 50%;
    background: var(--jsjobs-primary);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-ai-search-image-wrap img {
    width: 24px;
    height: 24px;
    object-fit: contain;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-ai-search-label-wrap {
    color: var(--jsjobs-text-strong);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.02em;
    margin-bottom: 12px;
}

/* Resume search — currency prefix + checkbox field value (resume:resumesearch). */
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-currancy {
    margin-inline-end: 8px;
    color: var(--jsjobs-muted);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-fieldvalue-custom-class-checkbox label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-ai-search-field-wrap {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

/* The AI field only had flex sizing, so it fell back to raw .inputbox and did not
   match the component's other inputs. These are the same values as the canonical
   .jsjobs-modern-form-control input in jsjobs-modern-forms.css. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-ai-filter-field {
    flex: 1 1 auto;
    min-width: 0;
    height: 45px;
    margin: 0;
    padding: 9px 12px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-family: var(--jsjobs-font-ui);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.35;
    outline: 0;
    box-shadow: none;
    transition: border-color var(--jsjobs-transition-fast), background var(--jsjobs-transition-fast), box-shadow var(--jsjobs-transition-fast);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-ai-filter-field:focus {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-focus-ring);
}

/* Match the field height, and drop the generic button rule's margin-top: 20px -
   that is meant for buttons sitting below a form, and inside this flex row it
   pushed the button below the field and stretched the row around it. */
/* The second selector matches the id the template gives this input
   (<input id="button" class="button jsjobs-ai-filter-button">). Several generic
   button rules are written as `input#button`, which carries id specificity and
   would otherwise outrank a class-only selector here. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-ai-filter-button,
#js_jobs_main_wrapper.jsjobs-modern-site-page input#button.jsjobs-ai-filter-button {
    flex: 0 0 auto;
    height: 45px;
    margin: 0;
    align-self: center;
}

/* Empty/error/info states. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-empty-state,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-message-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-error-message,
#js_jobs_main_wrapper.jsjobs-modern-site-page .errormessage,
#js_jobs_main_wrapper.jsjobs-modern-site-page #errormessage,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-access-denied {
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    color: var(--jsjobs-muted);
    padding: 24px;
}

/* Responsive treatment. */
@media (max-width: 900px) {
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-main-wrapper {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title {
        align-items: flex-start;
        flex-direction: column;
        padding: 24px;
        font-size: 25px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title::before {
        width: 42px;
        height: 5px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-page #jsjobs_jobs_pagination_wrapper,
    #js_jobs_main_wrapper.jsjobs-modern-page #jsjobs_resumes_pagination_wrapper,
    #js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-pagination-wrapper {
        align-items: stretch;
        flex-wrap: wrap;
    }

    #js_jobs_main_wrapper.jsjobs-modern-page .jsjobs-lbox,
    #js_jobs_main_wrapper.jsjobs-modern-site-page #jl_pagination_box {
        margin-inline-start: 0;
    }

    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-ai-search-field-wrap {
        flex-direction: column;
    }
}

@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-field-main-wrapper,
    #js_jobs_main_wrapper.jsjobs-modern-site-form-page .resumeForm,
    #js_jobs_main_wrapper.jsjobs-modern-site-form-page form.jsautoz_form,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-listing-area,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-listing-datawrap,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-listing-datawrap-details,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-package-data,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjob-main-department,
    #js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-resume-sectin-wrap,
    #js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-listing-datawrap,
    #js_jobs_main_wrapper.jsjobs-modern-site-detail-page .jsjobs-package-data {
        padding: 18px;
    }

    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-coverletter-button-area,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-actions,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-actions,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-actions,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-footer,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-actions {
        justify-content: flex-start;
    }
}

/* =========================================================
   Job detail page (job:view_job)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-job-detail-page
   Notes: Ported from legacy style.css Phase 68/69 blocks,
          tokenized, no !important.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 22px;
    align-items: stretch;
    padding: 26px;
    margin: 22px 0 30px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 22px;
    background: linear-gradient(135deg, var(--jsjobs-surface) 0%, var(--jsjobs-primary-subtle) 55%, var(--jsjobs-primary-soft) 100%);
    box-shadow: 0 16px 36px rgba(15, 23, 42, .075);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-hero-main {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-logo {
    width: 94px;
    height: 94px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--jsjobs-border);
    border-radius: 16px;
    background: var(--jsjobs-surface);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .08);
    overflow: hidden;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-logo img {
    max-width: 82%;
    max-height: 82%;
    object-fit: contain;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-main-content {
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-badges {
    margin-bottom: 9px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-title {
    margin: 0 0 5px;
    font-size: clamp(25px, 3vw, 34px);
    line-height: 1.12;
    color: var(--jsjobs-text);
    font-weight: 850;
    letter-spacing: -0.035em;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-company {
    display: inline-flex;
    align-items: center;
    margin: 0 0 12px;
    color: var(--jsjobs-primary);
    font-size: 15px;
    font-weight: 800;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-meta-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 8px 11px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 999px;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-modern-text);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 5px 12px rgba(15, 23, 42, .035);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-share {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 10px;
    min-width: 164px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-share-title {
    color: var(--jsjobs-muted);
    font-size: 11px;
    line-height: 1;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-share-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 7px;
    max-width: 170px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-share-icons a {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: var(--jsjobs-surface);
    border: 1px solid var(--jsjobs-border);
    box-shadow: 0 8px 16px rgba(15, 23, 42, .06);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-share-icons img {
    width: 18px;
    height: 18px;
    object-fit: contain;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-like {
    max-width: 170px;
    overflow: hidden;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-dashboard-job-card {
    margin: 0 0 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-dashboard-job-card .jsjobs-modern-job-card-main {
    grid-template-columns: 86px minmax(0, 1fr) minmax(145px, auto);
    padding: 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-dashboard-job-card .jsjobs-modern-company-logo {
    width: 76px;
    height: 76px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-dashboard-job-card .jsjobs-modern-job-title {
    font-size: 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-dashboard-job-card .jsjobs-modern-job-footer {
    padding: 12px 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .js-cp-suggested-jobs .js-suggestedjobs-area {
    padding: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .js-cp-suggested-jobs #js-jobs-wrapper {
    border: 0;
    background: transparent;
    box-shadow: none;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .js-cp-applied-resume-show-more-wrp,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .js-cp-sugest-jobs-show-more,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .js-cp-applied-resume-show-more {
    border-radius: 999px;
    font-weight: 800;
}
/* Phase 88: employer rewritten lists use natural document flow.
   Do not force flex/grid on the outer list; cards define their own layout. */
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page.jsjobs-employer-jobs-rewrite .jsjobs-employer-job-list-rewrite,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page.jsjobs-employer-companies-rewrite .jsjobs-employer-company-list-rewrite {
    display: block;
    min-height: 0;
    height: auto;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page.jsjobs-employer-jobs-rewrite .jsjobs-employer-job-card-rewrite:last-child,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page.jsjobs-employer-companies-rewrite .jsjobs-employer-company-card-rewrite:last-child {
    margin-bottom: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page.jsjobs-employer-companies-rewrite .jsjobs-employer-company-card-rewrite {
    clear: both;
}

@media (max-width: 900px) {
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-hero {
        grid-template-columns: 1fr;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-share {
        align-items: flex-start;
        min-width: 0;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-share-icons {
        justify-content: flex-start;
        max-width: none;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-dashboard-job-card .jsjobs-modern-job-card-main {
        grid-template-columns: 76px minmax(0, 1fr);
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-dashboard-job-card .jsjobs-modern-job-side {
        grid-column: 2;
    }
}
@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-hero {
        padding: 18px;
        margin-top: 16px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-hero-main {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-logo {
        width: 82px;
        height: 82px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-title {
        font-size: 24px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-dashboard-job-card .jsjobs-modern-job-card-main {
        grid-template-columns: 1fr;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-dashboard-job-card .jsjobs-modern-job-side {
        grid-column: auto;
    }
}

#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-modern-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 22px;
    align-items: start;
    margin: 24px 0 0;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-modern-main {
    display: grid;
    gap: 18px;
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-modern-sidebar {
    display: grid;
    gap: 16px;
    position: sticky;
    top: 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-panel,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-apply-card,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-summary-card,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card {
    border: 1px solid var(--jsjobs-border);
    border-radius: 20px;
    background: var(--jsjobs-surface);
    box-shadow: 0 12px 32px rgba(15, 23, 42, .055);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-panel {
    overflow: hidden;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-panel-info {
    border-color: var(--jsjobs-border);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-panel-head span {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--jsjobs-text);
    font-size: 18px;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: -.02em;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-panel-head span::before {
    content: "";
    width: 4px;
    height: 20px;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--jsjobs-primary), var(--jsjobs-accent));
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-panel-head em {
    max-width: 50%;
    color: var(--jsjobs-muted);
    font-size: 12px;
    line-height: 1.35;
    font-style: normal;
    font-weight: 700;
    text-align: end;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px 20px 20px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-field-grid-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-field {
    position: relative;
    min-height: 76px;
    padding: 14px 15px 13px 17px;
    border: 1px solid var(--jsjobs-border-soft);
    border-inline-start: 3px solid var(--jsjobs-accent);
    border-radius: 15px;
    background: var(--jsjobs-surface);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .035);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-field-label {
    display: block;
    margin: 0 0 7px;
    color: var(--jsjobs-muted);
    font-size: 11px;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-field-value {
    display: block;
    color: var(--jsjobs-text);
    font-size: 14px;
    line-height: 1.42;
    font-weight: 700;
    overflow-wrap: anywhere;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-field-value span,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-field-value div {
    max-width: 100%;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-custom-fields {
    padding: 0 20px 20px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-custom-fields .js_job_data_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-custom-fields .js-fields-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-custom-fields .js-fields {
    float: none;
    width: auto;
    max-width: none;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-custom-fields .js_job_data_wrapper{
    width: calc(100% / 2 - 6px);
    padding: 14px 15px 13px 17px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-content-body {
    padding: 20px;
    color: var(--jsjobs-modern-text);
    font-size: 14px;
    line-height: 1.7;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-content-body p:last-child {
    margin-bottom: 0;
}
/* Editor custom fields come from showCustomFields(), which wraps the value in the
   legacy .js_job_data_wrapper tile. Inside a content panel the panel already is the
   card, so drop the nested border, accent bar and background. */
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-content-body .js_job_data_wrapper {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-content-body .js_job_data_value {
    display: block;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-map-box {
    padding: 20px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-map-box #map,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-map-box #map_container {
    width: 100%;
    min-height: 320px;
    border-radius: 16px;
    overflow: hidden;
    background: var(--jsjobs-surface-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-video-box {
    position: relative;
    padding: 20px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-video-box iframe {
    width: 100%;
    min-height: 360px;
    border-radius: 16px;
    background: var(--jsjobs-text);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-apply-card {
    display: grid;
    gap: 10px;
    padding: 22px;
    border-color: var(--jsjobs-border);
    background: linear-gradient(135deg, var(--jsjobs-primary-subtle), var(--jsjobs-surface));
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-apply-eyebrow {
    color: var(--jsjobs-primary);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-apply-card strong {
    color: var(--jsjobs-text);
    font-size: 19px;
    line-height: 1.25;
    font-weight: 850;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-apply-card em {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-apply-button,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-apply-button:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin-top: 8px;
    padding: 12px 18px;
    border: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, var(--jsjobs-primary), var(--jsjobs-primary-hover));
    color: var(--jsjobs-surface);
    font-size: 14px;
    line-height: 1;
    font-weight: 850;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(36, 107, 254, .24);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-apply-button:hover {
    color: var(--jsjobs-surface);
    transform: translateY(-1px);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-summary-card,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card {
    padding: 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-sidebar-title {
    display: block;
    margin: 0 0 12px;
    color: var(--jsjobs-text);
    font-size: 16px;
    line-height: 1.2;
    font-weight: 850;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-summary-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-top: 1px solid var(--jsjobs-border-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-summary-row span {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-summary-row strong {
    max-width: 58%;
    color: var(--jsjobs-text);
    font-size: 13px;
    line-height: 1.35;
    font-weight: 850;
    text-align: end;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card details {
    display: block;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card summary {
    cursor: pointer;
    color: var(--jsjobs-modern-text);
    font-size: 13px;
    font-weight: 850;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card form {
    display: grid;
    gap: 9px;
    margin-top: 14px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card label {
    margin: 0;
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card select,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card textarea,
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card input[type="text"],
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card input[type="email"] {
    width: 100%;
    min-height: 38px;
    padding: 9px 11px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 10px;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
    font-size: 13px;
    box-sizing: border-box;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card textarea {
    min-height: 84px;
    resize: vertical;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-submit {
    min-height: 40px;
    padding: 10px 14px;
    border: 0;
    border-radius: 11px;
    background: var(--jsjobs-text);
    color: var(--jsjobs-surface);
    font-size: 13px;
    font-weight: 850;
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page #js_job_fb_commentparent {
    margin-top: 22px;
    padding: 18px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 18px;
    background: var(--jsjobs-surface);
    box-shadow: 0 12px 32px rgba(15, 23, 42, .055);
}
#js_jobs_main_wrapper.jsjobs-modern-job-detail-page #js_job_fb_commentheading {
    display: block;
    padding: 14px;
    border-radius: 12px;
    background: var(--jsjobs-text);
    color: var(--jsjobs-surface);
    font-size: 13px;
    font-weight: 850;
    text-align: center;
}
@media (max-width: 980px) {
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-modern-layout {
        grid-template-columns: 1fr;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-modern-sidebar {
        position: static;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-report-card {
        grid-column: 1 / -1;
    }
}
@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-modern-layout {
        gap: 16px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-field-grid,
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-field-grid-compact,
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-modern-sidebar {
        grid-template-columns: 1fr;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-panel-head {
        align-items: flex-start;
        flex-direction: column;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-panel-head em {
        max-width: 100%;
        text-align: start;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-field {
        min-height: auto;
    }
}


/* =========================================================
   Applied applications: search/filter panel + export
   Scope: #js_jobs_main_wrapper.jsjobs-modern-applications-page
   Notes: Replaces live legacy filter-tab rules from style.css
          (span.jsjobs_appliedresume_tab block). Markup contract:
          #jsjobs_appliedresume_tab_search > ..._data >
          span.jsjobs_appliedresume_tab > span.jsjobs-applied-resume-field
          > div.field (title + value).
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-applications-page #jsjobs_appliedresume_tab_search {
    margin: 0 0 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab {
    display: block;
    width: 100%;
    padding: 18px 18px 20px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-soft);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-applied-resume-field {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
    margin: 0 0 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-applied-resume-field .field {
    display: grid;
    gap: 5px;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab_search_data_title {
    display: block;
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab_search_data_value,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_search_data_value {
    display: block;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab input.inputbox,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab select,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab input[type="text"] {
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
    font-size: 13px;
    box-sizing: border-box;
    transition: border-color var(--jsjobs-transition-fast), box-shadow var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab input.inputbox:focus,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab select:focus {
    outline: none;
    border-color: var(--jsjobs-primary);
    box-shadow: var(--jsjobs-focus-ring);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-radio-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-inline-end: 16px;
    min-height: 40px;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-status-radio-btn {
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 700;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab .fieldwrapper-btn {
    display: block;
    width: 100%;
    margin-top: 6px;
    padding-top: 14px;
    border-top: 1px solid var(--jsjobs-border-soft);
    text-align: center;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab input.jsjobs_button,
#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab input.button_cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin: 0 5px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: var(--jsjobs-radius-pill);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background var(--jsjobs-transition-fast), color var(--jsjobs-transition-fast), transform var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab input.jsjobs_button {
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab input.jsjobs_button:hover {
    background: var(--jsjobs-primary-hover);
    transform: translateY(-1px);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab input.button_cancel {
    background: var(--jsjobs-surface-muted);
    border-color: var(--jsjobs-border);
    color: var(--jsjobs-text);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs_appliedresume_tab input.button_cancel:hover {
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page #jsjobs_appliedresume_action_allexport .jsjobs-export-file {
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_data_location_title {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-applications-page .js_job_data_location_value {
    color: var(--jsjobs-text);
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-applications-page .jsjobs-applied-resume-field {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Job form (job:formjob, job:formjob_visitor): checkbox groups,
   map lat/long, filter + apply-link rows, warn message.
   Scope: #js_jobs_main_wrapper.jsjobs-modern-site-form-page
   Notes: These classes previously relied on live legacy rules in
          style.css (div#jsjobs-main-wrapper div.jsjobs-folderinfo ...).
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldvalue-check,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldvalue-radio-button {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .fieldvalue-radio-button #resumeapplyfilter{
    display: flex;
    flex-direction: column;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-check-box {
    display: inline-flex;
    align-items: center;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-check-box input[type="checkbox"],
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-check-box input.checkbox-gender {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--jsjobs-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-label-gender,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-radio-title {
    display: inline-flex;
    align-items: center;
    padding: 0 10px 0 5px;
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 600;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-filter {
    display: block;
    width: 100%;
    color: var(--jsjobs-modern-text);
    font-size: 13px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-mapvalue {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-latitude,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-longitude {
    display: inline-block;
    min-width: 140px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-specify-range {
    color: var(--jsjobs-primary);
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-job-apply-filter-field,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-job-email-setting-field {
    display: block;
    width: 100%;
    margin: 4px 0;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .check-box-joblink,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jobapplylink {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jobapplylink label{
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Warn message floats above the form; markup sits inside the wrapper. */
#js_jobs_main_wrapper div#warn-message {
    position: relative;
    display: block;
    margin: 0 0 16px;
    padding: 14px 38px 14px 16px;
    border: 1px solid rgba(220, 38, 38, .25);
    border-radius: var(--jsjobs-radius-md);
    background: #fef2f2;
    color: var(--jsjobs-danger);
    font-size: 13px;
    font-weight: 600;
}

#js_jobs_main_wrapper div#warn-message span.close-warnmessage {
    position: absolute;
    top: 8px;
    right: 10px;
    display: inline-block;
    cursor: pointer;
}

#js_jobs_main_wrapper div#warn-message span.close-warnmessage img {
    margin: 0;
}
/* Compact treatment for modern job cards inside dashboard columns. */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-dashboard-job-card .jsjobs-modern-job-card-main {
    grid-template-columns: 64px minmax(0, 1fr) 200px;
    gap: 12px;
    padding: 14px;
}

@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-latitude,
    #js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-longitude {
        width: 100%;
    }
}

/* =========================================================
   Dashboard shared: stat cards, graphs, newest resume/job panels
   Scope: #js_jobs_main_wrapper.jsjobs-modern-dashboard-page
   Notes: Used by employer AND jobseeker control panels. Replaces
          live legacy js-cp-* / js-menu-wrap-* rules from style.css.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-toprow-employer {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-menu-wrap-employer {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px;
    text-decoration: none;
    color: var(--jsjobs-text);
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer img {
    width: 42px;
    height: 42px;
    object-fit: contain;
    flex: 0 0 auto;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-title-employer {
    display: block;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-title-employer .bold-text {
    color: var(--jsjobs-text-strong);
    font-size: 24px;
    font-weight: 900;
    line-height: 1.1;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-title-employer .nonbold-text {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .box-footer {
    margin-top: auto;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .box-footer a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 14px;
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

/* Accent bars per stat card (legacy color1-4 hooks). */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer.color1 { box-shadow: inset 0 3px 0 var(--jsjobs-primary); }
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer.color2 { box-shadow: inset 0 3px 0 var(--jsjobs-success); }
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer.color3 { box-shadow: inset 0 3px 0 var(--jsjobs-accent); }
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer.color4 { box-shadow: inset 0 3px 0 var(--jsjobs-warning); }

/* Graphs */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-graph-wrap {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 0 0 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-graph-wrap .js-graph-left,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-graph-wrap .js-graph-right {
    width: auto;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-graph-wrp {
    display: block;
    padding: 16px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-graph-title {
    display: block;
    margin: 0 0 10px;
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js_emp_chart1,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js_emp_chart2 {
    min-height: 220px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .linechart,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .donut_chart {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    color: var(--jsjobs-muted-soft);
    font-size: 13px;
    font-weight: 700;
}

/* Newest resume / jobs panels */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-jobs-resume-panel {
    display: block;
    margin: 0 0 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-wrap-resume-jobs {
    display: block;
    padding: 16px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-title1,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-title2 {
    display: block;
    margin: 0 0 12px;
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjsjobs-row_wrapper .js-cp-applied-resume,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-appliedresume-seeker .js-cp-applied-resume {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 10px 0;
}

/* Same class doubles as the panel container in the employer template. */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-jobs-resume-panel > .js-cp-applied-resume {
    display: block;
    width: 100%;
    padding: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjsjobs-row_wrapper {
    border-bottom: 1px solid var(--jsjobs-border-soft);
    padding-bottom: 8px;
    margin-bottom: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-image-area {
    flex: 0 0 auto;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-imge-user {
    width: 64px;
    height: 64px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-content-area {
    min-width: 0;
    flex: 1 1 auto;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-title a {
    color: var(--jsjobs-text-strong);
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-status-wrp {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 6px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-status-wrp .jsjobs-status,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-status-wrp .jsjobs-gold,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-status-wrp .jsjobs-featured {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: var(--jsjobs-radius-pill);
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-status-wrp .jsjobs-status { background: var(--jsjobs-primary-soft); color: var(--jsjobs-primary-hover); }
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-status-wrp .jsjobs-gold { background: #fef3c7; color: #92400e; }
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-status-wrp .jsjobs-featured { background: #ede9fe; color: #5b21b6; }

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-location {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 600;
    padding-top: 5px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-email-address,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-category {
    font-size: 13px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-email-address .jsjobs-title,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-category .jsjobs-title {
    color: var(--jsjobs-muted);
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-email-address .jsjobs-value,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-company-category .jsjobs-value {
    color: var(--jsjobs-text);
    font-weight: 600;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-lower .jsjobs-loction {
    color: var(--jsjobs-muted);
    font-size: 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-show-more1-wrp,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-show-more2-wrp {
    display: block;
    margin-top: 10px;
    text-align: end;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-show-more1 a,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-show-more2 a,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-show-more1,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-show-more2 {
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-intro-btn-wrp {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
    justify-content: center;
}

@media (max-width: 780px) {
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-graph-wrap {
        grid-template-columns: 1fr;
    }
}

/* Template outputs img src="" for some stat cards; hide the broken-image glyph. */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer img[src=""],
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .box-footer img:not([src]),
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .box-footer img[src=""],
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page img.arrows {
    display: none;
}

/* =========================================================
   Jobs listing (job:jobs and other site list pages)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-site-page
   Notes: Ported from dead legacy style.css block (headings +
          jsjobs-modern-job-card family), tokenized.
   ========================================================= */
/* Headings */

#js_jobs_main_wrapper.jsjobs-modern-site-page span.jsjobs-main-page-title,
#js_jobs_main_wrapper.jsjobs-modern-site-page #tp_heading {
    display: flex;
    /* align-items: center; */
    text-align: start;
    gap: 13px;
    min-height: auto;
    margin: 0 0 15px;
    padding: 19px 20px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 17px;
    background: var(--jsjobs-primary-subtle);
    color: var(--jsjobs-text-strong);
    font-size: clamp(23px, 2vw, 30px);
    line-height: 1.15;
    font-weight: 850;
    letter-spacing: -.025em;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page div.page_heading{
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: auto;
    margin: 0 0 15px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 17px;
    padding: 19px 20px 19px 0;
    background: var(--jsjobs-primary-subtle);
    color: var(--jsjobs-text-strong);
    font-size: clamp(23px, 2vw, 30px);
    line-height: 1.15;
    font-weight: 850;
    letter-spacing: -.025em;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page div.page_heading::before,
#js_jobs_main_wrapper.jsjobs-modern-site-page span.jsjobs-main-page-title::before {
    content: "";
    width: 4px;
    height: 30px;
    border-radius: 999px;
    background: var(--jsjobs-primary);
    flex: 0 0 4px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page div.page_heading .totaljobsheading {
    margin-inline-start: auto;
    padding: 6px 10px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 999px;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 750;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page #jsjobs-breadcrunbs {
    border: 1px dashed #d1d5db;
    border-radius: 12px;
    background: var(--jsjobs-surface);
    box-shadow: none;
}

/* Modern job listing template generated by site/views/job/jobslisting.php */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-list {
    display: grid;
    gap: 18px;
    width: 100%;
    margin: 22px 0;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-card {
    position: relative;
    display: block;
    overflow: hidden;
    border: 1px solid var(--jsjobs-border);
    border-radius: 20px;
    background: var(--jsjobs-surface);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .055);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--jsjobs-primary), var(--jsjobs-accent));
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-card:hover {
    transform: translateY(-2px);
    border-color: var(--jsjobs-border);
    box-shadow: 0 18px 44px rgba(36, 107, 254, .12);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-card-main {
    display: grid;
    grid-template-columns: 86px minmax(0, 1fr) 240px;
    gap: 20px;
    align-items: start;
    padding: 22px 24px 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-company-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 78px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: 16px;
    background: var(--jsjobs-surface);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .055);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-company-logo img {
    max-width: 64px;
    max-height: 64px;
    object-fit: contain;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-content {
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-title {
    margin: 0 0 5px;
    padding: 0;
    font-size: 23px;
    line-height: 1.15;
    font-weight: 850;
    letter-spacing: -.025em;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-title a {
    color: var(--jsjobs-text-strong);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-title a:hover {
    color: var(--jsjobs-primary);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-company-name {
    display: inline-flex;
    margin-bottom: 11px;
    color: var(--jsjobs-primary);
    font-size: 14px;
    line-height: 1.25;
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 15px;
    color: var(--jsjobs-muted);
    font-size: 13px;
    line-height: 1.45;
    font-weight: 600;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-meta strong {
    color: var(--jsjobs-text-strong);
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-meta .js-bold{
    color: var(--jsjobs-text-strong);
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-custom-field .js-col-xs-12,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-custom-field .js-col-md-5,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-custom-field .js-fields {
    width: auto;
    max-width: none;
    float: none;
    display: inline;
    padding: 0;
    margin: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-side {
    display: grid;
    justify-items: end;
    align-content: start;
    gap: 9px;
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-salary {
    display: flex;
    gap: 3px;
    justify-items: start;
    align-items: end;
    flex-direction: column;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-salary span {
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-salary strong {
    color: var(--jsjobs-text-strong);
    font-size: 15px;
    line-height: 1.35;
    font-weight: 850;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-openings {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 10px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 999px;
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 750;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-openings strong {
    color: var(--jsjobs-primary);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 15px 24px 15px;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
    flex-wrap: wrap;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-location {
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 160px;
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 650;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
    margin-left: auto;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-action,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 13px;
    border-radius: 11px;
    font-size: 13px;
    line-height: 1.15;
    font-weight: 800;
    white-space: nowrap;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-action {
    border: 1px solid var(--jsjobs-border);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-modern-text);
    box-shadow: 0 6px 14px rgba(15, 23, 42, .045);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-action:hover {
    border-color: var(--jsjobs-border);
    color: var(--jsjobs-primary);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-apply {
    min-width: 122px;
    border: 1px solid var(--jsjobs-primary);
    background: linear-gradient(135deg, var(--jsjobs-primary), var(--jsjobs-primary-hover));
    color: var(--jsjobs-surface);
    box-shadow: 0 12px 22px rgba(36, 107, 254, .20);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-apply:hover {
    color: var(--jsjobs-surface);
    transform: translateY(-1px);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-ad {
    padding: 18px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 16px;
    background: var(--jsjobs-surface);
}

/* Job detail header: old template remains, but layout is forced into clean areas. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr) minmax(170px, auto);
    grid-template-areas:
        "logo badges side"
        "logo company side"
        "logo meta side";
    gap: 8px 18px;
    align-items: center;
    padding: 22px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 20px;
    background: var(--jsjobs-surface);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .055);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .js_job_company_logo {
    grid-area: logo;
    width: 82px;
    height: 82px;
    margin: 0;
    float: none;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info span.jsjobs-title {
    grid-area: badges;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: auto;
    margin: 0;
    padding: 0;
    float: none;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .jsjobs-company-name-wrp {
    grid-area: company;
    width: auto;
    margin: 0;
    float: none;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .jsjobs-company-name a {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 850;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .jsjobs-data-jobs-wrapper {
    grid-area: meta;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    width: auto;
    margin: 0;
    float: none;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .jsjobs-location-wrap {
    margin: 0;
    padding: 0;
    font-size: 13px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .jsjobs-right-raea {
    grid-area: side;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    gap: 9px;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    float: none;
    position: static;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .js_job_share_pannel {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    max-width: 210px;
    width: auto;
    margin: 0;
    float: none;
    position: static;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .js_job_share_pannel > div,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .js_job_share_pannel a,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .js_job_share_pannel img {
    float: none;
    position: static;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .jsjobs_daysago {
    margin: 0;
    white-space: nowrap;
}

/* Job detail information grid: a little cleaner and less toy-like. */
#js_jobs_main_wrapper.jsjobs-modern-site-page #jsjobs-overview,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs_description_data,
#js_jobs_main_wrapper.jsjobs-modern-site-page div.jsjobs-job-data div.jsjobs-job-data-description,
#js_jobs_main_wrapper.jsjobs-modern-site-page div.jsjobs-job-data div.jsjobs-job-data-location {
    border-color: var(--jsjobs-border);
    border-radius: 18px;
    background: var(--jsjobs-surface);
    box-shadow: 0 8px 22px rgba(15, 23, 42, .045);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-jobs-overview-area {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .js_job_data_wrapper {
    min-height: 64px;
    border: 1px solid var(--jsjobs-border);
    border-inline-start: 3px solid var(--jsjobs-accent);
    border-radius: 13px;
    background: var(--jsjobs-surface);
    box-shadow: none;
}

/* Pagination */
#js_jobs_main_wrapper.jsjobs-modern-page #jsjobs_jobs_pagination_wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 15px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 16px;
    background: var(--jsjobs-surface);
    box-shadow: none;
}

/* Phase 88: employer rewritten lists use natural document flow.
   Do not force flex/grid on the outer list; cards define their own layout. */
#js_jobs_main_wrapper.jsjobs-modern-site-page.jsjobs-employer-jobs-rewrite .jsjobs-employer-job-list-rewrite,
#js_jobs_main_wrapper.jsjobs-modern-site-page.jsjobs-employer-companies-rewrite .jsjobs-employer-company-list-rewrite {
    display: block;
    min-height: 0;
    height: auto;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page.jsjobs-employer-jobs-rewrite .jsjobs-employer-job-card-rewrite:last-child,
#js_jobs_main_wrapper.jsjobs-modern-site-page.jsjobs-employer-companies-rewrite .jsjobs-employer-company-card-rewrite:last-child {
    margin-bottom: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page.jsjobs-employer-companies-rewrite .jsjobs-employer-company-card-rewrite {
    clear: both;
}

@media (max-width: 900px) {
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-card-main {
        grid-template-columns: 76px minmax(0, 1fr);
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-salary{
        width: 100%;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-openings{
        margin-left: auto;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-side {
        grid-column: 2;
        justify-items: start;
        grid-template-columns: 1fr;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-salary {
        justify-items: start;
        text-align: start;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info {
        grid-template-columns: 90px minmax(0, 1fr);
        grid-template-areas:
            "logo badges"
            "logo company"
            "logo meta"
            "side side";
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .jsjobs-right-raea,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .js_job_share_pannel {
        align-items: flex-start;
        justify-content: flex-start;
        max-width: none;
    }
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-emp-left-menu {
        margin-bottom: 20px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-dashboard-job-card .jsjobs-modern-job-card-main{
        grid-template-columns: 64px minmax(0, 1fr);
    }
}
@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-site-page {
        padding: 14px;
        border-radius: 18px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page::before {
        margin: -14px -14px 16px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page #js_menu_wrapper {
        overflow-x: auto;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-card-main {
        grid-template-columns: 1fr;
        padding: 18px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-company-logo {
        width: 72px;
        height: 72px;
    }
    /* #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-side {
        grid-column: auto;
    } */
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-footer {
        flex-direction: column;
        align-items: stretch;
        padding: 15px 18px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-location,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-actions,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-action,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-apply {
        width: 100%;
        justify-content: center;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info {
        grid-template-columns: 1fr;
        grid-template-areas:
            "logo"
            "badges"
            "company"
            "meta"
            "side";
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-job-info .jsjobs-data-jobs-wrapper {
        display: grid;
        gap: 8px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-jobs-overview-area {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   Job seeker dashboard specifics (jobseeker:controlpanel)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-dashboard-page
   Notes: Stat cards/menu reuse the shared employer classes (template
          carries both names). Below: active-jobs graph, suggested-jobs
          and applied-resume panels, compact dashboard job cards.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-jobseeker-cp-wrapper {
    display: block;
    margin: 0 0 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-graph-area {
    display: block;
    width: auto;
    padding: 16px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    float: none;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-graph-title {
    display: block;
    margin: 0 0 10px;
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-graph-area {
    display: block;
    width: 100%;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js_jobseeker_chart {
    min-height: 220px;
}

.jsjobs-cp-not-found-data{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
/* Suggested jobs + applied resume: side-by-side panels. */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-jobseeker-suggested-applied-panel {
    display: grid;
    gap: 30px;
    align-items: start;
    margin: 0 0 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-jobseeker-suggested-applied-panel > div {
    min-width: 0;
}

/* When only one panel is enabled (e.g. Applied box hidden by config), it
   spans the full row and its job cards flow two per row. */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-jobseeker-suggested-applied-panel > div:only-child {
    grid-column: 1 / -1;
}
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-jobseeker-suggested-applied-panel > div:only-child .js-suggestedjobs-area,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-jobseeker-suggested-applied-panel > div:only-child .js-appliedresume-area {
    grid-template-columns: 1fr;
}
@media (max-width: 900px) {
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-jobseeker-suggested-applied-panel > div:only-child .js-suggestedjobs-area,
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-jobseeker-suggested-applied-panel > div:only-child .js-appliedresume-area {
        grid-template-columns: 1fr;
    }
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-resume-jobs {
    display: block;
    padding: 16px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-sugest-jobs-title,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-title {
    display: block;
    margin: 0 0 15px;
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-suggestedjobs-area,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-appliedresume-area {
    display: grid;
    gap: 12px;
    width: auto;
    float: none;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-appliedresume-seeker{
    position: relative;
    display: block;
    overflow: hidden;
    border: 1px solid var(--jsjobs-border);
    border-radius: 20px;
    background: var(--jsjobs-surface);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .055);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
    padding: 14px;
}
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-appliedresume-seeker::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--jsjobs-primary), var(--jsjobs-accent));
}


#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-dashboard-job-card .jsjobs-modern-company-logo {
    width: 64px;
    height: 64px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-dashboard-job-card .jsjobs-modern-job-side {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-end;
    padding: 0;
    border: 0;
    background: transparent;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-dashboard-job-card .jsjobs-modern-job-title {
    font-size: 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-dashboard-job-card .jsjobs-modern-job-footer {
    padding: 10px 14px;
}

/* Applied resume rows (right panel). */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-appliedresume-seeker {
    border-bottom: 1px solid var(--jsjobs-border-soft);
    padding-bottom: 8px;
    margin-bottom: 8px;
}

/* #js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-appliedresume-seeker:last-of-type {
    border-bottom: 0;
    margin-bottom: 0;
} */

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 10px 0 4px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .js-cp-company-title a {
    display: inline-block;
    color: var(--jsjobs-text-strong);
    font-size: 16px;
    font-weight: 800;
    text-decoration: none;
    padding-top: 5px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .jsjobs-status,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .jsjobs-gold,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .jsjobs-featured {
    display: inline-flex;
    align-items: center;
    margin-inline-end: 4px;
    padding: 2px 8px;
    border-radius: var(--jsjobs-radius-pill);
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .jsjobs-status { background: var(--jsjobs-primary-soft); color: var(--jsjobs-primary-hover); }
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .jsjobs-gold { background: #fef3c7; color: #92400e; }
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .jsjobs-featured { background: #ede9fe; color: #5b21b6; }

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .jsjobs-salary,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .jsjobs-noofjobs {
    display: block;
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 600;
    padding-top: 5px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .js-cp-company-email .jsjobs-title,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .js-cp-company-catagory .jsjobs-title {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .js-cp-company-email .jsjobs-value,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied .js-cp-company-catagory .jsjobs-value {
    color: var(--jsjobs-text);
    font-size: 12px;
    font-weight: 600;
    overflow-wrap: anywhere;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied-lower {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding:10px 14px;
    border-top: 1px solid var(--jsjobs-border-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied-lower .jsjobs-location {
    color: var(--jsjobs-muted);
    font-size: 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-jobs-wating {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: var(--jsjobs-radius-pill);
    background: #fef3c7;
    color: #92400e;
    font-size: 11px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-show-more-wrp {
    display: block;
    margin-top: 10px;
    text-align: end;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-sugest-jobs-show-more,
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-applied-resume-show-more {
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
}

@media (max-width: 980px) {
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-jobseeker-suggested-applied-panel {
        grid-template-columns: 1fr;
    }
}

/* Stat-card icons are white-on-transparent PNGs (from the legacy colored
   card tops) - give them tinted chips matching each card accent. */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer img {
    padding: 8px;
    border-radius: 12px;
    box-sizing: border-box;
    background: var(--jsjobs-muted-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer.color1 img { background: var(--jsjobs-primary); }
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer.color2 img { background: var(--jsjobs-success); }
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer.color3 img { background: var(--jsjobs-accent); }
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .menu_style-employer.color4 img { background: var(--jsjobs-warning); }

/* Compact dashboard cards: keep long URLs and footers inside the card. */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-dashboard-job-card .jsjobs-modern-job-meta span {
    overflow-wrap: anywhere;
}

#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-dashboard-job-card .jsjobs-modern-job-footer {
    flex-wrap: wrap;
    gap: 8px;
}

/* Template strings mix "View Details" / "view Details" - normalize. */
#js_jobs_main_wrapper.jsjobs-modern-dashboard-page .box-footer a {
    text-transform: capitalize;
}

/* =========================================================
   Job categories (category:jobcat) + Job types (job:listjobtypes)
   Scope: .jsjobs-modern-category-page / .jsjobs-modern-job-types-page
   Notes: Card grids honor the admin "columns per row" config via
          inline width %% on the items (kept as flex-basis).
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-category-page .jsjobs-cat-data-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 8px -6px 0;
    padding: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-category-page #jsjobs-cat-mainblock {
    display: block;
    float: none;
    width: var(--jsjobs-cat-col, 33%);
    padding: 6px;
    box-sizing: border-box;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-category-page #jsjobs-cat-block {
    display: block;
    width: 100%;
    float: none;
}

#js_jobs_main_wrapper.jsjobs-modern-category-page a#jsjobs-cat-block-a {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    text-decoration: none;
    box-sizing: border-box;
    transition: transform var(--jsjobs-transition-fast), box-shadow var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-category-page a#jsjobs-cat-block-a:hover {
    border-color: var(--jsjobs-primary);
    box-shadow: var(--jsjobs-shadow-md);
    transform: translateY(-2px);
}

#js_jobs_main_wrapper.jsjobs-modern-category-page .jsjobs-cat-title {
    flex: 1 1 auto;
    min-width: 0;
    color: var(--jsjobs-text-strong);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

#js_jobs_main_wrapper.jsjobs-modern-category-page .jsjobs-cat-counter {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary-hover);
    font-size: 11px;
    font-weight: 800;
}

/* Job types cards */
#js_jobs_main_wrapper.jsjobs-modern-job-types-page .jsjobs-jobstyoes-maain {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 8px 0 0;
}

#js_jobs_main_wrapper.jsjobs-modern-job-types-page a.jsjobs-job-types {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    flex: 1 1 auto;
    min-height: 58px;
    margin: 0;
    padding: 12px 16px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    color: var(--jsjobs-text-strong);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    box-sizing: border-box;
    transition: transform var(--jsjobs-transition-fast), box-shadow var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-job-types-page a.jsjobs-job-types:hover {
    border-color: var(--jsjobs-primary);
    box-shadow: var(--jsjobs-shadow-md);
    transform: translateY(-2px);
}

#js_jobs_main_wrapper.jsjobs-modern-job-types-page .jsjobs-counter {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary-hover);
    font-size: 11px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-job-types-page a.jsjobs-job-types {
    flex: 0 0 calc(var(--jsjobs-type-col, 33%) - 12px);
}

@media (max-width: 780px) {
    #js_jobs_main_wrapper.jsjobs-modern-category-page #jsjobs-cat-mainblock {
        width: 50%;
    }

    #js_jobs_main_wrapper.jsjobs-modern-job-types-page a.jsjobs-job-types {
        flex-basis: calc(50% - 12px);
    }
}

@media (max-width: 520px) {
    #js_jobs_main_wrapper.jsjobs-modern-category-page #jsjobs-cat-mainblock,
    #js_jobs_main_wrapper.jsjobs-modern-job-types-page a.jsjobs-job-types {
        width: 100%;
        flex-basis: 100%;
    }
}

/* Category card subcategory dropdown (AJAX into #for_subcat). */
#js_jobs_main_wrapper.jsjobs-modern-category-page #jsjobs-cat-mainblock {
    position: relative;
}

#js_jobs_main_wrapper.jsjobs-modern-category-page .jsjobs_subcat_wrapper {
    position: absolute;
    top: calc(100% - 4px);
    left: 6px;
    right: 6px;
    z-index: 30;
    display: grid;
    gap: 4px;
    padding: 10px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-lg);
}

#js_jobs_main_wrapper.jsjobs-modern-category-page #for_subcat a#jsjobs-subcat-block-a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 9px 12px;
    border-radius: var(--jsjobs-radius-sm);
    text-decoration: none;
    box-sizing: border-box;
    transition: background var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-category-page #for_subcat a#jsjobs-subcat-block-a:hover {
    background: var(--jsjobs-primary-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-category-page #for_subcat a#jsjobs-subcat-block-a .jsjobs-cat-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 12px;
    font-weight: 700;
    color: var(--jsjobs-text);
}

#js_jobs_main_wrapper.jsjobs-modern-category-page #for_subcat span#showmore_p {
    display: block;
    width: 100%;
    padding: 8px 0 2px;
    text-align: center;
    cursor: pointer;
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
}

/* =========================================================
   Resume / application cards (myresumes, myappliedjobs,
   resume search results) - ported from dead Phase 76 block,
   tokenized, no !important.
   ========================================================= */
/* JS Jobs Phase 76 - real rewrite for candidate application/resume list pages. Scoped to JS Jobs only. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-list,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-list {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 24px 0 0;
    padding: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-list > .jsjobs-modern-application-card,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-list > .jsjobs-modern-resume-card {
    margin: 0 0 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-card,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-card {
    position: relative;
    width: 100%;
    max-width: 100%;
    border: 1px solid var(--jsjobs-border);
    border-inline-start: 4px solid var(--jsjobs-accent);
    border-radius: 20px;
    background: var(--jsjobs-surface);
    box-shadow: 0 16px 38px rgba(15, 23, 42, .07);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-main {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 150px;
    gap: 18px;
    align-items: start;
    padding: 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-logo,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-photo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    padding: 9px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 16px;
    background: var(--jsjobs-surface);
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-logo img,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-photo img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-body,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-content {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-badges,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    margin: 0 0 7px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-badge-status {
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary-hover);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-badge-waiting {
    background: #fffbeb;
    color: #b45309;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-badge-danger {
    background: #fef2f2;
    color: #dc2626;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-title,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-name {
    margin: 0;
    padding: 0;
    color: var(--jsjobs-text);
    font-size: 20px;
    font-weight: 950;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-title a,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-name a {
    color: var(--jsjobs-text);
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-title a:hover,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-name a:hover {
    color: var(--jsjobs-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-company {
    display: inline-block;
    margin-top: 4px;
    color: var(--jsjobs-primary);
    font-size: 13px;
    font-weight: 900;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-top: 12px;
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-meta span {
    min-width: 0;
    overflow-wrap: anywhere;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-meta strong {
    color: var(--jsjobs-text);
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 9px;
    min-width: 0;
    text-align: end;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-date,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-openings {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 6px 10px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 999px;
    background: var(--jsjobs-primary-subtle);
    color: var(--jsjobs-modern-text);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-applied-info-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 14px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 999px;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 950;
    cursor: pointer;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-applied-info-btn:hover {
    background: var(--jsjobs-primary-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-footer,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 20px;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-primary-subtle);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-footer .jsjobs-modern-location,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-footer .jsjobs-modern-location {
    min-width: 0;
    color: var(--jsjobs-modern-text);
    font-size: 12px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-details {
    width: auto;
    margin: 0;
    padding: 18px 20px 20px;
    border-top: 1px solid var(--jsjobs-border);
    background: var(--jsjobs-surface);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-item,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-section {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 14px;
    background: var(--jsjobs-primary-subtle);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-item span,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-section h4 {
    display: block;
    margin: 0 0 6px;
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-item strong,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-item a,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-section p,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-section a {
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-section {
    margin-top: 12px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-section p {
    margin: 6px 0 0;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-offer-response {
    display: grid;
    gap: 10px;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--jsjobs-border);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-offer-response label {
    color: var(--jsjobs-text);
    font-size: 12px;
    font-weight: 950;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-offer-response textarea {
    width: 100%;
    min-height: 90px;
    padding: 10px 12px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 12px;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-offer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-offer-actions button {
    display: inline-flex;
    min-height: 36px;
    padding: 8px 14px;
    border: 1px solid var(--jsjobs-primary);
    border-radius: 999px;
    background: var(--jsjobs-primary);
    color: var(--jsjobs-surface);
    font-size: 12px;
    font-weight: 950;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-offer-actions button[value="declined"] {
    border-color: #fecaca;
    background: #fff7f7;
    color: #dc2626;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-card {
    border-left-color: var(--jsjobs-accent);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-topline {
    display: flex;
    justify-content: flex-end;
    padding: 10px 18px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-primary-subtle);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 900;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-main {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr) 112px;
    gap: 18px;
    align-items: start;
    padding: 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-titleline {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 6px;
    color: var(--jsjobs-modern-text);
    font-size: 13px;
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-titleline strong {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 9px;
    border: 1px solid #bbf7d0;
    border-radius: 999px;
    background: #f0fdf4;
    color: #15803d;
    font-size: 11px;
    font-weight: 950;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-fields > div {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 14px;
    background: var(--jsjobs-primary-subtle);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-fields span {
    display: block;
    margin-bottom: 5px;
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-fields strong,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-fields .js-fields {
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-score {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 112px;
    padding: 12px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 18px;
    background: var(--jsjobs-primary-subtle);
    text-align: center;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-score span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border: 8px solid var(--jsjobs-primary);
    border-radius: 999px;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
    font-size: 16px;
    font-weight: 950;
    box-shadow: 0 8px 18px rgba(37, 99, 235, .18);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-score strong {
    display: block;
    margin-top: 8px;
    color: var(--jsjobs-muted);
    font-size: 10px;
    font-weight: 950;
    line-height: 1.25;
    text-transform: uppercase;
    letter-spacing: .06em;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-actions .jsjobs-modern-action,
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-footer .jsjobs-modern-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 13px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 999px;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 950;
    text-decoration: none;
    box-shadow: 0 6px 14px rgba(15, 23, 42, .05);
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-actions .jsjobs-modern-action.del {
    border-color: #fecaca;
    background: #fff7f7;
    color: #dc2626;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-actions .jsjobs-modern-action.goldfeature {
    border-color: #fde68a;
    background: #fffbeb;
    color: #92400e;
}
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-add-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 10px 18px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 999px;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
}

@media (max-width: 980px) {
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-main,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-main {
        grid-template-columns: 1fr;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-side, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-actions{
        grid-column: 2;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-logo,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-photo {
        justify-self: flex-start;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-side,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-actions {
        align-items: flex-start;
        justify-content: flex-start;
        text-align: start;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-footer,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-footer {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 700px) {
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-detail-grid,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-fields {
        /* grid-template-columns: 1fr; */
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-card,
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-card {
        border-radius: 16px;
    }
}



/* Sort bar (myresumes / applied lists): segmented control. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-sortbar {
    display: block;
    margin: 0 0 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-sortbar ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 6px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    list-style: none;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-sortbar li {
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    list-style: none;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-sortbar a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    min-height: 36px;
    padding: 0 16px;
    border-radius: var(--jsjobs-radius-pill);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background var(--jsjobs-transition-fast), color var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-sortbar a:hover {
    color: var(--jsjobs-primary-hover);
    background: var(--jsjobs-primary-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-sortbar a.selected {
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-sortbar a img {
    max-height: 12px;
    filter: brightness(0) invert(1);
}

/* Title-bar add button: outer anchor is the pill; inner span is plain. */
#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title .jsjobs-modern-add-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-inline-start: auto;
    min-height: 40px;
    padding: 0 20px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    color: var(--jsjobs-primary);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title .jsjobs-modern-add-button:hover {
    border-color: var(--jsjobs-primary);
    transform: translateY(-1px);
}

#js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-page-title .jsjobs-modern-add-button span {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font: inherit;
    color: inherit;
}

/* .jsjobs-add-resume-btn is always a wrapper/inner span around the real
   button anchor, never the button itself. */
#js_jobs_main_wrapper.jsjobs-modern-site-page span.jsjobs-add-resume-btn {
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font: inherit;
    color: inherit;
}

/* Joomla calendar field: keep the picker button beside its input. */
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .field-calendar,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .field-calendar .input-group {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 6px;
    width: 100%;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .field-calendar input,
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .field-calendar .input-group input.form-control {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .field-calendar button {
    flex: 0 0 auto;
    min-width: 45px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    cursor: pointer;
}

/* City token-input (jQuery tokenInput replaces the input with a list). */
#js_jobs_main_wrapper.jsjobs-modern-site-form-page ul[class^="token-input-list"],
#js_jobs_main_wrapper.jsjobs-modern-site-form-page ul[class*=" token-input-list"],
#js_jobs_main_wrapper.jsjobs-modern-site-form-page ul[class*="jsjobs-input-list"] {
    width: 100%;
    min-height: 45px;
    padding: 6px 10px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface);
    box-sizing: border-box;
}

/* =========================================================
   Resume form (resume:formresume)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-resume-form-page
   Notes: Section fields come from resumeformlayout.php and use the
          universal form styles. Below: profile-progress header,
          add-new buttons, files popup (visibility toggled by JS),
          privacy controls, captcha.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js_resume_percentage {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    margin: 0 0 20px;
    padding: 18px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: linear-gradient(135deg, var(--jsjobs-surface) 0%, var(--jsjobs-primary-subtle) 100%);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js_image_area {
    width: 96px;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js_image_area .profile-img {
    display: block;
    width: 96px;
    height: 96px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js_image_area img.js-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js_detail_area {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js_detail_area .js-heading {
    margin: 0 0 8px;
    color: var(--jsjobs-text-strong);
    font-size: 17px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js-percentage {
    position: relative;
    width: 100%;
    height: 18px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-muted);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js-percentage-status {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    border-radius: var(--jsjobs-radius-pill);
    background: linear-gradient(90deg, var(--jsjobs-primary), var(--jsjobs-primary-hover));
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js-percentage-status .status-text {
    padding-inline-end: 8px;
    color: var(--jsjobs-on-primary);
    font-size: 10px;
    font-weight: 850;
    line-height: 1;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js-completeyour_profile {
    margin-top: 6px;
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}

/* Add Skills / Add Resume quick buttons under the header. */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js-addnew-wrapper {
    display: inline-block;
    width: auto;
    margin: 8px 8px 0 0;
    float: none;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page a.js_addnew_anchor {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 16px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page a.js_addnew_anchor:hover {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary-soft);
}

/* Resume files popup - JS toggles visibility; keep hidden default. */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #black_wrapper_resumefiles {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(15, 23, 42, .62);
    z-index: 9998;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page div#resumeFilesPopup.resumeFilesPopup {
    visibility: hidden;
    position: fixed;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    width: min(640px, 94vw);
    height: auto;
    max-height: 74vh;
    display: flex;
    flex-direction: column;
    padding: 0;
    border: 1px solid var(--jsjobs-border);
    border-radius: 18px;
    background: var(--jsjobs-surface);
    box-shadow: 0 22px 58px rgba(15, 23, 42, .18);
    z-index: 9999;
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page div#resumeFiles_headline {
    display: block;
    width: 100%;
    margin: 0;
    padding: 16px 20px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text-strong);
    font-size: 16px;
    font-weight: 800;
    text-indent: 0;
    height: auto;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page div.fileSelectionButton {
    position: relative;
    float: none;
    width: auto;
    height: auto;
    min-height: 40px;
    margin: 14px 20px 0;
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page div.chosenFiles_heading {
    width: auto;
    height: auto;
    margin: 12px 20px 0;
    padding: 0;
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page div#filesInfo {
    position: relative;
    height: auto;
    max-height: 300px;
    margin: 6px 20px;
    padding: 0;
    overflow-y: auto;
    overflow-x: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page div.chosenFiles {
    width: 100%;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page div.resumeFiles_close {
    margin: 10px 20px 16px;
    text-align: end;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page div.resumeFiles_close span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 26px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

/* Privacy controls */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsjobs-resume-privacy-controls {
    clear: both;
    margin: 18px 0;
    padding: 16px 18px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsjobs-resume-privacy-title {
    color: var(--jsjobs-text-strong);
    font-size: 14px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsjobs-resume-privacy-help {
    margin: 3px 0 10px;
    color: var(--jsjobs-muted);
    font-size: 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsjobs-resume-privacy-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsjobs-resume-privacy-option {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsjobs-resume-privacy-option input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--jsjobs-primary);
}

/* Captcha + required marker */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsresumecaptcha {
    margin: 14px 0;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsresumecaptcha label {
    display: block;
    margin: 0 0 8px;
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .error-msg {
    color: var(--jsjobs-danger);
}

@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js_resume_percentage {
        grid-template-columns: 1fr;
        text-align: center;
    }
    #js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js_detail_area{
        width: 100%;
    }
    #js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js_image_area {
        margin: 0 auto;
    }
    div#resumeform div.jssectionwrapper div.resumefieldswrapper div.jsresume_seach_width{
        width: 100%;
    }
}

/* Repeatable resume subsections (address/institute/employer/reference/
   language): empty entries carry .jssection_hide and are revealed by
   showResumeSection() removing the class. Fields inside hidden entries
   get the class too. */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jssection_wrapper {
    display: block;
    padding: 4px 0 10px;
    border-bottom: 1px dashed var(--jsjobs-border);
    margin-bottom: 12px;
}

/* Hide rule must beat .jssection_wrapper's display:block above. */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jssection_hide,
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jssection_wrapper.jssection_hide {
    display: none;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jssection_wrapper:last-of-type {
    border-bottom: 0;
    margin-bottom: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsresume_addnewbutton {
    /* Float + clear so each "Add New X" button drops onto its own line directly
       below ITS section. The section titles/wrappers are floated width:100%, so a
       non-floated inline button collapsed together with the others into one row. */
    display: inline-flex;
    align-items: center;
    gap: 6px;
    float: inline-start;
    clear: both;
    margin: 4px 0 18px;
    padding: 0 18px;
    min-height: 38px;
    border: 1px solid transparent;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background var(--jsjobs-transition-fast), transform var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsresume_addnewbutton:hover {
    background: var(--jsjobs-primary-hover);
    transform: translateY(-1px);
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsresume_addnewbutton .jsresume_plus {
    display: inline-block;
    margin: 0;
    font-size: 16px;
    line-height: 1;
}

/* --- Resume form polish: rhythm, subsection controls, checkboxes --- */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .resumefieldswrapper {
    display: block;
    margin: 0 0 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .resumefieldtitle {
    display: block;
    margin: 0 0 6px;
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .resumefieldvalue {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    min-width: 0;
    align-items: center;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .resumefieldvalue .files-field, #js_jobs_main_wrapper.jsjobs-modern-resume-form-page .resumefieldvalue small{
    width: 100%;
}
/* Section headings (Address / Education / Employer / ...). */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js-resume-section-title {
    position: relative;
    display: flex;
    align-items: center;
    margin: 26px 0 14px;
    padding: 0 0 0 14px;
    color: var(--jsjobs-text-strong);
    font-size: 17px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .js-resume-section-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 18px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    transform: translateY(-50%);
}

/* Subsection entry: relative for the delete chip + undo overlay. */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jssection_wrapper {
    position: relative;
    padding-top: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page img.jsdeleteimage {
    position: absolute;
    top: 6px;
    right: 0;
    z-index: 3;
    width: 30px;
    height: 30px;
    padding: 6px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    cursor: pointer;
    box-sizing: border-box;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page img.jsdeleteimage:hover {
    border-color: rgba(220, 38, 38, .45);
    background: #fef2f2;
}

/* Undo: hidden until deleteThisSection() adds .jsundodiv + shows it,
   then it covers the greyed-out entry with a centered undo chip. */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page div.jsundo {
    display: none;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page div.jsundo.jsundodiv {
    position: absolute;
    inset: 0;
    z-index: 5;
    margin: 0;
    border-radius: var(--jsjobs-radius-md);
    background: rgba(241, 245, 249, .72);
    backdrop-filter: blur(1px);
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page img.jsundoimage {
    position: absolute;
    inset: 0;
    margin: auto;
    width: 44px;
    height: 44px;
    padding: 9px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-md);
    cursor: pointer;
    box-sizing: border-box;
}

/* Checkbox rows (Searchable / I am available): box + label inline. */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsresume_seach_width {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 12px;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsresume_seach_width .checkbox-field {
    display: inline-flex;
    align-items: center;
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsresume_seach_width .checkbox-field input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--jsjobs-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-resume-form-page .jsresume_seach_width .checkbox-field-label label {
    margin: 0;
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 700;
    text-transform: none;
    cursor: pointer;
}

/* =========================================================
   Short listed jobs (jobshortlist:list_jobshortlist)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-shortlist-page
   Notes: Star widget styling stays in jsjobsrating.css (page loads it
          directly). Comment box starts hidden (jQuery slideToggle).
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-shortlist-page #js-jobs-wrapper {
    display: block;
    margin: 10px 0 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-main-wrapper-listjobshort {
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg) var(--jsjobs-radius-lg) 0 0;
    border-bottom: 0;
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    padding: 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-main-wrapper-shortjoblist {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-image-area {
    width: 88px;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-image-area img.js_job_image {
    width: 88px;
    height: 88px;
    object-fit: contain;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
    padding: 6px;
    box-sizing: border-box;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-content-shortlist-area {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-1 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 16px;
    align-items: start;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-1 > .jsjobs-title {
    display: block;
    min-width: 0;
    grid-column: 1;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-1 > .jsjobs-posted-rating-main {
    grid-column: 2;
    grid-row: 1 / span 2;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .js-first-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 6px;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-posted,
#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-gold-shortlist,
#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-featured-shortlist {
    display: inline-flex;
    align-items: center;
    padding: 3px 10px;
    border-radius: var(--jsjobs-radius-pill);
    font-size: 11px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-posted { background: #fff7ed; color: #c2410c; }
#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-gold-shortlist { background: #fef3c7; color: #92400e; }
#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-featured-shortlist { background: #ede9fe; color: #5b21b6; }

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_title {
    display: block;
    color: var(--jsjobs-text-strong);
    font-size: 19px;
    font-weight: 850;
    letter-spacing: -.02em;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_title:hover {
    color: var(--jsjobs-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_data_2_company_link {
    display: block;
    margin-top: 2px;
    color: var(--jsjobs-primary);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-posted-rating-main {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
    flex: 0 0 auto;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-posted-days {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-posted-rating-main .jsjobs-data-2-value {
    color: var(--jsjobs-text-strong);
    font-size: 15px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-2 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 18px;
    margin-top: 14px;
    padding-bottom: 4px;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-ratingjos {
    margin-inline-start: auto;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-2-wrapper {
    display: inline-flex;
    gap: 5px;
    align-items: baseline;
    font-size: 13px;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-2-title {
    color: var(--jsjobs-muted);
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-2 .jsjobs-data-2-value {
    color: var(--jsjobs-text);
    font-weight: 600;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-2-wrapper-jobsno {
    display: inline-flex;
    align-items: center;
    padding: 3px 9px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary-hover);
    font-size: 11px;
    font-weight: 800;
}

/* Comment box: hidden until the Comment button slideToggles it. */
#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-comment-wrapper {
    display: none;
    width: 100%;
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-size: 13px;
}

/* Footer bar: location + actions. */
#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-main-wrapper-shortjoblist-btn-warpper {
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: 0 0 var(--jsjobs-radius-lg) var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-soft);
    box-shadow: var(--jsjobs-shadow-sm);
    padding: 12px 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .js-bottomrow,
#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-3 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .location-jobs-tablet {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .js-address {
    width: auto;
    float: none;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .js-job-data-location-value {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 600;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-btn-tablet {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_data_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast), transform var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_data_button:hover {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary-soft);
    transform: translateY(-1px);
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_data_button.delete {
    border-color: rgba(220, 38, 38, .35);
    background: #fff7f7;
    color: var(--jsjobs-danger);
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_data_button.delete:hover {
    border-color: var(--jsjobs-danger);
    background: #fef2f2;
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_data_button_apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    min-height: 38px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: var(--jsjobs-radius-pill);
    background: linear-gradient(135deg, var(--jsjobs-primary), var(--jsjobs-primary-hover));
    color: var(--jsjobs-on-primary);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(37, 99, 235, .24);
    transition: transform var(--jsjobs-transition-fast), box-shadow var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_data_button_apply:hover {
    color: var(--jsjobs-on-primary);
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(37, 99, 235, .30);
}

@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-main-wrapper-shortjoblist {
        grid-template-columns: 1fr;
    }

    #js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-posted-rating-main {
        align-items: flex-start;
    }

    #js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_data_button,
    #js_jobs_main_wrapper.jsjobs-modern-shortlist-page a.js_job_data_button_apply {
        flex: 1 1 auto;
    }
}

/* =========================================================
   All companies (company:listallcompanies)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-company-list-page
   Notes: Shares the page scope with mycompanies (different inner
          classes). Sortbar here is #sortbylinks ul>li>a markup.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-company-list-page #sortbylinks {
    display: block;
    margin: 0 0 14px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page #sortbylinks ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 6px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    list-style: none;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page #sortbylinks li {
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    list-style: none;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page #sortbylinks a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    min-height: 36px;
    padding: 0 16px;
    border-radius: var(--jsjobs-radius-pill);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background var(--jsjobs-transition-fast), color var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page #sortbylinks a:hover {
    color: var(--jsjobs-primary-hover);
    background: var(--jsjobs-primary-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page #sortbylinks a.selected {
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page #sortbylinks a img {
    max-height: 12px;
    filter: brightness(0) invert(1);
}

/* Search / filter row */
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .filterwrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    padding: 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .filterwrapper input[type="text"] {
    flex: 1 1 200px;
    min-width: 0;
    min-height: 42px;
    padding: 8px 14px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
    font-size: 13px;
    box-sizing: border-box;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .filterlocation {
    flex: 1 1 200px;
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 42px;
    padding: 0 10px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-surface);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .filterlocation img {
    flex: 0 0 auto;
    max-height: 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .filterlocation input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    min-height: 40px;
    padding: 0;
    background: transparent;
    color: var(--jsjobs-text);
    font-size: 13px;
    outline: none;
}

/* companycity becomes a tokenInput list; keep it borderless inside the box. */
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .filterlocation ul[class*="input-list"] {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    /* padding: 4px 0; */
    border: 0 !important;
    background: transparent;
    list-style: none;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .filterlocation ul[class*="input-list"] input {
    border: 0;
    background: transparent;
    min-height: 32px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page input.jsjobs-go,
#js_jobs_main_wrapper.jsjobs-modern-company-list-page input.jsjobs-reset {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: var(--jsjobs-radius-pill);
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: background var(--jsjobs-transition-fast), transform var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page input.jsjobs-go {
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page input.jsjobs-go:hover {
    background: var(--jsjobs-primary-hover);
    transform: translateY(-1px);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page input.jsjobs-reset {
    background: var(--jsjobs-surface-muted);
    border-color: var(--jsjobs-border);
    color: var(--jsjobs-text);
}

/* Company cards: card body + footer bar (same split as shortlist). */
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-main-wrapper-listcompany {
    margin: 0 0 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-wrapper-listcompany {
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg) var(--jsjobs-radius-lg) 0 0;
    border-bottom: 0;
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    padding: 20px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-listcompany {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-image-wrapper-mycompany,
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-image-border {
    display: block;
    width: 88px;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-image-border img {
    width: 88px;
    height: 88px;
    object-fit: contain;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
    padding: 6px;
    box-sizing: border-box;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjob-data-1 {
    min-width: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-data-jobtitle-title {
    display: block;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjob-data-1 > .jsjobs-listcompany-location {
    display: flex;
    margin-inline-end: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .js_gold,
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .js_feature {
    display: inline-flex;
    align-items: center;
    margin-inline-end: 4px;
    padding: 3px 10px;
    border-radius: var(--jsjobs-radius-pill);
    font-size: 11px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .js_gold { background: #fef3c7; color: #92400e; }
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .js_feature { background: #ede9fe; color: #5b21b6; }

#js_jobs_main_wrapper.jsjobs-modern-company-list-page a.jsjobs-titlelink {
    display: inline-block;
    margin: 2px 0 8px;
    color: var(--jsjobs-text-strong);
    font-size: 19px;
    font-weight: 850;
    letter-spacing: -.02em;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page a.jsjobs-titlelink:hover {
    color: var(--jsjobs-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-listcompany-location {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 5px;
    align-items: baseline;
    margin: 0 18px 4px 0;
    font-size: 13px;
    color: var(--jsjobs-text);
    font-weight: 600;
    overflow-wrap: anywhere;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-listcompany-website {
    color: var(--jsjobs-muted);
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page a.companyanchor {
    color: var(--jsjobs-primary);
    text-decoration: none;
    overflow-wrap: anywhere;
}

/* Footer bar */
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-listcompany-button {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: 0 0 var(--jsjobs-radius-lg) var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-soft);
    box-shadow: var(--jsjobs-shadow-sm);
    padding: 12px 20px;
}
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-listcompany-button,
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-data-location-value {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 600;
}
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-listcompany-button .jsjobs-location{
    display: inline-block;
}
#js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-listcompany-button .jsjobs-viewalljobs-btn{
    margin-left: auto;
}
#js_jobs_main_wrapper.jsjobs-modern-company-list-page a.js_listcompany_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: var(--jsjobs-radius-pill);
    background: linear-gradient(135deg, var(--jsjobs-primary), var(--jsjobs-primary-hover));
    color: var(--jsjobs-on-primary);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 10px 22px rgba(37, 99, 235, .24);
    transition: transform var(--jsjobs-transition-fast), box-shadow var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-company-list-page a.js_listcompany_button:hover {
    color: var(--jsjobs-on-primary);
    transform: translateY(-1px);
}

@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-listcompany {
        grid-template-columns: 1fr;
    }
}

/* Company detail: fallback note when no profile details exist. */
#js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-fallback {
    margin: 0;
    padding: 14px 16px;
    border: 1px dashed var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 13px;
}

/* =========================================================
   Saved job searches (jobsearch:my_jobsearches)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-saved-search-page
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-saved-search-page .jsjobs-listing-wrapper {
    margin: 0 0 14px;
}

#js_jobs_main_wrapper.jsjobs-modern-saved-search-page .jsjobs-jobs-save {
    display: block;
    padding: 18px 20px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-saved-search-page .jsjobs-savedsearch-summary {
    margin: 8px 0 0;
    padding: 10px 12px;
    border: 1px dashed var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-size: 13px;
}

#js_jobs_main_wrapper.jsjobs-modern-saved-search-page .jsjobs-savedsearch-summary strong {
    color: var(--jsjobs-muted);
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-saved-search-page .jsjobs-cover-button-area {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
}

#js_jobs_main_wrapper.jsjobs-modern-saved-search-page .jsjobs-coverletter-created-title {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}

#js_jobs_main_wrapper.jsjobs-modern-saved-search-page .jsjobs-coverletter-created-title span {
    font-weight: 800;
    margin-inline-end: 4px;
}

#js_jobs_main_wrapper.jsjobs-modern-saved-search-page .jsjobs-btn-save {
    display: inline-flex;
    gap: 8px;
}

/* =========================================================
   Saved resume searches (resume:my_resumesearches)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-resume-saved-search-page
   Mirrors the jobsearch saved-search design for its nested markup.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-resume-saved-search-page .jsjobs-listing-wrapper {
    margin: 0 0 14px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-saved-search-page .jsjobs-resumesearch-list {
    display: block;
    padding: 18px 20px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}
#js_jobs_main_wrapper.jsjobs-modern-resume-saved-search-page .jsjobs-savedsearch-summary {
    margin: 8px 0 0;
    padding: 10px 12px;
    border: 1px dashed var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-size: 13px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-saved-search-page .jsjobs-savedsearch-summary strong {
    color: var(--jsjobs-muted);
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-saved-search-page .jsjobs-coverletter-button-area {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-saved-search-page .jsjsobs-resumes-btn {
    display: inline-flex;
    gap: 8px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-saved-search-page .jsjobs-savesearch-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 16px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast);
}
#js_jobs_main_wrapper.jsjobs-modern-resume-saved-search-page .jsjobs-savesearch-btn:hover {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-resume-saved-search-page .jsjobs-savesearch-btn.del {
    border-color: rgba(220, 38, 38, .16);
    background: #fff5f5;
    color: var(--jsjobs-danger);
}

/* =========================================================
   Job alert pages (jobalert:jobalertsetting / jobalertunsubscribe)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-job-alert-page
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-job-alert-page a.button.minpad,
#js_jobs_main_wrapper.jsjobs-modern-job-alert-page a#jsjobs-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    margin: 0 4px 4px 0;
    padding: 0 18px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-job-alert-page a.button.minpad:hover,
#js_jobs_main_wrapper.jsjobs-modern-job-alert-page a#jsjobs-button:hover {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-job-alert-page .jsjobs-btn,
#js_jobs_main_wrapper.jsjobs-modern-job-alert-page .jsjobs-button-jobalert {
    display: block;
}

#js_jobs_main_wrapper.jsjobs-modern-job-alert-page .jsjobs-jobalert-summary {
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px dashed var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-size: 13px;
}

#js_jobs_main_wrapper.jsjobs-modern-job-alert-page .jsjobs-jobalert-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#js_jobs_main_wrapper.jsjobs-modern-job-alert-page .jsjobs-jobsalertinfo-save-btn {
    display: flex;
    justify-content: center;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--jsjobs-border-soft);
}

/* =========================================================
   Cover letters (mycoverletters / formcoverletter / view_coverletter)
   ========================================================= */
/* List: .jsjobs-icon-btn is a CONTAINER here (universal styles treat it
   as a button) - flatten it and style the three action anchors. */
#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page .jsjobs-coverletter-button-area {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 14px;
}

#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page .jsjobs-coverletter-created {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}

#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page .jsjobs-coverletter-created span {
    font-weight: 800;
    margin-inline-end: 4px;
}

#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page .jsjobs-icon,
#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page .jsjobs-icon .jsjobs-icon-btn {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page a.jsjobs-icon-edit,
#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page a.jsjobs-icon-view,
#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page a.jsjobs-icon-del {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page a.jsjobs-icon-edit:hover,
#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page a.jsjobs-icon-view:hover {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page a.jsjobs-icon-del {
    border-color: rgba(220, 38, 38, .35);
    background: #fff7f7;
    color: var(--jsjobs-danger);
}

#js_jobs_main_wrapper.jsjobs-modern-coverletter-list-page a.jsjobs-icon-del:hover {
    border-color: var(--jsjobs-danger);
    background: #fef2f2;
}

/* View page */
#js_jobs_main_wrapper.jsjobs-modern-coverletter-view-page .jsjobs-data-wrapper {
    padding: 20px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

#js_jobs_main_wrapper.jsjobs-modern-coverletter-view-page .jsjobs-view-letter-data .js_job_data_value {
    display: block;
    margin: 0 0 12px;
    color: var(--jsjobs-text-strong);
    font-size: 19px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-coverletter-view-page .jsjobs-view-letter-description .js_job_full_width_data {
    display: block;
    color: var(--jsjobs-text);
    font-size: 14px;
    line-height: 1.65;
}

/* =========================================================
   My Stats (jobseeker:my_stats / employer:my_stats)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-stats-page
   Notes: These pages carry .jsjobs-modern-dashboard-page but have NO
          sidebar - opt out of the dashboard grid.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-stats-page #jsjobs-main-wrapper {
    display: block;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page #stats-package-warrp {
    margin: 0 0 16px;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page #stats-package-message {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary-hover);
    font-size: 13px;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page .package-massage-img {
    max-width: 22px;
    max-height: 22px;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-stats-title,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs_rs_heading {
    position: relative;
    display: block;
    margin: 4px 0 14px;
    padding: 0 0 0 14px;
    color: var(--jsjobs-text-strong);
    font-size: 17px;
    font-weight: 850;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-stats-title::before,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs_rs_heading::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 4px;
    height: 18px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    transform: translateY(-50%);
}

/* Stat tiles */
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-listing-stats-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 12px;
    margin: 0 0 22px;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-listing-stats-wrapper:has(#js-table) {
    display: block;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 18px 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    text-align: center;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap .jsjobs-img {
    width: 40px;
    height: 40px;
    object-fit: contain;
    margin-bottom: 4px;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap [class^="stats-"][class$="-value"],
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap .stats-data-value,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap .stats-golddata-value,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap .stats-featuredata-value,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap .stats-coverletterdata-value {
    color: var(--jsjobs-text-strong);
    font-size: 24px;
    font-weight: 900;
    line-height: 1.1;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap .stats-data-title {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}

/* Accent top bars per tile type */
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap.resume,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap.total-jobs,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap.total-com { box-shadow: inset 0 3px 0 var(--jsjobs-primary), var(--jsjobs-shadow-sm); }
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap.gold-resume,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap.gold-job,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap.gold-company { box-shadow: inset 0 3px 0 var(--jsjobs-warning), var(--jsjobs-shadow-sm); }
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap.featured-resume,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap.featured-jobs,
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap.featured-company { box-shadow: inset 0 3px 0 #7c3aed, var(--jsjobs-shadow-sm); }
#js_jobs_main_wrapper.jsjobs-modern-stats-page .jsjobs-icon-wrap.total-cover-letter { box-shadow: inset 0 3px 0 var(--jsjobs-success), var(--jsjobs-shadow-sm); }

/* Allow/Available table */
#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table th {
    padding: 12px 16px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .025em;
    text-transform: uppercase;
    text-align: start;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table td {
    padding: 12px 16px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 600;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table tr:last-child td {
    border-bottom: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table th.center,
#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table td.center {
    text-align: center;
}

/* Legacy row accents (bodercolorN) -> left accent on the title cell. */
#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table td[class*="bodercolor"] {
    border-inline-start: 3px solid var(--jsjobs-primary);
    color: var(--jsjobs-text-strong);
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table td.bodercolor2 { border-left-color: var(--jsjobs-warning); }
#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table td.bodercolor3 { border-left-color: #7c3aed; }
#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table td.bodercolor4 { border-left-color: var(--jsjobs-success); }
#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table td.bodercolor5 { border-left-color: var(--jsjobs-accent); }
#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table td.bodercolor6 { border-left-color: var(--jsjobs-danger); }
#js_jobs_main_wrapper.jsjobs-modern-stats-page #js-table td.bodercolor7 { border-left-color: var(--jsjobs-muted-soft); }

/* =========================================================
   Packages (employerpackages/jobseekerpackages :packages) - fixes.
   Page wrapper is site-LIST-page, so the site-detail-page card rules
   don't apply; restyle the card + neutralize nested button containers.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-data {
    margin: 0 0 18px;
    padding: 24px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

/* Feature list and button row stack full-width (the wrapper held them
   as two grid columns, boxing features left and stranding buttons). */
#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-listing-wrapper {
    display: block;
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-listing-datawrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0 28px;
    width: 100%;
    margin: 0;
    padding: 4px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

/* Free / price value in the title bar -> pill badge. */
#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-title .stats_data_value {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 16px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-size: 14px;
    font-weight: 900;
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-name {
    display: inline-flex;
    flex-direction: column;
    gap: 10px;
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-values {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-values .stats_data_value {
    color: var(--jsjobs-text-strong);
    font-weight: 800;
}

/* Button row: containers are spans wrapping the real a.js_job_button. */
#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-apply-button {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-buy-btn,
#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-view-btn {
    display: inline-flex;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-buy-btn a.js_job_button,
#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-view-btn a.js_job_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 26px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    box-shadow: none;
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-buy-btn a.js_job_button {
    border-color: transparent;
    background: linear-gradient(135deg, var(--jsjobs-primary), var(--jsjobs-primary-hover));
    color: var(--jsjobs-on-primary);
    box-shadow: 0 10px 22px rgba(37, 99, 235, .24);
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-buy-btn a.js_job_button img {
    max-height: 16px;
    filter: brightness(0) invert(1);
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-view-btn a.js_job_button {
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-view-btn a.js_job_button:hover {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-expiredays {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-inline-start: auto;
    padding: 6px 12px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}

#js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-expiredays .stats_data_value {
    color: var(--jsjobs-text);
    font-weight: 800;
}

/* =========================================================
   GDPR erase-data (gdpr:adderasedatarequest[jobseeker])
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-gdpr-page .js-jobs-top-search-wrp {
    float: none;
    width: 100%;
    margin: 0 0 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-gdpr-page .js-jobs-search-heading-wrp {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 18px;
    background: var(--jsjobs-surface-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-gdpr-page .js-jobs-search-heading-wrp.second-style {
    background: #fffbeb;
}

#js_jobs_main_wrapper.jsjobs-modern-gdpr-page .js-jobs-heading-left {
    float: none;
    width: auto;
    padding: 0;
    color: var(--jsjobs-text-strong);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
}

#js_jobs_main_wrapper.jsjobs-modern-gdpr-page .js-jobs-heading-right {
    float: none;
    flex: 1 1 auto;
}

#js_jobs_main_wrapper.jsjobs-modern-gdpr-page a.js-jobs-add-download-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 9px 20px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition: background var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast);
}

#js_jobs_main_wrapper.jsjobs-modern-gdpr-page a.js-jobs-add-download-btn:hover {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary-soft);
}

/* =========================================================
   Purchase history (employer/jobseeker) - card + title bar + badge.
   Mirrors the packages page layout (same detail markup family).
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-purchasehistory-main {
    margin: 0 0 18px;
    padding: 24px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-title-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    margin: -24px -24px 18px;
    padding: 20px 24px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-primary-subtle);
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-title-wrap-purchase a.anchor {
    color: var(--jsjobs-text-strong);
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -.02em;
    text-decoration: none;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-data-price-wrap {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-date-wrap {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-date-wrap .stats_data_title {
    font-weight: 800;
    margin-inline-end: 4px;
}

/* Free / paid amount -> pill badge (was dark under legacy). */
#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-price-wrap .stats_data_value {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 16px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-size: 13px;
    font-weight: 900;
}

/* Feature list: full-width detail grid, no inner box/dark border. */
#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-purchase-listing-wrapper {
    display: block;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-listing-datawrap-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0 28px;
    width: 100%;
    margin: 0;
    padding: 4px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: visible;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-listing-wrap {
    padding: 0;
    border: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-values-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid var(--jsjobs-border-soft);
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-values-wrap.bordernone {
    border-bottom: 0;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-values-wrap .stats_data_title {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-values-wrap .stats_data_value {
    color: var(--jsjobs-text-strong);
    font-size: 13px;
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-values-wrap .stats_data_value img {
    max-height: 18px;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-expire-days {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 16px -24px -24px;
    padding: 14px 24px;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-size: 13px;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-expire-days .stats_data_title {
    font-weight: 800;
}

#js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-expire-days .stats_data_value {
    color: var(--jsjobs-text-strong);
    font-weight: 800;
}

/* Forms using the .jsjobs-field / .jsjobs-value label+input pattern
   (cover letter form, etc.) had no vertical rhythm - fields were flush. */
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-field {
    margin: 0 0 6px;
}

#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-value {
    width: 100%;
    min-width: 0;
    margin: 0 0 18px;
}

/* Save-button row: give it breathing room on any site form (was only
   scoped to the job-alert page before). */
#js_jobs_main_wrapper.jsjobs-modern-site-form-page .jsjobs-jobsalertinfo-save-btn {
    margin-top: 8px;
    padding-top: 18px;
    border-top: 1px solid var(--jsjobs-border-soft);
}

/* ============================================================
   Resume detail (resume:view_resume)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-view-resume-page
   Ported from the dead legacy js-resume-* blocks in style.css,
   tokenized and rebuilt on the detail-page family look.
   ============================================================ */
/* Top bar: section title + Previous/Next resume links */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js_controlpanel_section_title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    color: var(--jsjobs-text-strong);
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js_resume_prev a,
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js_resume_next a {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js_resume_prev a:hover,
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js_resume_next a:hover {
    background: var(--jsjobs-primary-soft);
    border-color: var(--jsjobs-primary);
}

/* Profile header card */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-profile {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    padding: 22px;
    margin-bottom: 18px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: linear-gradient(135deg, var(--jsjobs-surface) 0%, var(--jsjobs-primary-subtle) 55%, var(--jsjobs-primary-soft) 100%);
    box-shadow: var(--jsjobs-shadow-sm);
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-logo {
    flex: 0 0 110px;
    width: 110px;
    height: 110px;
    overflow: hidden;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface-muted);
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-logo img.avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-profile-info {
    flex: 1 1 260px;
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-profile-name {
    color: var(--jsjobs-text-strong);
    font-size: 21px;
    font-weight: 800;
    letter-spacing: -.01em;
    overflow-wrap: anywhere;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-profile-email,
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-profile-cell {
    display: inline-flex;
    margin-top: 6px;
    margin-inline-end: 24px;
    color: var(--jsjobs-muted);
    font-size: 13.5px;
    font-weight: 600;
}
/* Pdf / Print / Export — ghost pills pinned top-right of the card */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-print-wrap {
    position: absolute;
    top: 16px;
    right: 16px;
    display: flex;
    gap: 8px;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-print-wrap a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-print-wrap a:hover {
    background: var(--jsjobs-primary-soft);
    border-color: var(--jsjobs-primary);
}

/* Section cards */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .jsjobs-resume-sectin-wrap {
    margin-bottom: 18px;
    padding: 0;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .jsjobs-resume-sectin-wrap>.js-row.no-margin{
    padding: 0 20px 20px;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-section-title {
    padding: 14px 20px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    color: var(--jsjobs-text-strong);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: -.01em;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-section-body {
    padding: 16px 20px 20px;
}
/* Sub-item heading inside Institutes / Employers / References / Languages */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-head,
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .data-head-name {
    display: inline-flex;
    /* margin: 12px 0 4px; */
    padding: 4px 12px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary-soft);
    color: var(--jsjobs-primary);
    font-size: 12.5px;
    font-weight: 800;
}

/* Field tiles (the intended legacy design: soft tile + accent edge) */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    padding: 20px;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data > .js-row {
    flex: 1 1 calc(33.333% - 14px);
    min-width: 240px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    padding: 13px 16px;
    border-inline-start: 3px solid var(--jsjobs-primary);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data > .js-row.js-full-width-row {
    flex: 1 1 100%;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-title {
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-value {
    color: var(--jsjobs-text-strong);
    font-size: 13.5px;
    font-weight: 600;
    overflow-wrap: anywhere;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-value iframe { width: 100%; border: 0; }

/* Institute / Employer / Reference / Language detail rows (getResumeField output).
   These used the legacy .js-col-lg-3 / .js-col-lg-8 grid that lived in the now
   -deleted style.css, so they lost their layout and the labels clipped. Re-lay
   them out as a clean label + value row. Scoped to .js-resume-data-section-view
   so the Personal section's .js-resume-data tiles are untouched. Targets only
   rows that actually contain a field label (not the item/head wrapper rows). */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-section-view .js-row.no-margin:has(> .js-resume-data-title) {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 18px;
    margin: 0;
    padding: 8px 0;
    border-bottom: 1px dashed var(--jsjobs-border-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-section-view .js-row.no-margin:has(> .js-resume-data-title):last-child {
    border-bottom: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-section-view .js-row.no-margin > .js-resume-data-title {
    flex: 0 0 190px;
    max-width: 190px;
    padding: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-section-view .js-row.no-margin > .js-resume-data-value {
    flex: 1 1 240px;
    min-width: 0;
    padding: 0;
}
/* Per-institute/employer item wrapper: add breathing room between multiple items. */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-section-view[id^="institute_"],
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-section-view[id^="employer_"],
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-section-view[id^="reference_"],
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data-section-view[id^="language_"] {
    padding: 4px 0 10px;
}
/* Guard against any residual horizontal bleed that clipped the first letter. */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-section-body {
    overflow-x: hidden;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-section-body .js-row {
    margin-inline: 0;
}

/* Files list */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .filesList ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .filesList li.selectedFile {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
    font-size: 12.5px;
    font-weight: 600;
    list-style: none;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .filesList a.zip-downloader {
    display: inline-flex;
    align-items: center;
    padding: 6px;
    border-radius: var(--jsjobs-radius-sm);
    background: var(--jsjobs-primary-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .filesList a img { width: 18px; height: 18px; }

/* Address block + map */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-address-section-view {
    padding: 4px 0 0;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .sectionTextWrp .sectionText {
    display: block;
    color: var(--jsjobs-text-strong);
    font-size: 14px;
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .addressDetails {
    color: var(--jsjobs-text);
    font-size: 13.5px;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .map-toggler {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 10px;
    padding: 6px 14px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .map-toggler:hover {
    background: var(--jsjobs-primary-soft);
    border-color: var(--jsjobs-primary);
}
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .map-toggler img { width: 16px; height: 16px; }
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .map_container,
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .map_view {
    margin-top: 10px;
    border-radius: var(--jsjobs-radius-md);
    overflow: hidden;
}

/* Inline notices */
#js_jobs_main_wrapper.jsjobs-modern-view-resume-page .section-error {
    display: flex;
    margin: 10px 0;
    padding: 10px 14px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-size: 13px;
}

@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-print-wrap {
        position: static;
        margin-bottom: 10px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-profile { padding: 16px; }
    #js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-data > .js-row { flex-basis: 100%; }
}

/* ==========================================================================
   Empty / "No record found" state (payment:norecordfound; reusable).
   ========================================================================== */
.jsjobs-modern-empty-page #js_main_wrapper { text-align: center; }
.jsjobs-modern-empty-page #jsjobs_norecordfoundwrapper {
  max-width: 520px; margin: 40px auto; padding: 44px 32px;
  border: 1px solid var(--jsjobs-border); border-radius: var(--jsjobs-radius-lg);
  background: var(--jsjobs-surface); box-shadow: var(--jsjobs-shadow-sm);
}
.jsjobs-modern-empty-page #jsjobs_norecordfoundupperdiv { margin-bottom: 10px; }
.jsjobs-modern-empty-page #jsjobs_norecordfoundtextimage {
  display: block; font-size: 1.25rem; font-weight: 600; color: var(--jsjobs-text-strong);
}
.jsjobs-modern-empty-page #jsjobs_norecordfoundlowerdiv {
  color: var(--jsjobs-muted); font-size: 0.95rem; line-height: 1.6;
}

/* =========================================================
   Login page (common:userlogin)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-login-page
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-login-page div.jsjobs-login-wrp {
    margin: 18px 0 0;
    padding: 24px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}
#js_jobs_main_wrapper.jsjobs-modern-login-page div.jsjobs-login-wrp table.admintable {
    width: 100%;
    border-collapse: collapse;
}
#js_jobs_main_wrapper.jsjobs-modern-login-page .jsjobs-login-title {
    padding: 8px 12px 8px 0;
    color: var(--jsjobs-text-strong);
    font-weight: 800;
    white-space: nowrap;
    vertical-align: middle;
}
#js_jobs_main_wrapper.jsjobs-modern-login-page .jsjobs-login-value {
    width: 100%;
    padding: 8px 0;
}
#js_jobs_main_wrapper.jsjobs-modern-login-page .jsjobs-login-value .inputbox {
    width: 100%;
}
#js_jobs_main_wrapper.jsjobs-modern-login-page .jsjobs-login-btn {
    padding: 16px 0 4px;
    text-align: center;
}
#js_jobs_main_wrapper.jsjobs-modern-login-page ul.jsjobs-login-wrp {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 20px;
    max-width: 520px;
    margin: 16px auto 0;
    padding: 0;
    list-style: none;
}
#js_jobs_main_wrapper.jsjobs-modern-login-page ul.jsjobs-login-wrp a {
    color: var(--jsjobs-primary);
    font-weight: 700;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-login-page ul.jsjobs-login-wrp a:hover {
    text-decoration: underline;
}

/* =========================================================
   Package detail + buy pages
   (employerpackages / jobseekerpackages : package_details / package_buynow)
   Scope: .jsjobs-modern-package-detail-page / .jsjobs-modern-package-buy-page
   Shared card/title/grid/data-detail come from the packages-page rules
   (that class is added to these wrappers too); this block adds the
   detail/buy-specific pieces only. Tokens only, no !important.
   ========================================================= */

/* Price badges in the title bar */
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .jsjobs-package-price-de,
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .js-job-package-price {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-weight: 900;
}
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .jsjobs-package-price-de .stats_data_value,
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .js-job-package-price .stats_data_value {
    color: var(--jsjobs-on-primary);
}

/* Jobseeker detail title bar (uses .js-job-* instead of .jsjobs-package-title) */
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .js-job-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin: -24px -24px 18px;
    padding: 22px 24px;
    border-bottom: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-primary-subtle);
}
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .js-job-package-title {
    color: var(--jsjobs-text-strong);
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -.02em;
}

/* Jobseeker detail stat list (alternating title/value spans) */
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .js_listing_wrapper {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px 18px;
    align-items: center;
}
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .js_listing_wrapper .stats_data_title {
    color: var(--jsjobs-muted);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .js_listing_wrapper .stats_data_value {
    color: var(--jsjobs-text-strong);
    font-weight: 800;
    text-align: end;
}

/* Small parenthetical "( N Days )" notes */
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .stats_data_values,
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .stats_data_values {
    margin-inline-start: 4px;
    color: var(--jsjobs-muted);
    font-weight: 600;
}

/* Description blocks (employer .jsjobs-descriptions, jobseeker .jsjobs-description) */
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .jsjobs-descriptions,
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .jsjobs-descriptions,
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .jsjobs-description,
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .jsjobs-description {
    grid-column: 1 / -1;
    margin-top: 10px;
    padding-top: 12px;
    border-top: 1px solid var(--jsjobs-border-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .stats_data_descrptn-title,
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .jsjobs-description-title {
    display: block;
    margin-bottom: 4px;
    color: var(--jsjobs-muted);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .stats_data_descrptn-value,
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .jsjobs-description-value {
    color: var(--jsjobs-text);
}

/* Employer detail buy footer */
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .jsjobs-btn-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--jsjobs-border-soft);
}

/* Buy buttons (employer .jsjob_button, jobseeker .js_job_apply_button > a) */
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .jsjobs-btn-buys a.jsjob_button,
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .js_job_apply_button a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 0 20px;
    border: 1px solid var(--jsjobs-primary);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-weight: 900;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .jsjobs-btn-buys a.jsjob_button img {
    width: 18px;
    height: 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-package-detail-page .js_job_apply_button {
    grid-column: 1 / -1;
    margin-top: 14px;
}

/* Buynow: expire row + payment methods */
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .js_listing_wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 8px;
}
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .jsjobs-expireindays {
    color: var(--jsjobs-muted);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .jsjobs-paymentmethods-title {
    display: block;
    margin: 18px 0 12px;
    color: var(--jsjobs-text-strong);
    font-size: 16px;
    font-weight: 900;
}
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .jsjobs-listing-wrapperes {
    margin: 0 0 10px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
}
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .jsjobs-list-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 14px 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .payment_method_title {
    color: var(--jsjobs-text-strong);
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .paymentmethod.text-right,
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .text-right {
    text-align: end;
}
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page .disc-message {
    margin: 12px 0;
    padding: 10px 14px;
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-primary-subtle);
    color: var(--jsjobs-primary);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-package-buy-page a#jsjobs_buy_nowbtn_a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 20px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-weight: 900;
    text-decoration: none;
}

/* =========================================================
   Component home / "page not found" fallback (default:default)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-home-page
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-home-page #jsjobs_r_p_notfound {
    max-width: 560px;
    margin: 40px auto;
    padding: 44px 32px;
    text-align: center;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}
#js_jobs_main_wrapper.jsjobs-modern-home-page .js_job_messages_image-wrp {
    margin-bottom: 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-home-page .js_job_messages_image-wrp img {
    max-width: 140px;
    height: auto;
}
#js_jobs_main_wrapper.jsjobs-modern-home-page .jstitle {
    margin-bottom: 22px;
    color: var(--jsjobs-text-strong);
    font-size: 20px;
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-home-page .jsjob_button_cp {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}
#js_jobs_main_wrapper.jsjobs-modern-home-page .jsjob_anchor_em,
#js_jobs_main_wrapper.jsjobs-modern-home-page .jsjob_anchor_js {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 20px;
    border: 1px solid var(--jsjobs-primary);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-weight: 800;
    text-decoration: none;
    transition: background var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast);
}
#js_jobs_main_wrapper.jsjobs-modern-home-page .jsjob_anchor_js {
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
}
#js_jobs_main_wrapper.jsjobs-modern-home-page .jsjob_anchor_em:hover {
    background: var(--jsjobs-primary-hover);
}
#js_jobs_main_wrapper.jsjobs-modern-home-page .jsjob_anchor_js:hover {
    background: var(--jsjobs-primary-soft);
}

/* =========================================================
   Simple detail views: folder:viewfolder + department:view_department
   Scope: .jsjobs-modern-folder-detail-page / .jsjobs-modern-department-detail-page
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-folder-detail-page .jsjobs-data-wrapper-main-outer,
#js_jobs_main_wrapper.jsjobs-modern-department-detail-page .js_jobs_data_main_outer_wrapper {
    padding: 24px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}
#js_jobs_main_wrapper.jsjobs-modern-folder-detail-page .js_jobs_data_wrapper,
#js_jobs_main_wrapper.jsjobs-modern-department-detail-page .js_jobs_data_wrapper {
    margin-bottom: 14px;
}
#js_jobs_main_wrapper.jsjobs-modern-folder-detail-page .js_jobs_data_value,
#js_jobs_main_wrapper.jsjobs-modern-department-detail-page .js_jobs_data_value {
    color: var(--jsjobs-text-strong);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: -.025em;
}
#js_jobs_main_wrapper.jsjobs-modern-department-detail-page .js_jobs_data_value a {
    color: var(--jsjobs-primary);
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-department-detail-page .js_jobs_data_value a:hover {
    text-decoration: underline;
}
#js_jobs_main_wrapper.jsjobs-modern-folder-detail-page .jsjobs-description-area,
#js_jobs_main_wrapper.jsjobs-modern-department-detail-page .jsjobs-description-area {
    margin-top: 14px;
    padding-top: 16px;
    border-top: 1px solid var(--jsjobs-border-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-folder-detail-page .js_jobs_full_width_data,
#js_jobs_main_wrapper.jsjobs-modern-department-detail-page .js_jobs_full_width_data {
    color: var(--jsjobs-text);
    line-height: 1.7;
}

/* =========================================================
   Folder resumes list (folder:folder_resumes) — resume cards.
   Shared card internals (image, badges, heading/text) come from the
   site-page resume-card block; this adds the container/header/footer.
   Scope: .jsjobs-modern-folder-resumes-page
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_main_wrapper {
    margin: 0 0 18px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}
#js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_resume_header {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
}
#js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_data_area {
    flex: 1 1 auto;
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_data_3 .title {
    color: var(--jsjobs-text-strong);
    font-size: 18px;
    font-weight: 900;
}
#js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_folder_resume {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 14px 24px;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_data_2_value {
    color: var(--jsjobs-muted);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .btn-view {
    display: inline-flex;
    gap: 8px;
    flex-wrap: wrap;
}
#js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_data_area_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-primary);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--jsjobs-transition-fast), border-color var(--jsjobs-transition-fast);
}
#js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_data_area_button.view {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
}
#js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_data_area_button:hover {
    box-shadow: var(--jsjobs-shadow-sm);
}

/* =========================================================
   Resume search results + resume by category
   (resume:resume_searchresults / resume:resume_bycategory)
   Scope: .jsjobs-modern-resume-search-results-page / .jsjobs-modern-resume-categories-page
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-main-wrapper-resume-searchresults,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-main-wrapper-resume-searchresults {
    margin: 0 0 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-resume-searchresults,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-resume-searchresults {
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
    overflow: hidden;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-resume-search,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-resume-search {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-img-border,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-img-border {
    flex: 0 0 auto;
    padding: 4px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
    overflow: hidden;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-img-border .js_job_image,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-img-border .js_job_image {
    display: block;
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: var(--jsjobs-radius-sm);
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-data-area,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-data-area {
    flex: 1 1 auto;
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-jobs-types,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-jobs-types,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-jobs-types-wrp {
    display: inline-flex;
    align-items: center;
    padding: 3px 12px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary-subtle);
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-name-title,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-name-title {
    display: block;
    margin-top: 8px;
    color: var(--jsjobs-text-strong);
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -.02em;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-posted,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-posted,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-by-category-posted {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .js_job_data_2_title,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .js_job_data_2_title {
    color: var(--jsjobs-muted);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-jobs-salary-range,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-jobs-salary-range {
    color: var(--jsjobs-muted);
}
/* Grid, not flex + calc(50% - 8px): the pill width below assumes a 16px gap, but
   this (more specific) rule set an 18px column gap, so two pills came to 100% + 2px
   and wrapped to one per row - leaving half the card empty. Auto-fit tracks size the
   pills from the available width instead, so the arithmetic cannot drift again. */
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-data-2-cat-wrapper,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-data-2-cat-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
    margin-top: 12px;
    color: var(--jsjobs-text);
    font-size: 13px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-data-2-cat-wrapper .jsjobs-main-wrap,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-data-2-cat-wrapper .jsjobs-main-wrap {
    width: auto;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-data-3-myresume,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-data-3-myresume {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 14px 24px;
    border-top: 1px solid var(--jsjobs-border-soft);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-muted);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-data-3-myresume .jsjobs-view-resume,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-data-3-myresume .jsjobs-view-resume {
    margin-left: auto;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-view-resume a,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-view-resume a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 18px;
    border: 1px solid var(--jsjobs-primary);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}
/* Sort bar + save-search form */
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .my_resume_sbl_links,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .my_resume_sbl_links {
    display: inline-flex;
    align-items: center;
    margin: 0 6px 6px 0;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .my_resume_sbl_links a,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .my_resume_sbl_links a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid var(--jsjobs-border);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .my_resume_sbl_links a.selected,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .my_resume_sbl_links a.selected {
    border-color: var(--jsjobs-primary);
    background: var(--jsjobs-primary-subtle);
    color: var(--jsjobs-primary);
}
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .my_resume_sbl_links img{
    filter: brightness(1) invert(1);
}
/* Save-search form: one aligned row, input and button matching height/shape. */
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page #savesearch-form,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page #savesearch-form {
    margin: 0 0 12px;
    padding: 19px 20px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 17px;
    background: var(--jsjobs-primary-subtle);
    color: var(--jsjobs-text-strong);
    line-height: 1.15;
    font-weight: 850;
    letter-spacing: -.025em;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page #savesearch-form form,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page #savesearch-form form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin: 0;
	    padding: 10px 0;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-input-field,
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-input-field{
    display: inline-flex;
    margin: 0;
    flex: 1 1 auto;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-button-field,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-button-field {
    display: inline-flex;
    margin: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-button-field input#button,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-button-field input#button{
    margin-top: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-input-field .inputbox,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-input-field .inputbox {
    min-width: 230px;
    min-height: 38px;
    padding: 0 16px;
    border: 1px solid var(--jsjobs-border);
    border-radius: 17px;
    background: var(--jsjobs-surface);
    color: var(--jsjobs-text);
    font-size: 13px;
    width: 100%;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-button-field .button,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-button-field .button {
    min-height: 38px;
    padding: 0 24px;
    border-radius: var(--jsjobs-radius-pill);
    font-size: 13px;
    font-weight: 800;
}
/* Sort links: a labelled row instead of four loose buttons. */
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page #sortbylinks,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page #sortbylinks {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0 0 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-sortby-label,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-sortby-label {
    color: var(--jsjobs-muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page #sortbylinks .my_resume_sbl_links,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page #sortbylinks .my_resume_sbl_links {
    margin: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .my_resume_sbl_links a:hover,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .my_resume_sbl_links a:hover {
    border-color: var(--jsjobs-primary);
    color: var(--jsjobs-primary);
}
/* .jsjobs-data-area is a column flex container (unscoped rule further down), and its
   default align-items:stretch was overriding the badge's inline-flex, stretching the
   job-type pill across the whole card. */
#js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-data-area > .jsjobs-jobs-types,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-data-area > .jsjobs-jobs-types,
#js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-data-area > .jsjobs-jobs-types-wrp {
    align-self: flex-start;
}
/*resume by category */
.jsjobs-main-wrapper-resume-searchresults {
            margin-bottom: 24px;
        }

        /* Main Card Container */
        .jsjobs-resume-searchresults {
            background-color: var(--jsjobs-card-bg);
            border: 1px solid var(--jsjobs-border-color);
            /* Deep Blue Left Border matching the image */
            border-left: 5px solid var(--jsjobs-secondary); 
            border-radius: var(--jsjobs-radius-lg);
            box-shadow: var(--jsjobs-shadow-sm);
            display: flex;
            flex-direction: column;
            position: relative;
            /* Top Padding creates the space for the light-blue header area */
            padding-top: 48px;
        }

        /* The Light Blue Top Header Bar created via pseudo-element */
        .jsjobs-resume-searchresults::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 48px;
            background-color: var(--jsjobs-surface-muted);
            border-bottom: 1px solid var(--jsjobs-border-color);
            /* Curve top right to match container; top left is flattened by left border */
            border-top-right-radius: calc(var(--jsjobs-radius-lg) - 1px);
            z-index: 0;
        }

        /* Main Content Grid */
        .jsjobs-resume-search {
            display: flex;
            padding: 32px 32px 12px 32px;
            gap: 32px;
        }

        /* Image Area */
        .jsjobs-image-area {
            flex-shrink: 0;
        }

        .jsjobs-img-border {
            border: 1px solid var(--jsjobs-border-color);
            border-radius: var(--jsjobs-radius-md);
            padding: 4px;
            background-color: var(--jsjobs-surface);
            box-shadow: 0 4px 12px rgba(15, 23, 42, .03);
            display: inline-block;
        }

        .jsjobs-image-wrapper {
            width: 72px;
            height: 72px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: calc(var(--jsjobs-radius-md) - 4px);
            overflow: hidden;
            background-color: var(--jsjobs-surface-muted);
        }

        .jsjobs-image-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* Data Area */
        .jsjobs-data-area {
            flex-grow: 1;
            display: flex;
            flex-direction: column;
        }

        /* Pill Badges */
        .jsjobs-jobs-types {
            background-color: #fff7ed; /* Fixed Light Orange */
            color: #ea580c; /* Fixed Orange Text */
            padding: 4px 12px;
            border-radius: var(--jsjobs-radius-pill);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            display: inline-flex;
            align-items: center;
            letter-spacing: 0.5px;
        }

        /* Main Name/Title */
        .jsjobs-name-title {
            font-size: 24px;
            font-weight: 800;
            color: var(--jsjobs-secondary); /* Dark Navy matching image */
            line-height: 1.2;
        }

        /* Date Placed in Header Bar.
           Scoped to the two resume pages this was written for. Unscoped it also hit
           the shortlist page, where .jsjobs-posted is the job-type badge and no
           ancestor is positioned - so the badge anchored to the page and rendered
           over the site header in the top right corner. */
        #js_jobs_main_wrapper.jsjobs-modern-resume-search-results-page .jsjobs-posted,
        #js_jobs_main_wrapper.jsjobs-modern-resume-categories-page .jsjobs-posted {
            position: absolute;
            top: 15px;
            right: 24px;
            font-size: 13px;
            font-weight: 700;
            color: var(--jsjobs-muted);
            z-index: 10;
        }

        /* Wrapper for key/values. Making them a flex context to form a grid */
        .jsjobs-data-2-wrapper.cat {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
            margin-top: 16px; 
        }
        
        .jsjobs-data-2-wrapper.cat:empty {
            display: none;
        }
        
        .jsjobs-data-2-wrapper.cat:first-of-type {
            margin-top: 0;
        }

        /* Individual Field Pills (Grey/Blue Boxes) */
        .jsjobs-main-wrap {
            /* 2 column grid minus half of the 16px gap */
            width: calc(50% - 8px); 
            background-color: var(--jsjobs-primary-subtle);
            border-radius: var(--jsjobs-radius-md);
            padding: 16px 20px;
            display: inline-flex;
            flex-direction: column;
            gap: 4px;
            box-sizing: border-box;
        }

        .js_job_data_2_title {
            font-size: 11px;
            font-weight: 800;
            color: var(--jsjobs-muted);
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }



        /* Bottom Actions Section */
        .jsjobs-data-3-myresume {
            background-color: var(--jsjobs-surface-muted);
            padding: 20px 32px;
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 12px;
            border-top: 1px solid var(--jsjobs-border-color);
            border-radius: 0 0 calc(var(--jsjobs-radius-lg) - 1px) calc(var(--jsjobs-radius-lg) - 1px);
            margin-top: 24px;
        }
        
        .jsjobs-location {
            display: none; /* Hidden based on the aesthetic flow, can be re-enabled if needed */
        }

        /* View Button Styling */
        .jsjobs-view-resume a.js_job_data_area_button {
            background-color: var(--jsjobs-surface);
            color: var(--jsjobs-primary);
            font-weight: 700;
            font-size: 14px;
            padding: 8px 24px;
            border-radius: var(--jsjobs-radius-pill);
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            transition: var(--jsjobs-transition-fast);
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
            border: 1px solid transparent; /* Prepare for hover/active states if added */
        }

        .jsjobs-view-resume a.js_job_data_area_button:hover {
            background-color: var(--jsjobs-primary-subtle);
            border-color: var(--jsjobs-border-color);
            color: var(--jsjobs-primary-hover);
            box-shadow: var(--jsjobs-shadow-sm);
        }

        #jsjobs_jobs_pagination_wrapper {
            display: flex;
            justify-content: space-between;
            align-items: center;
            background-color: var(--jsjobs-surface);
            padding: 24px 32px;
            border-radius: var(--jsjobs-radius-lg);
            border: 1px solid var(--jsjobs-border-color);
            margin-top: 24px;
            box-shadow: var(--jsjobs-shadow-sm);
            font-weight: 500;
        }

        .form-select {
            padding: 8px 16px;
            border-radius: var(--jsjobs-radius-sm);
            border: 1px solid var(--jsjobs-border-color);
            background-color: var(--jsjobs-surface);
            color: var(--jsjobs-text-strong);
            font-family: inherit;
            font-size: 14px;
            outline: none;
            transition: var(--jsjobs-transition-fast);
        }

        .form-select:focus {
            border-color: var(--jsjobs-primary);
            box-shadow: var(--jsjobs-focus-ring);
        }

        /* Responsive Breakpoints */
        @media (max-width: 768px) {
            .jsjobs-resume-search {
                flex-direction: column;
            }
            .jsjobs-main-wrap {
                width: 100%; /* Single column on mobile */
            }
            .jsjobs-posted {
                right: auto;
                left: 24px; /* Move date to left on mobile */
            }
            .jsjobs-data-3-myresume {
                justify-content: center;
            }
        }
/* =========================================================
   Job apply page (jobapply:job_apply)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-job-apply-page
   Markup was modernised (.jsjobs-modern-apply-*) but CSS was never
   authored - this block styles the whole apply flow. Tokens only.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-hero {
    margin: 0 0 24px;
    padding: 28px 30px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: linear-gradient(180deg, var(--jsjobs-primary-subtle) 0%, var(--jsjobs-surface) 100%);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--jsjobs-primary);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-hero h1 {
    margin: 0 0 6px;
    color: var(--jsjobs-text-strong);
    font-size: 28px;
    font-weight: 900;
    letter-spacing: -.03em;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-hero p {
    margin: 0;
    color: var(--jsjobs-muted);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 24px;
    align-items: start;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-main {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-panel {
    padding: 24px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-section-title {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-section-title > span {
    flex: 0 0 auto;
    width: 8px;
    height: 34px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-section-title h2 {
    margin: 0 0 2px;
    color: var(--jsjobs-text-strong);
    font-size: 18px;
    font-weight: 900;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-section-title p {
    margin: 0;
    color: var(--jsjobs-muted);
    font-size: 13px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-form-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-form-row label {
    color: var(--jsjobs-text-strong);
    font-weight: 800;
    font-size: 13px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-job-head {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 16px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-job-head h3 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--jsjobs-text-strong);
    font-size: 20px;
    font-weight: 900;
    letter-spacing: -.02em;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-job-head a {
    color: var(--jsjobs-primary);
    font-weight: 700;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-job-head a:hover {
    text-decoration: underline;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-summary-grid > div {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 12px 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-summary-grid span {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-summary-grid strong {
    color: var(--jsjobs-text-strong);
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-side {
    min-width: 0;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-submit-card {
    position: sticky;
    top: 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    text-align: center;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-md);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-submit-card > span {
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-submit-card h2 {
    margin: 0;
    color: var(--jsjobs-text-strong);
    font-size: 18px;
    font-weight: 900;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-submit-card p {
    margin: 0 0 6px;
    color: var(--jsjobs-muted);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 46px;
    padding: 0 20px;
    border: 1px solid var(--jsjobs-primary);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-size: 15px;
    font-weight: 900;
    cursor: pointer;
    transition: background var(--jsjobs-transition-fast);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-submit:hover {
    background: var(--jsjobs-primary-hover);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-message {
    padding: 12px 14px;
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-primary-subtle);
    color: var(--jsjobs-primary);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_job_messages_image_wrapper {
    margin-bottom: 14px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_job_messages_image_wrapper img {
    max-width: 120px;
    height: auto;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_job_messages_data_wrapper {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_job_messages_main_text {
    color: var(--jsjobs-text-strong);
    font-size: 18px;
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_job_messages_block_text {
    color: var(--jsjobs-muted);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page #js_apply_loginform_login_message {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    padding: 12px 16px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page #js_apply_loginform_login {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    align-items: stretch;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_apply_loginform,
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_apply_visitor {
    padding: 24px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-xl);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_apply_loginform_title {
    margin: 12px 0 4px;
    color: var(--jsjobs-text-strong);
    font-weight: 800;
    font-size: 13px;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_apply_loginform .inputbox {
    width: 100%;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_apply_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    margin-top: 16px;
    padding: 0 20px;
    border: 1px solid var(--jsjobs-primary);
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary);
    color: var(--jsjobs-on-primary);
    font-weight: 800;
    cursor: pointer;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page #forgotyour-passwd {
    display: inline-block;
    margin-top: 12px;
    color: var(--jsjobs-primary);
    font-weight: 700;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js_apply_visitor {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .js-border-left {
    display: none;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs_res_or {
    display: inline-block;
    margin-bottom: 14px;
    color: var(--jsjobs-muted);
    font-weight: 800;
    letter-spacing: .08em;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page #jsjobs-apply-asvisitor {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    color: var(--jsjobs-primary);
    font-weight: 800;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page #jsjobs-apply-asvisitor img {
    max-width: 56px;
    height: auto;
}
#js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-visitor-apply .bleft {
    color: var(--jsjobs-primary);
}
@media (max-width: 860px) {
    #js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-layout,
    #js_jobs_main_wrapper.jsjobs-modern-job-apply-page #js_apply_loginform_login {
        grid-template-columns: 1fr;
    }
    #js_jobs_main_wrapper.jsjobs-modern-job-apply-page .jsjobs-modern-apply-submit-card {
        position: static;
    }
}

/* =========================================================
   Print job view (job:print_job)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-print-job-page
   Data rows (.js_job_data_wrapper/.js_job_data_value) come from the
   job-detail scope; this adds the label, company block and share bits.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-print-job-page .js_job_company_data {
    margin-bottom: 18px;
}
#js_jobs_main_wrapper.jsjobs-modern-print-job-page .js_job_data_title {
    display: block;
    color: var(--jsjobs-muted);
    font-size: 12px;
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-print-job-page .js_job_company_anchor {
    color: var(--jsjobs-primary);
    font-weight: 700;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-print-job-page .js_job_new,
#js_jobs_main_wrapper.jsjobs-modern-print-job-page .newjob {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-success);
    color: var(--jsjobs-on-primary);
    font-size: 11px;
    font-weight: 800;
}
#js_jobs_main_wrapper.jsjobs-modern-print-job-page .js_job_share_link,
#js_jobs_main_wrapper.jsjobs-modern-print-job-page .fb-like {
    margin-top: 8px;
}
@media print {
    #js_jobs_main_wrapper.jsjobs-modern-print-job-page .js_job_share_link,
    #js_jobs_main_wrapper.jsjobs-modern-print-job-page .fb-like {
        display: none;
    }
}
#js_jobs_main_wrapper.jsjobs-modern-form-page .jsjobs-modern-form-control.jsjobs-radiobtn-wrp {display: flex;align-items: center;gap: 10px;flex-wrap: wrap;}
#js_jobs_main_wrapper.jsjobs-modern-form-page .jsjobs-modern-form-control.jsjobs-radiobtn-wrp label{margin-bottom: 0;}
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-apply-filter-options .jsjobs-maim-wrp-btn label{margin-bottom: 0;}
#js_jobs_main_wrapper.jsjobs-modern-job-form-page .jsjobs-job-email-setting-options .jsjobs-radio-email-me span.jsjobs-radio-title label{margin-bottom: 0;padding-top: 3px;}
ul.jsjobs-stars-small li a{display: none;}
/* folder resume */
 .js_job_main_wrapper {
            background-color: var(--jsjobs-surface);
            border: 1px solid var(--jsjobs-border);
            border-radius: var(--jsjobs-radius-lg);
            box-shadow: var(--jsjobs-shadow-sm);
            width: 100%;
            max-width: 900px;
            display: flex;
            flex-direction: column;
            overflow: hidden;
            position: relative;
        }

        /* Distinctive left border to match previous aesthetics */
        .js_job_main_wrapper::before {
            content: '';
            position: absolute;
            top: 0; bottom: 0; left: 0;
            width: 4px;
            background-color: var(--jsjobs-primary);
            z-index: 10;
        }

        .js_job_resume_header {
            display: flex;
            padding: 32px 32px 24px 32px;
            gap: 28px;
        }

        /* Image Area */
        .js_job_image_area {
            flex-shrink: 0;
        }

        .js_job_image_wrapper {
            width: 80px;
            height: 80px;
            border-radius: var(--jsjobs-radius-md);
            overflow: hidden;
            border: 1px solid var(--jsjobs-border);
            background-color: var(--jsjobs-surface-soft);
            padding: 4px;
            box-shadow: 0 4px 12px rgba(15, 23, 42, .03);
        }

        .js_job_image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: calc(var(--jsjobs-radius-md) - 4px);
        }

        /* Data Area */
        .js_job_data_area {
            flex-grow: 1;
            position: relative;
            display: flex;
            flex-direction: column;
        }

        .jobtype {
            background-color: var(--jsjobs-primary-soft);
            color: var(--jsjobs-primary);
            padding: 4px 12px;
            border-radius: var(--jsjobs-radius-pill);
            font-size: 11px;
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            display: inline-flex;
            align-self: flex-start;
            margin-bottom: 12px;
        }

        .applied-date {
            position: absolute;
            top: 0;
            right: 0;
            font-size: 13px;
            font-weight: 600;
            color: var(--jsjobs-muted);
            background-color: var(--jsjobs-surface-soft);
            padding: 4px 12px;
            border-radius: var(--jsjobs-radius-pill);
        }

        .js_job_data_3 {
            margin-bottom: 20px;
        }

        .js_job_data_3 .title {
            font-size: 24px;
            font-weight: 800;
            color: var(--jsjobs-text-strong);
            line-height: 1.2;
            margin-bottom: 6px;
        }

        .js_job_data_3 .salary {
            font-size: 15px;
            font-weight: 600;
            color: var(--jsjobs-muted);
            display: inline-block;
        }

        .js_job_data_2 {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }

        .js_job_data_2_wrapper {
            background-color: var(--jsjobs-primary-subtle);
            border-radius: var(--jsjobs-radius-md);
            padding: 16px;
            display: flex;
            flex-direction: column;
            gap: 4px;
            /* Flex layout handles auto-sizing of boxes */
            flex: 1 1 calc(50% - 12px);
            min-width: 200px; 
            border: 1px solid var(--jsjobs-border-soft);
        }

        .js_job_data_2_wrapper .heading {
            font-size: 11px;
            font-weight: 800;
            color: var(--jsjobs-muted);
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .js_job_data_2_wrapper .text {
            font-size: 15px;
            font-weight: 700;
            color: var(--jsjobs-text-strong);
        }

        .js_job_folder_resume {
            background-color: var(--jsjobs-surface-soft);
            padding: 20px 32px;
            border-top: 1px solid var(--jsjobs-border);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .js_job_folder_resume .location {
            font-size: 14px;
            font-weight: 600;
            color: var(--jsjobs-muted);
            display: flex;
            align-items: center;
            gap: 6px;
        }
        
        .js_job_folder_resume .location::before {
            content: '📍';
            font-size: 16px;
        }

        /* Action Buttons */
        .btn-view {
            display: flex;
            gap: 12px;
            align-items: center;
        }

        .js_job_data_area_button {
            padding: 8px 20px;
            border-radius: var(--jsjobs-radius-pill);
            font-weight: 700;
            font-size: 14px;
            text-decoration: none;
            transition: var(--jsjobs-transition-fast);
            display: inline-flex;
            justify-content: center;
            align-items: center;
        }

        /* Primary "View Resume" Button */
        .js_job_data_area_button.view {
            background-color: var(--jsjobs-primary-soft);
            color: var(--jsjobs-primary);
        }

        .js_job_data_area_button.view:hover {
            background-color: var(--jsjobs-primary);
            color: var(--jsjobs-on-primary);
        }

        /* "Remove" button gets a danger aesthetic matching your theme */
        .js_job_data_area_button:not(.view) {
            background-color: #fef2f2; /* Soft red bg */
            color: var(--jsjobs-danger);
            border: 1px solid #fee2e2;
        }

        .js_job_data_area_button:not(.view):hover {
            background-color: var(--jsjobs-danger);
            color: var(--jsjobs-on-primary);
        }

        @media (max-width: 768px) {
            .js_job_resume_header {
                flex-direction: column;
                padding: 24px;
                gap: 20px;
            }
            .applied-date {
                position: relative;
                top: auto;
                right: auto;
                margin-top: 12px;
                display: inline-block;
            }
            .js_job_data_2_wrapper {
                flex: 1 1 100%;
            }
            .js_job_folder_resume {
                flex-direction: column;
                gap: 16px;
                padding: 20px 24px;
                align-items: flex-start;
            }
            .btn-view {
                width: 100%;
                flex-direction: column;
            }
            .js_job_data_area_button {
                width: 100%;
            }
        }
@media (max-width: 650px){
        .jsjobs-listing-stats-wrapper {
                background: transparent;
                border: none;
                box-shadow: none;
            }

            #js-table, 
            #js-table thead, 
            #js-table tbody, 
            #js-table th, 
            #js-table td, 
            #js-table tr {
                display: block;
            }
            /* #js-table thead{
                display: none;
            } */

            /* Hide table headers on mobile */
            #js-table thead tr {
                position: absolute;
                top: -9999px;
                /* left: -9999px; */
            }

            /* Turn rows into cards */
            #js-table tbody tr {
                background-color: var(--jsjobs-surface);
                border: 1px solid var(--jsjobs-border);
                border-radius: var(--jsjobs-radius-md);
                margin-bottom: 16px;
                box-shadow: var(--jsjobs-shadow-sm);
                overflow: hidden;
            }

            #js-table td {
                border: none;
                border-bottom: 1px solid var(--jsjobs-border-soft);
                position: relative;
                padding-left: 50%; /* Make room for the data-th label */
                text-align: right !important; /* Force right align for data */
                display: flex;
                justify-content: flex-end;
                align-items: center;
            }

            #js-table td:last-child {
                border-bottom: 0;
            }

            /* Display the data-th attribute as a pseudo-element label */
            #js-table td::before {
                content: attr(data-th);
                position: absolute;
                left: 20px;
                top: 50%;
                transform: translateY(-50%);
                width: 45%;
                padding-right: 10px;
                white-space: nowrap;
                text-align: left;
                font-size: 12px;
                font-weight: 700;
                color: var(--jsjobs-muted);
                text-transform: uppercase;
                letter-spacing: 0.5px;
            }
            
            /* Add special emphasis to the title row on mobile */
            #js-table td.color3 {
                background-color: var(--jsjobs-surface-soft);
                padding-left: 20px;
                justify-content: flex-start;
                font-size: 16px;
            }
            
            /* Hide the label for the main title on mobile as it acts as a header */
            #js-table td.color3::before {
                display: none;
            }
    }
@media (max-width: 480px){
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-toprow-employer{grid-template-columns: 1fr;}
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-dashboard-job-card .jsjobs-modern-job-card-main, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-card-main{display: flex;flex-direction: column;align-items: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-content{width: 100%;display: flex;flex-direction: column;align-items: center;}
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-dashboard-job-card .jsjobs-modern-job-side{flex-direction: column;align-items: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-salary{align-items: center;justify-content: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-card::before{width: 100%;height: 4px;}
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied{flex-direction: column;justify-content: center;align-items: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .js-cp-content-area{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-appliedresume-seeker::before{width: 100%;height: 4px;}
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page .jsjobs-cp-resume-applied-lower{flex-direction: column;justify-content: center;align-items: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-openings{margin-right: auto;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-job-meta{justify-content: center;}
    div#resumeform div.jssectionwrapper div.resumefieldswrapper.formresumetwo{width: 100%; padding-inline-end:0;}
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-card-body{display: flex;flex-direction: column;align-items: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-badges{justify-content: center;}
    #js_jobs_main_wrapper.jsjobs-modern-company-detail-page .jsjobs-company-detail-hero{display: flex;flex-direction: column;align-items: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-department-right{align-items: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-main-department-left{align-items: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-coverletter-button-area, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-card-actions, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-actions, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-actions, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-footer, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-actions{justify-content: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjob-main-department{justify-content: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .button, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs_button, #js_jobs_main_wrapper.jsjobs-modern-site-page input#button, #js_jobs_main_wrapper.jsjobs-modern-site-page .js_job_button, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-btn, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-buy-btn, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-view-btn, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-apply-button, #js_jobs_main_wrapper.jsjobs-modern-site-page .resume_submits, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-icon-btn, #js_jobs_main_wrapper.jsjobs-modern-site-page .js_listing_icon, #js_jobs_main_wrapper.jsjobs-modern-site-page .action, #js_jobs_main_wrapper.jsjobs-modern-site-page .pageLink{
        margin-top: 0;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-apply-button.jsjobs-employer-apply-button{
        margin-top:20px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-apply-button.jsjobs-jobseeker-apply-button{
        margin-top: 20px;
    }
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-apply-button.jsjobs-jobseeker-apply-button .jsjobs-package-detail{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }
    #js_jobs_main_wrapper.jsjobs-modern-view-resume-page .js-resume-profile{justify-content: center;text-align: center;}
    .js_job_main_wrapper::before {width: 100%;height: 4px;}
    #js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_resume_header{ align-items: center;}
    #js_jobs_main_wrapper.jsjobs-modern-folder-resumes-page .js_job_data_area{align-items: center;text-align: center;}
    .jobtype{align-self: center;}
    #js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-main, #js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context{display: flex;flex-direction: column;align-items: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-content{display: flex;flex-direction: column;align-items: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-messages-page .jsjobs-modern-message-card-actions{justify-content: center;}
    #js_jobs_main_wrapper.jsjobs-modern-message-send-page .jsjobs-modern-message-context-meta{flex-direction: column;}
    #js_jobs_main_wrapper.jsjobs-modern-site-form-page form.jsautoz_form{padding: 0;border: unset;}
    #js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-data-price-wrap{flex: 1 1 auto;}
    #js_jobs_main_wrapper.jsjobs-modern-purchase-history-page .jsjobs-data-price-wrap .jsjobs-price-wrap{margin-left: auto;}
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjsjobs-row_wrapper .js-cp-applied-resume,
    #js_jobs_main_wrapper.jsjobs-modern-dashboard-page #jsjobs-appliedresume-seeker .js-cp-applied-resume {flex-direction: column;align-items: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .button, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs_button, #js_jobs_main_wrapper.jsjobs-modern-site-page input#button, #js_jobs_main_wrapper.jsjobs-modern-site-page .js_job_button, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-folder-btn, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-buy-btn, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-view-btn, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-apply-button, #js_jobs_main_wrapper.jsjobs-modern-site-page .resume_submits, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-icon-btn, #js_jobs_main_wrapper.jsjobs-modern-site-page .js_listing_icon, #js_jobs_main_wrapper.jsjobs-modern-site-page .action, #js_jobs_main_wrapper.jsjobs-modern-site-page .pageLink{flex-wrap: wrap;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page div.page_heading{flex-wrap: wrap;}
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-custom-fields .js_job_data_wrapper{min-width: fit-content;}
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-hero-main{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-main-content{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-job-detail-page .jsjobs-detail-share, #js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-posted-rating-main{align-items: center;}
    #js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-1, #js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-main-wrapper-shortjoblist{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-shortlist-page .jsjobs-data-2{justify-content: center;}
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-listcompany{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-listcompany .jsjobs-data-area.jsjobs-location-wrp .jsjob-data-1{display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-coverletter-title{display: block;margin: auto;text-align: center;}
    #js_jobs_main_wrapper.jsjobs-modern-packages-page .jsjobs-package-title{flex-wrap: wrap;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-main, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-main, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-body, #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-resume-content{display: flex;align-items: center;justify-content: center;flex-direction: column;}
    #js_jobs_main_wrapper.jsjobs-modern-site-page .jsjobs-modern-application-meta{justify-content: center;}
    #js_jobs_main_wrapper.jsjobs-modern-saved-search-page .jsjobs-btn-save{flex-wrap: wrap;}
    #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-meta, #js_jobs_main_wrapper.jsjobs-modern-company-list-page .jsjobs-company-list-custom{justify-content: center;}
}

/* =========================================================
   "You are applying on this job" summary (resume:formresume)
   Scope: #js_jobs_main_wrapper.jsjobs-modern-resume-form-page

   jobslisting.php has two renderers. printjobs() - the jobs listing - was
   migrated to .jsjobs-modern-job-card and is styled. printjobforresume(), which
   draws this block, still emits the pre-migration markup (#js-jobs-wrapper,
   .js-toprow, .js-image, .js-status ...) and style.css, which used to style it,
   has been deleted - so the block rendered completely unstyled: a full-size
   company logo and run-together badge text. This maps the legacy markup onto the
   same token look as the modern job card. Only formresume.php calls it.
   ========================================================= */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper {
    margin: 0 0 18px;
    padding: 18px 20px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-lg);
    background: var(--jsjobs-surface);
    box-shadow: var(--jsjobs-shadow-sm);
}

/* ---- Top row: logo + data ---- */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-toprow {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-image {
    flex: 0 0 auto;
    width: 72px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-image img {
    display: block;
    width: 72px;
    height: 72px;
    object-fit: contain;
    padding: 6px;
    border: 1px solid var(--jsjobs-border-soft);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface);
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-data {
    flex: 1 1 auto;
    min-width: 0;
}

/* ---- Rows: the legacy js-col-* classes are grid helpers we do not want here ---- */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-first-row,
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-second-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-first-row + .js-first-row {
    margin-top: 6px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-second-row {
    margin-top: 10px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper [class*="js-col-"] {
    width: auto;
    max-width: none;
    padding: 0;
    float: none;
}

/* ---- Status pills (these were butting together as "Full-timeNew2 Jobs") ---- */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-status {
    display: inline-flex;
    align-items: center;
    margin-inline-end: 6px;
    padding: 3px 10px;
    border-radius: var(--jsjobs-radius-pill);
    background: var(--jsjobs-primary-subtle);
    color: var(--jsjobs-primary);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    white-space: nowrap;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-status.bg-new {
    background: rgba(22, 163, 74, .12);
    color: var(--jsjobs-success);
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-status.bg-gold,
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-status.bg-feature {
    background: rgba(217, 119, 6, .12);
    color: var(--jsjobs-warning);
}

/* ---- Job title ---- */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .jobtitle {
    color: var(--jsjobs-text-strong);
    font-size: 18px;
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -.02em;
    text-decoration: none;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .jobtitle:hover {
    color: var(--jsjobs-primary);
}

/* ---- Salary / openings ---- */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-jobsalary,
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-jobtype {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 700;
}

/* ---- Meta fields (Category, Posted, custom fields) ---- */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-fields {
    color: var(--jsjobs-text);
    font-size: 13px;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-bold {
    color: var(--jsjobs-muted);
    font-weight: 700;
}

/* ---- Bottom row: location ---- */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-bottomrow {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid var(--jsjobs-border-soft);
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-address {
    color: var(--jsjobs-muted);
    font-size: 13px;
    font-weight: 700;
}

/* ---- The "You are applying on this job!" notice above the card ---- */
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js_job_information_message {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 10px 14px;
    border: 1px solid var(--jsjobs-border-soft);
    border-inline-start: 3px solid var(--jsjobs-primary);
    border-radius: var(--jsjobs-radius-md);
    background: var(--jsjobs-surface-soft);
    color: var(--jsjobs-text);
    font-size: 13px;
    font-weight: 700;
}
#js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js_job_information_message img {
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
}

@media (max-width: 640px) {
    #js_jobs_main_wrapper.jsjobs-modern-resume-form-page #js-jobs-wrapper .js-toprow {
        flex-direction: column;
    }
}
