/*
 * nukejobs.css
 * NukeWorker Job Board — Custom UI Overrides
 * Loaded last so these rules win over app.css and style.css
 * Replaces job_cards.css (merged here)
 */

/* ============================================================
   Modern System Font Stack — replaces legacy Arial everywhere
   Excludes Font Awesome icons (.fa, .fas, .far, .fab)
   ============================================================ */
body,
table, td, th,
input, select, textarea, button,
p, div, span, a, label, li, ul, ol,
h1, h2, h3, h4, h5, h6,
fieldset, legend,
.default_text, .display_text, .verysmall,
.phpjob_boldtext, .desctext, .error_text,
.itext, .isubmit,
#maintable, #maintable *:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not([class*="fa-"]),
.nj-resume-form, .nj-resume-form *:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not([class*="fa-"]),
.nj-auth-page, .nj-auth-card,
.nj-section-title, .nj-breadcrumb,
.nj-search-box, .nj-inbox-tabs,
.left-menu-section,
.bx_pagination,
.tablelist, .tablelist *:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not([class*="fa-"]),
.hlist, .hlist *:not(.fa):not(.fas):not(.far):not(.fab):not(.fal):not([class*="fa-"]) {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* ============================================================
   Job Details View — Modern Card Styling (was job_cards.css)
   ============================================================ */
#idjobview {
    background-color: white;
    border-radius: 10px;
    padding: 10px 20px;
    margin-bottom: 20px;
    width: 100%;
    max-width: 1200px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.10);
}
#idjobview fieldset {
    background-color: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    position: relative;
    padding-top: 50px;
    margin: 0 0 8px 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s ease;
    font-size: 14px;
    line-height: 1.7;
    color: #4a5568;
    font-family: inherit;
}
#idjobview fieldset:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
#idjobview legend {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 8px 8px 0 0;
    display: flex;
    align-items: center;
}
#idjobview legend,
#idjobview legend b,
#idjobview legend strong,
#idjobview legend span {
    color: #fff !important;
}
#idjobview legend i {
    transition: color 0.2s, transform 0.2s;
}
#idjobview fieldset:hover > legend i {
    color: #FFD700 !important;
    transform: scale(1.15);
}
#idjobview fieldset fieldset {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    box-shadow: none;
    padding: 15px;
    padding-top: 40px;
    margin-bottom: 15px;
}
#idjobview fieldset fieldset legend {
    background: #4a5568;
    font-size: 0.82rem;
    padding: 8px 15px;
}
#idjobview fieldset td,
#idjobview fieldset .default_text,
#idjobview fieldset .view:not(h2),
#idjobview fieldset span,
#idjobview fieldset p {
    font-size: 14px !important;
    font-family: inherit !important;
    line-height: 1.7;
}
#idjobview fieldset font {
    color: inherit !important;
    font-size: inherit !important;
    font-family: inherit !important;
}
#idjobview fieldset :not(legend) > strong,
#idjobview fieldset :not(legend) > b {
    color: #2d3748;
    font-weight: 600;
}
#idjobview fieldset table {
    width: 100%;
}
#idjobview fieldset table td {
    padding: 4px 8px 4px 0;
    vertical-align: top;
    line-height: 1.5;
}
#idjobview .view {
    color: #1a1a1a;
}
#idjobview h2.view {
    font-size: 1.5rem;
    color: #1a1a1a;
    margin-bottom: 4px;
}
#idjobview .grid .unit .view.verysmall {
    display: inline;
}
#idjobview .grid.no-gutters .unit.w-1-2 h2.view,
#idjobview .grid.no-gutters .unit.w-1-2 .view.verysmall {
    margin-left: 20px;
}
/* Company logo — push to the right, vertically center */
#idjobview .grid.no-gutters .unit.w-1-2.text-center {
    text-align: right !important;
    padding-right: 20px !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
}
#idjobview .grid {
    display: flex;
    flex-wrap: wrap;
    margin: -10px;
}
#idjobview .unit {
    padding: 10px;
    box-sizing: border-box;
}
#idjobview .w-1-3 { width: 33.333%; }
#idjobview .w-1-4 { width: 25%; }
#idjobview .w-1-2 { width: 50%; }
#idjobview .grid > .unit fieldset,
#idjobview .grid.nomargin-gutters > .unit fieldset {
    min-height: 80px;
}
#idjobview .isubmit {
    border-radius: 6px;
    transition: all 0.2s;
}
#idjobview .isubmit:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(52,102,153,0.2);
}

/* Apply Online Now button */
a.isubmit.apply-online,
a.apply-online,
.btn-apply-prominent {
    background-color: #2e7d32;
    color: #ffffff !important;
    padding: 12px 28px;
    border-radius: 6px;
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-block;
    margin: 8px auto;
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.1s ease;
}
a.isubmit.apply-online:hover,
a.apply-online:hover,
.btn-apply-prominent:hover {
    background-color: #1b5e20;
    transform: translateY(-1px);
}

/* Action bar */
ul.job-details-action-bar {
    display: block !important;
    width: 95% !important;
    max-width: 1200px !important;
    margin: 0 auto 20px auto !important;
    box-sizing: border-box;
    float: none !important;
    background-color: transparent !important;
    border-radius: 10px;
    padding: 10px 20px;
    margin-top: 15px;
    box-shadow: none;
}
ul.job-details-action-bar li {
    vertical-align: middle;
}

/* Responsive */
@media only screen and (max-width: 768px) {
    #idjobview .w-1-3,
    #idjobview .w-1-4,
    #idjobview .w-1-2 { width: 100%; }
    #idjobview {
        padding: 8px 10px;
    }
    #idjobview fieldset {
        padding-top: 40px;
    }
    #idjobview h2.view {
        font-size: 1.2rem;
    }
    a.isubmit.apply-online,
    a.apply-online {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
    ul.job-details-action-bar {
        text-align: center !important;
    }
    ul.job-details-action-bar li {
        display: block !important;
        margin-bottom: 8px;
        float: none !important;
    }
    .site-footer {
        display: none !important;
    }
}

/* ============================================================
   Breadcrumb Navigation — shared across all modernized pages
   Use class "nj-breadcrumb" on the breadcrumb container div.
   ============================================================ */
.nj-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 10px 16px;
    font-size: 13px;
    flex-wrap: wrap;
    margin-bottom: 12px;
    background: #f7f9fc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}
.nj-breadcrumb a {
    color: #346699;
    font-weight: 500;
    text-decoration: none;
}
.nj-breadcrumb a:hover {
    color: #1e3c72;
}
.nj-breadcrumb a > i.fa-home {
    display: inline-block;
    transition: color 0.3s, transform 0.3s, text-shadow 0.3s;
}
.nj-breadcrumb a:hover > i.fa-home {
    color: #631728;
    transform: scale(1.3) rotate(-10deg);
    text-shadow: 0 0 8px rgba(99, 23, 40, 0.4);
    text-decoration: none;
}
.nj-breadcrumb .nj-breadcrumb-sep {
    color: #a0aec0;
    font-size: 14px;
}
.nj-breadcrumb .nj-breadcrumb-current {
    color: #2d3748;
    font-weight: 600;
}
.nj-print-btn {
    margin-left: auto;
    background: #e2e8f0;
    color: #4a5568 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 4px 12px;
    border-radius: 5px;
    text-decoration: none !important;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}
.nj-print-btn:hover {
    background: #346699;
    color: #fff !important;
}
.nj-print-btn:hover i {
    color: #FFD700 !important;
}

/* ============================================================
   Section Headers — scoped to modernized sections only
   Use class "nj-section-title" on h2 elements we've updated.
   Never touch the global h2.main-title to avoid breaking other pages.
   ============================================================ */
h2.nj-section-title {
    background: linear-gradient(135deg, #346699 0%, #2a5298 50%, #1e3c72 100%);
    color: #fff;
    font-size: 1.3em;
    font-weight: 700;
    padding: 12px 20px;
    border-radius: 12px;
    border: none;
    margin: 12px 0 15px 0;
    height: auto;
    letter-spacing: 0.3px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 10px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    position: relative;
}
h2.nj-section-title i {
    opacity: 0.9;
    font-size: 0.9em;
    margin-right: 4px;
    transition: color 0.2s, transform 0.2s;
}
h2.nj-section-title:hover i {
    color: #FFD700;
    transform: scale(1.15);
}
.nj-section-title + .main-title-border {
    display: none;
}

/* ============================================================
   Featured Jobs Table (.featured-jobs-wrap)
   ============================================================ */
.featured-jobs-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 24px;
}
.featured-jobs-wrap table {
    border-collapse: collapse !important;
    width: 100%;
    background: #fff !important;
}
.featured-jobs-wrap thead tr {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%) !important;
}
.featured-jobs-wrap thead th {
    font-size: 12px !important;
    font-family: inherit !important;
    font-weight: 700 !important;
    color: #fff !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 10px 14px !important;
    border-bottom: none !important;
    text-align: left !important;
    background: transparent !important;
}
.featured-jobs-wrap tbody tr {
    background: #fff !important;
}
.featured-jobs-wrap tbody tr:nth-child(even) {
    background: #f7fafc !important;
}
.featured-jobs-wrap tbody tr:hover {
    background: #ebf4ff !important;
}
.featured-jobs-wrap tbody td {
    font-size: 13px !important;
    font-family: inherit !important;
    color: #4a5568 !important;
    padding: 9px 14px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    vertical-align: middle !important;
    font-weight: normal !important;
}
.featured-jobs-wrap tbody td:first-child {
    color: #718096 !important;
    white-space: nowrap;
}
.featured-jobs-wrap a,
.featured-jobs-wrap a:link,
.featured-jobs-wrap a:visited {
    color: #346699 !important;
    font-size: 13px !important;
    font-family: inherit !important;
    font-weight: normal !important;
    text-decoration: none !important;
}
.featured-jobs-wrap thead th:hover {
    color: #FFD700 !important;
}
.featured-jobs-wrap a:hover {
    color: #2c5282 !important;
    text-decoration: none !important;
}

/* ============================================================
   Job Detail Page (#idjobview)
   ============================================================ */

/* Meta lines (category, posted, reference) */
.view.verysmall,
#idjobview .view.verysmall {
    font-size: 14px !important;
    font-weight: normal;
    font-family: inherit;
    line-height: 1.7;
}
.view.verysmall a,
#idjobview .view.verysmall a,
#idjobview .view.verysmall a:link,
#idjobview .view.verysmall a:visited {
    font-size: 14px !important;
    font-weight: 600 !important;
    font-family: inherit !important;
    line-height: inherit !important;
    color: #346699 !important;
    text-decoration: none !important;
    background: none !important;
}
.view.verysmall a:hover,
#idjobview .view.verysmall a:hover {
    color: #1e3c72 !important;
    text-decoration: none !important;
}

/* Action bar (Apply / Share / Save / Print) */
ul.job-details-action-bar {
    display: block !important;
    width: 95% !important;
    max-width: 1200px !important;
    margin: 0 auto 20px auto !important;
    box-sizing: border-box;
    float: none !important;
}

/* Card fieldsets */
#idjobview {
    width: 100%;
    max-width: 1200px;
}
#idjobview fieldset {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    position: relative;
    padding-top: 50px;
    font-size: 14px;
    line-height: 1.7;
    color: #4a5568;
    font-family: inherit;
}
#idjobview legend {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff !important;
    padding: 10px 16px;
    border-radius: 8px 8px 0 0;
    display: flex;
    align-items: center;
}
#idjobview legend,
#idjobview legend b,
#idjobview legend strong,
#idjobview legend span {
    color: #fff !important;
}
#idjobview fieldset td,
#idjobview fieldset .default_text,
#idjobview fieldset .view:not(h2),
#idjobview fieldset span,
#idjobview fieldset p {
    font-size: 14px !important;
    font-family: inherit !important;
    line-height: 1.7;
}
#idjobview fieldset font {
    color: inherit !important;
    font-size: inherit !important;
    font-family: inherit !important;
}
#idjobview fieldset :not(legend) > strong,
#idjobview fieldset :not(legend) > b {
    color: #2d3748;
    font-weight: 600;
}

/* ============================================================
   Quick Job Search Box (.nj-search-box)
   ============================================================ */
.nj-search-box {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 20px 24px;
    margin-bottom: 24px;
}
.nj-search-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
}
.nj-search-label {
    width: 160px;
    min-width: 160px;
    text-align: right;
    padding-top: 6px;
    font-size: 13px;
    color: #2d3748;
}
.nj-search-label strong {
    display: block;
    font-weight: 600;
    color: #2d3748;
}
.nj-search-hint {
    display: block;
    font-size: 11px;
    color: #718096;
    font-weight: normal;
    margin-top: 2px;
}
.nj-search-field {
    flex: 1;
}
.nj-search-field select {
    width: 100%;
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 13px;
    font-family: inherit;
    color: #2d3748;
    background: #f7fafc;
}
/* Resizable select wrapper — cross-browser (Chrome ignores resize on <select>) */
.nj-resizable-select-wrap {
    resize: vertical;
    overflow: hidden;
    min-height: 130px;
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    background: #f7fafc;
    display: block;
}
.nj-resizable-select-wrap select {
    width: 100% !important;
    height: 100% !important;
    min-height: inherit;
    border: none !important;
    border-radius: 6px !important;
    background: transparent !important;
    resize: none !important;
    padding: 4px 8px;
    font-size: 13px;
    font-family: inherit;
    color: #2d3748;
}
.nj-search-field select:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
}
.nj-search-text {
    width: 100%;
    border: 1px solid #cbd5e0 !important;
    border-radius: 6px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    font-family: inherit !important;
    color: #2d3748 !important;
    background: #f7fafc !important;
    box-sizing: border-box;
}
.nj-search-text:focus {
    outline: none;
    border-color: #346699 !important;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
}
.nj-search-buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin: 20px 0 12px;
}
.nj-btn-reset {
    background: #e2e8f0;
    color: #4a5568;
    border: none;
    border-radius: 6px;
    padding: 8px 24px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}
.nj-btn-reset:hover {
    background: #cbd5e0;
}
.nj-btn-search {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 8px 32px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s;
}
.nj-btn-search:hover {
    opacity: 0.9;
}
.nj-search-advanced {
    text-align: right;
    font-size: 12px;
}
.nj-search-advanced a {
    color: #346699 !important;
    text-decoration: none;
    font-weight: 500;
}
.nj-search-advanced a:hover {
    text-decoration: none !important;
}

/* ============================================================
   Featured Companies Box (.nj-companies-wrap)
   ============================================================ */
.nj-companies-wrap {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px 20px;
    margin-bottom: 24px;
}
.nj-companies-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
    justify-content: center;
    align-items: center;
}
.nj-company-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 250px;
    height: 125px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid #e8ecf0;
    border-radius: 6px;
}
.nj-company-item a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}
.nj-company-item img {
    max-width: 226px !important;
    max-height: 105px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    opacity: 0.85;
    transition: opacity 0.2s, transform 0.2s;
}
.nj-company-item img:hover {
    opacity: 1;
    transform: scale(1.05);
}
.nj-companies-empty {
    padding: 20px;
    text-align: center;
    color: #718096;
    font-size: 13px;
    width: 100%;
}
.nj-company-item:empty {
    display: none;
}

/* ============================================================
   Advanced Job Search (#idadvjobsearch)
   ============================================================ */
#idadvjobsearch {
    max-width: 860px;
    margin: 0 auto;
}
.nj-advsearch-intro {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px 20px;
    margin-bottom: 16px;
    font-size: 13px;
    color: #4a5568;
}
.nj-advsearch-intro ul {
    margin: 4px 0 0 0;
    padding-left: 20px;
}
.nj-advsearch-section {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px 20px;
    margin-bottom: 16px;
}
.nj-advsearch-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 12px;
}
.nj-advsearch-row:last-child {
    margin-bottom: 0;
}
.nj-advsearch-label {
    width: 210px;
    min-width: 210px;
    padding-top: 5px;
    font-size: 13px;
    color: #2d3748;
    text-align: right;
}
.nj-advsearch-hint {
    display: block;
    font-size: 11px;
    color: #718096;
    font-weight: normal;
    margin-top: 2px;
}
.nj-advsearch-field {
    flex: 1;
}
.nj-advsearch-field select {
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 4px 8px;
    font-size: 13px;
    font-family: inherit;
    color: #2d3748;
    background: #f7fafc;
}
.nj-advsearch-field select[multiple] {
    width: 100%;
    resize: vertical;
    overflow-y: auto;
    min-height: 80px;
}
.nj-advsearch-field select:focus,
.nj-advsearch-field select[multiple]:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
}
.nj-advsearch-radio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 8px;
    font-size: 13px;
    color: #4a5568;
    align-items: center;
}
.nj-advsearch-radio-group label,
.nj-advsearch-radio-group span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    cursor: pointer;
}
.nj-advsearch-checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    font-size: 13px;
    color: #4a5568;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}
.nj-advsearch-checkboxes span {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.nj-advsearch-salary-pair {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
    font-size: 13px;
    color: #4a5568;
}
.nj-advsearch-salary-pair > span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.nj-advsearch-textarea {
    width: 100%;
    border: 1px solid #cbd5e0 !important;
    border-radius: 6px !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    font-family: inherit !important;
    color: #2d3748 !important;
    background: #f7fafc !important;
    box-sizing: border-box;
    resize: vertical;
}
.nj-advsearch-textarea:focus {
    outline: none;
    border-color: #346699 !important;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
}
@media only screen and (max-width: 768px) {
    .nj-advsearch-row {
        flex-direction: column;
    }
    .nj-advsearch-label {
        width: 100%;
        min-width: unset;
        text-align: left;
        padding-top: 0;
    }
    .nj-resizable-select-wrap {
        min-height: 100px;
    }
}

/* ============================================================
   Search Results Table
   ============================================================ */
table.tablelist.theme-responsive-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #dce3ed;
    background: #fff;
    box-shadow: 0 4px 18px rgba(0,0,0,0.10);
    margin-bottom: 20px;
}
table.tablelist.theme-responsive-table thead tr.tablelistheadsec {
    background: linear-gradient(135deg, #346699 0%, #2a5298 50%, #1e3c72 100%);
}
table.tablelist.theme-responsive-table thead tr.tablelistheadsec th {
    background: transparent !important;
    color: #fff !important;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 11px 12px;
    border: none;
    white-space: nowrap;
}
table.tablelist.theme-responsive-table thead tr.tablelistheadsec th a {
    color: #fff !important;
    text-decoration: none;
}
table.tablelist.theme-responsive-table thead tr.tablelistheadsec th a:hover {
    color: #FFD700 !important;
    text-decoration: none;
}
table.tablelist.theme-responsive-table tbody tr.phpjob_listbgcolor1 {
    background: #fff;
}
table.tablelist.theme-responsive-table tbody tr.phpjob_listbgcolor2 {
    background: #f7f9fc;
}
table.tablelist.theme-responsive-table tbody tr.phpjob_listfeatured {
    background: #fffbea;
    border-left: 3px solid #f0a500;
}
table.tablelist.theme-responsive-table tbody tr:hover {
    background: #e8f0fe !important;
}
table.tablelist.theme-responsive-table td {
    padding: 9px 12px;
    font-size: 13px;
    color: #333;
    border-bottom: 1px solid #eef2f7;
    vertical-align: middle;
}
table.tablelist.theme-responsive-table tbody tr:last-child td {
    border-bottom: none;
}
table.tablelist.theme-responsive-table td a {
    color: #346699;
    font-weight: 600;
    text-decoration: none;
}
table.tablelist.theme-responsive-table td a:hover {
    color: #1e3c72;
    text-decoration: none;
}
/* Detailed expand row */
table.tablelist.theme-responsive-table tr.tr-detailed td {
    background: #f0f5fa;
    font-size: 12px;
    color: #555;
    border-top: none;
}

/* ============================================================
   Refine Search / Filter section
   ============================================================ */
#filter {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 12px;
}
#filter ul.group {
    display: flex;
    flex-wrap: wrap;
    gap: 0 24px;
    list-style: none;
    padding: 0;
    margin: 0;
}
#filter ul.group > li.col {
    flex: 1 1 220px;
    min-width: 200px;
    max-width: 50%;
    white-space: nowrap;
}
#filter h3 {
    color: #2c5282;
}
#filter h3 a,
#filter h3 a:link,
#filter h3 a:visited {
    color: #2c5282;
    font-weight: 700;
}
#filter h3 a:hover {
    color: #1e3c72;
    text-decoration: none;
}
#filter .col a,
#filter .col a:link,
#filter .col a:visited {
    color: #4a5568;
}
#filter .col a:hover {
    color: #1e3c72;
}
#filter .col span {
    color: #2d3748;
}

/* ============================================================
   Pagination bar — Brief/Detailed toggle & page links
   ============================================================ */
.bx_pagination {
    background: #f7f9fc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 7px 14px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
}
.bx_pagination,
.bx_pagination span,
.bx_pagination strong,
.bx_pagination .pgleft,
.bx_pagination .pgright {
    color: #4a5568 !important;
    font-size: 13px;
}
.bx_pagination strong {
    color: #2c5282 !important;
}
.bx_pagination a,
.bx_pagination a:link,
.bx_pagination a:visited {
    color: #346699 !important;
    font-weight: 600;
}
.bx_pagination a:hover {
    color: #1e3c72 !important;
    text-decoration: none;
}
.bx_pagination a.isubmit,
.bx_pagination a.isubmit:link,
.bx_pagination a.isubmit:visited {
    background: #e2e8f0 !important;
    color: #346699 !important;
    border: 1px solid #cbd5e0 !important;
    border-radius: 4px;
    padding: 4px 10px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}
.bx_pagination a.isubmit:hover {
    background: #346699 !important;
    color: #FFD700 !important;
}
/* View toggle (Brief / Detailed) */
.bx_pagination span.nj-view-label {
    font-size: 12px !important;
    color: #555 !important;
    font-weight: 400 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin-right: 6px;
}
.bx_pagination .nj-view-btn {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 4px 12px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s;
}
.bx_pagination a.nj-view-btn,
.bx_pagination a.nj-view-btn:link,
.bx_pagination a.nj-view-btn:visited {
    background: #e2e8f0 !important;
    color: #4a5568 !important;
    border: 2px solid #346699 !important;
    cursor: pointer;
    margin-left: 6px;
}
.bx_pagination a.nj-view-btn:hover {
    background: #346699 !important;
    color: #FFD700 !important;
    border-color: #346699 !important;
}
.bx_pagination span.nj-view-active {
    background: #346699 !important;
    color: #fff !important;
    border: 2px solid #346699 !important;
    cursor: default;
}
.bx_pagination .pgleft { float: none; }
.bx_pagination .pgright { float: none; }
.bx_pagination ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 2px;
    flex-wrap: wrap;
}
.bx_pagination li {
    display: inline-flex;
}
.bx_pagination li a {
    display: inline-block;
    padding: 3px 9px !important;
    border-radius: 4px;
    color: #346699 !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    border: none !important;
    background: transparent !important;
    transition: background 0.15s, color 0.15s;
}
.bx_pagination li a:hover {
    background: #346699 !important;
    color: #FFD700 !important;
    text-decoration: none !important;
}
.bx_pagination li span {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 4px;
    background: #346699;
    color: #fff !important;
    font-size: 13px;
}
.bx_pagination li span strong {
    color: #fff !important;
    font-weight: 700;
}

/* ============================================================
   Global Link Styles — modern overrides for legacy style.css
   ============================================================ */
a,
a:link,
a:visited {
    color: #346699;
    text-decoration: none;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
}
a:hover {
    color: #1e3c72;
    text-decoration: none;
}
a:active {
    color: #346699;
}

/* ============================================================
   Hero Banner — centered background, consistent with main site
   ============================================================ */
table.top-image-hero {
    width: 100%;
    border-collapse: collapse;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 0;
}
table.top-image-hero td {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}
/* Hide legacy corner decoration images */
table.top-image-hero td > img[src*="i.tl.gif"],
table.top-image-hero td > img[src*="i.tr.gif"] {
    display: none;
}
/* Hide the legacy tab navigation row */
table.top-image-hero tr.theme-hide-on-mobile.hide {
    display: none;
}

/* Hide hero banner image on mobile */
@media only screen and (max-width: 768px) {
    table.top-image-hero {
        display: none !important;
    }
}

/* ============================================================
   Breadcrumb Action Buttons (Share / Save / Print)
   ============================================================ */
.nj-breadcrumb-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.nj-action-btn {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    font-size: 12px;
    font-weight: 600;
    color: #346699 !important;
    background: #e2e8f0;
    border-radius: 5px;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s;
    white-space: nowrap;
}
.nj-action-btn:hover {
    background: #346699;
    color: #fff !important;
}
.nj-action-btn:hover i {
    color: #FFD700 !important;
}
.nj-action-btn i {
    font-size: 13px;
    transition: color 0.15s;
}

/* ============================================================
   Apply Online Now Button
   ============================================================ */
a.apply-online,
a.apply-online:link,
a.apply-online:visited {
    display: inline-block;
    padding: 12px 36px;
    font-size: 16px;
    font-weight: 700;
    color: #fff !important;
    background: linear-gradient(135deg, #346699 0%, #2a5298 100%);
    border: none;
    border-radius: 8px;
    text-decoration: none !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background 0.2s, box-shadow 0.2s, transform 0.1s;
    box-shadow: 0 2px 8px rgba(52,102,153,0.25);
}
a.apply-online:hover {
    color: #FFD700 !important;
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    box-shadow: 0 4px 14px rgba(52,102,153,0.35);
    transform: translateY(-1px);
}
a.apply-online:active {
    transform: translateY(0);
    box-shadow: 0 1px 4px rgba(52,102,153,0.2);
}

/* ============================================================
   Bottom Action Bar (Job Detail Page)
   ============================================================ */
.nj-bottom-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 14px 16px;
    margin: 8px 0 0 0;
    background: #f7f9fc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
}
.nj-bottom-actions .nj-action-btn {
    padding: 7px 16px;
    font-size: 13px;
}
@media (max-width: 767px) {
    .nj-breadcrumb-actions {
        display: none;
    }
    .nj-bottom-actions {
        flex-direction: column;
    }
    .nj-bottom-actions .nj-action-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================================
   Left Navigation — collapsible accordion sections
   (matches main site sidebar style)
   ============================================================ */
aside.nav-left {
    background: none !important;
    padding: 0;
    margin: 0;
}
#phpjob_leftsection {
    background-color: transparent !important;
    border-radius: 0 !important;
    min-width: 220px;
    padding: 8px !important;
}
/* Accordion section container */
.left-menu-section {
    background: linear-gradient(135deg, #346699 0%, #2a5298 50%, #1e3c72 100%);
    border-radius: 12px;
    padding: 15px;
    margin-bottom: 16px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}
/* Section header — clickable, with chevron */
.left-menu-section h3 {
    color: white;
    margin: 0 0 12px 0;
    border-bottom: 2px solid rgba(255,255,255,0.2);
    padding-bottom: 8px;
    font-size: 1.1em;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
    transition: color 0.2s ease;
}
.left-menu-section h3 i {
    margin-right: 8px;
    color: white;
    transition: transform 0.2s ease, color 0.2s ease;
}
.left-menu-section h3:hover {
    color: #FFD700 !important;
}
.left-menu-section h3:hover i {
    color: #FFD700 !important;
    transform: scale(1.15);
}
.left-menu-section h3::after {
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "FontAwesome";
    content: "\f078";
    font-weight: 900;
    font-size: 0.7em;
    transition: transform 0.3s ease;
}
.left-menu-section.collapsed h3 {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
}
.left-menu-section.collapsed h3::after {
    transform: rotate(-90deg);
}
/* Collapsible content area */
.menu-content {
    overflow: hidden;
    max-height: 1500px;
    opacity: 1;
    transition: max-height 0.35s ease-in-out, opacity 0.3s ease-in-out;
}
.left-menu-section.collapsed .menu-content {
    max-height: 0 !important;
    opacity: 0;
    pointer-events: none;
    transition: max-height 0.25s cubic-bezier(0, 1, 0, 1), opacity 0.2s ease-out;
}
/* Links inside sections */
.left-menu-link {
    display: flex;
    align-items: center;
    color: rgba(255,255,255,0.9) !important;
    text-decoration: none !important;
    padding: 8px 12px;
    margin-bottom: 5px;
    border-radius: 6px;
    font-size: 0.9em;
    font-weight: 600;
    transition: all 0.2s ease;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.05);
}
.left-menu-link:hover {
    background: rgba(255,255,255,0.15);
    color: white !important;
    transform: translateX(4px);
    border-color: rgba(255,255,255,0.2);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-decoration: none !important;
}
.left-menu-link i {
    width: 20px;
    text-align: center;
    margin-right: 8px;
    color: #ffffff;
    flex-shrink: 0;
    transition: transform 0.2s ease, color 0.2s ease;
}
.left-menu-link:hover i {
    transform: scale(1.1);
    color: #FFD700;
}
/* Legacy ul/li links inside sections (fallback) */
.left-menu-section ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.left-menu-section ul li {
    margin: 0;
    padding: 0;
}
.left-menu-section ul li a {
    display: flex;
    align-items: center;
    color: rgba(255,255,255,0.9) !important;
    text-decoration: none !important;
    padding: 8px 12px;
    margin-bottom: 4px;
    border-radius: 6px;
    font-size: 0.88em;
    font-weight: 600;
    transition: all 0.2s ease;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.05);
}
.left-menu-section ul li a:hover {
    background: rgba(255,255,255,0.15) !important;
    color: #fff !important;
    transform: translateX(4px);
    border-color: rgba(255,255,255,0.2);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}
.left-menu-section ul li a i {
    width: 20px;
    text-align: center;
    margin-right: 8px;
    color: #fff;
    flex-shrink: 0;
    transition: transform 0.2s ease, color 0.2s ease;
}
.left-menu-section ul li a:hover i {
    transform: scale(1.1);
    color: #FFD700;
}
/* Form inputs inside sections */
.left-menu-section table {
    width: 100%;
}
.left-menu-section table td {
    padding: 3px 0;
}
.left-menu-section .itext,
.left-menu-section input[type="text"],
.left-menu-section input[type="password"] {
    width: 100% !important;
    box-sizing: border-box;
    padding: 6px 10px !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 6px !important;
    background: rgba(255,255,255,0.1) !important;
    color: #fff !important;
    font-size: 13px;
}
.left-menu-section .itext:focus,
.left-menu-section input[type="text"]:focus,
.left-menu-section input[type="password"]:focus {
    border-color: #FFD700 !important;
    outline: none;
    box-shadow: 0 0 0 2px rgba(255,215,0,0.2);
}
.left-menu-section select,
.left-menu-section .smallselect {
    width: 100% !important;
    box-sizing: border-box;
    padding: 6px 10px !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    border-radius: 6px !important;
    background: rgba(255,255,255,0.1) !important;
    color: #fff !important;
    font-size: 13px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 10px center !important;
}
.left-menu-section select option {
    background: #2a5298;
    color: #fff;
}
.left-menu-section .isubmit,
.left-menu-section input[type="submit"] {
    background: linear-gradient(135deg, #FFD700 0%, #f0c800 100%);
    color: #1e3c72;
    border: none;
    border-radius: 6px;
    padding: 8px 24px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.left-menu-section .isubmit:hover,
.left-menu-section input[type="submit"]:hover {
    background: linear-gradient(135deg, #ffe033 0%, #FFD700 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(255,215,0,0.3);
}
/* Text and label styling */
.left-menu-section font,
.left-menu-section font.default_text,
.left-menu-section .default_text {
    color: rgba(255,255,255,0.85) !important;
}
.left-menu-section .white,
.left-menu-section strong.white {
    color: rgba(255,255,255,0.85) !important;
    font-size: 13px;
    line-height: 1.5;
}
.left-menu-section label {
    color: rgba(255,255,255,0.85) !important;
}
/* Advanced search link */
.left-menu-section a.featured {
    color: #FFD700 !important;
    font-size: 0.85em;
    text-decoration: none;
    transition: color 0.2s;
}
.left-menu-section a.featured:hover {
    color: #ffe033 !important;
}
/* Override black/dark text classes inside sidebar sections */
.left-menu-section .black,
.left-menu-section strong.black,
.left-menu-section .display_text,
.left-menu-section span.display_text,
.left-menu-section font.display_text {
    color: #FFD700 !important;
    font-size: 1.35em;
    font-weight: 700;
    line-height: 1.2;
}
.left-menu-section .verysmall,
.left-menu-section span.verysmall,
.left-menu-section td.verysmall {
    color: rgba(255,255,255,0.65) !important;
    font-size: 0.72em;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
/* Stat grid — 2×2 layout for account stats */
.nj-stat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.nj-stat-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: rgba(255,255,255,0.07);
    border-radius: 8px;
    padding: 10px 6px;
    border: 1px solid rgba(255,255,255,0.08);
}
.nj-stat-item .verysmall {
    order: 1;
    margin-top: 2px;
}
.nj-stat-item .display_text {
    order: 0;
}
.left-menu-section .color-danger {
    color: #ff6b6b !important;
}

/* Tighter sidebar on laptops / smaller desktops (matches shared sidebar) */
@media (max-width: 2560px) {
    .left-menu-section {
        padding: 8px;
        margin-bottom: 10px;
    }
    .left-menu-section h3 {
        font-size: 0.85em;
        margin-bottom: 6px;
        padding-bottom: 5px;
    }
    .left-menu-link {
        font-size: 0.72em;
        padding: 4px 6px;
        margin-bottom: 2px;
    }
    .left-menu-link i {
        width: 14px;
        margin-right: 4px;
        font-size: 0.85em;
    }
    .jb-sidebar-collapsed .left-menu-link i {
        width: auto;
    }
}

/* ============================================================
   Job Board Sidebar Collapse/Expand Toggle
   ============================================================ */
/* Smooth width transition on the sidebar td */
#phpjob_leftsection {
    transition: width 0.3s ease, min-width 0.3s ease;
}

/* --- Toggle icon (inside first h3) --- */
.jb-sidebar-toggle-icon {
    cursor: pointer;
    color: rgba(255,255,255,0.5);
    font-size: 0.75em;
    padding: 2px 4px;
    border-radius: 4px;
    transition: color 0.2s, background 0.2s;
    margin-left: auto;
    margin-right: 6px;
    flex-shrink: 0;
}
.jb-sidebar-toggle-icon:hover {
    color: #FFD700;
    background: rgba(255,255,255,0.1);
}

/* --- Collapsed sidebar container --- */
#phpjob_leftsection.jb-sidebar-collapsed {
    width: 50px !important;
    min-width: 50px !important;
    max-width: 50px !important;
    overflow: hidden;
}

/* Force table to respect cell widths when collapsed */
#maintable:has(.jb-sidebar-collapsed) {
    table-layout: fixed;
}

/* Collapsed: toggle becomes standalone box above sections */
.jb-sidebar-collapsed .jb-sidebar-first-section {
    position: relative;
    margin-top: 38px;
}
.jb-sidebar-collapsed .jb-sidebar-toggle-icon {
    position: absolute;
    top: -38px;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 8px;
    padding: 6px;
    margin: 0;
    font-size: 0.9em;
    color: rgba(255,255,255,0.7);
}
.jb-sidebar-collapsed .jb-sidebar-toggle-icon:hover {
    background: linear-gradient(135deg, #346699 0%, #2a5298 100%);
    color: #FFD700;
}

/* Collapsed: compact sections */
.jb-sidebar-collapsed .left-menu-section {
    padding: 8px 4px;
    margin-bottom: 8px;
}
.jb-sidebar-collapsed .left-menu-section h3 {
    justify-content: center;
    border-bottom: none;
    margin-bottom: 4px;
    padding-bottom: 0;
}
.jb-sidebar-collapsed .left-menu-section h3 i {
    margin-right: 0;
    color: #FFD700;
}
/* Hide section header text and chevron */
.jb-sidebar-collapsed .jb-section-text {
    display: none;
}
.jb-sidebar-collapsed .left-menu-section h3::after {
    display: none;
}

/* Collapsed: icon-only links */
.jb-sidebar-collapsed .left-menu-link {
    justify-content: center;
    padding: 8px 4px;
}
.jb-sidebar-collapsed .left-menu-link i {
    margin-right: 0;
}
.jb-sidebar-collapsed .left-menu-link:hover {
    transform: none;
}
/* Hide all link text */
.jb-sidebar-collapsed .jb-link-text {
    display: none;
}

/* Hide forms, tables, selects, stats, and misc content in collapsed mode */
.jb-sidebar-collapsed .left-menu-section form,
.jb-sidebar-collapsed .left-menu-section table,
.jb-sidebar-collapsed .left-menu-section select,
.jb-sidebar-collapsed .nj-stat-grid,
.jb-sidebar-collapsed .left-menu-section .white,
.jb-sidebar-collapsed .left-menu-section .black,
.jb-sidebar-collapsed .left-menu-section strong,
.jb-sidebar-collapsed .left-menu-section br,
.jb-sidebar-collapsed .left-menu-section font,
.jb-sidebar-collapsed .left-menu-section .featured,
.jb-sidebar-collapsed .left-menu-section ul {
    display: none !important;
}
/* Hide address/contact spans (have inline display:block that needs !important override) */
.jb-sidebar-collapsed .left-menu-section > .menu-content > span:not(.jb-sidebar-toggle-icon) {
    display: none !important;
}
/* Hide script-generated text inside links (e.g. email obfuscation via document.write) */
.jb-sidebar-collapsed .left-menu-link b,
.jb-sidebar-collapsed .left-menu-link script {
    display: none !important;
}
/* Hide "no featured" fallback text */
.jb-sidebar-collapsed .menu-content > span {
    display: none !important;
}

/* ============================================================
   Current Search — checkbox filters & Apply button
   ============================================================ */
#filter .nj-filter-check {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    cursor: pointer;
    font-size: 13px;
    color: #4a5568;
    transition: color 0.15s;
}
#filter .nj-filter-check input[type="checkbox"] {
    accent-color: #346699;
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
}
#filter .nj-filter-check:hover {
    color: #2c5282;
}
/* Unified filter action bar */
.nj-filter-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0 4px;
    margin-top: 6px;
    border-top: 1px solid #e2e8f0;
}
.nj-filter-apply-btn {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 8px 22px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s, transform 0.1s;
}
.nj-filter-apply-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}
.nj-filter-apply-btn i {
    margin-right: 4px;
}
.nj-filter-reset-link {
    font-size: 12px;
    color: #718096;
    text-decoration: none;
    transition: color 0.15s;
}
.nj-filter-reset-link:hover {
    color: #c53030;
    text-decoration: none;
}
.nj-filter-reset-link i {
    margin-right: 3px;
}
.nj-filter-hint {
    font-size: 11px;
    color: #a0aec0;
    margin: 6px 0 2px;
    padding: 0;
}
.nj-filter-hint i {
    margin-right: 3px;
}
/* Refine Search — checkbox items */
#filter .nj-refine-check {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    cursor: pointer;
    font-size: 13px;
    color: #4a5568;
    transition: color 0.15s;
}
#filter .nj-refine-check input[type="checkbox"] {
    accent-color: #346699;
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
}
#filter .nj-refine-check:hover {
    color: #2c5282;
}
/* Also style checkboxes in the AJAX-loaded refine_full div */
#refine_full .nj-refine-check {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0;
    cursor: pointer;
    font-size: 13px;
    color: #4a5568;
}
#refine_full .nj-refine-check input[type="checkbox"] {
    accent-color: #346699;
    width: 16px;
    height: 16px;
    cursor: pointer;
    flex-shrink: 0;
}
/* More / Less toggle buttons in Refine Search */
#filter a.phpjob_more,
#filter a.phpjob_less,
#refine_full a.phpjob_less {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: linear-gradient(135deg, #e8eef5 0%, #dce4ed 100%);
    color: #346699;
    border: 1px solid #b0c4de;
    border-radius: 20px;
    padding: 5px 16px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 8px;
}
#filter a.phpjob_more:hover,
#filter a.phpjob_less:hover,
#refine_full a.phpjob_less:hover {
    background: linear-gradient(135deg, #346699 0%, #2c5282 100%);
    color: #fff;
    border-color: #346699;
    text-decoration: none;
}
#filter a.phpjob_more i,
#filter a.phpjob_less i,
#refine_full a.phpjob_less i {
    font-size: 11px;
}
.phpjob_liclear {
    list-style: none;
    padding: 4px 0;
}

/* ============================================================
   Login / Register / Forgot Password page styles
   ============================================================ */
.nj-auth-page {
    max-width: 480px;
    margin: 20px auto;
    padding: 0 15px;
}
.nj-auth-page.nj-auth-wide {
    max-width: 900px;
}
.nj-auth-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.06);
    padding: 32px;
    margin-bottom: 24px;
}
.nj-auth-card h2 {
    font-size: 22px;
    font-weight: 700;
    color: #1a202c;
    margin: 0 0 6px;
}
.nj-auth-card .nj-auth-subtitle {
    font-size: 14px;
    color: #718096;
    margin: 0 0 24px;
}
/* Social login buttons */
.nj-social-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 20px;
}
.nj-social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    color: #fff;
    transition: opacity 0.2s, transform 0.15s;
    border: none;
    cursor: pointer;
}
.nj-social-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
    text-decoration: none;
    color: #fff;
}
.nj-social-btn-facebook { background: #1877f2; }
.nj-social-btn-twitter { background: #1da1f2; }
.nj-social-btn-google { background: #ea4335; }
.nj-social-btn i {
    font-size: 18px;
    width: 20px;
    text-align: center;
}
/* Divider */
.nj-auth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
    color: #a0aec0;
    font-size: 13px;
}
.nj-auth-divider::before,
.nj-auth-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e2e8f0;
}
/* Form fields */
.nj-auth-field {
    margin-bottom: 16px;
}
.nj-auth-field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #4a5568;
    margin-bottom: 5px;
}
.nj-auth-field input[type="text"],
.nj-auth-field input[type="password"],
.nj-auth-field input[type="email"],
.nj-auth-field select,
.nj-auth-field textarea {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #cbd5e0;
    border-radius: 8px;
    font-size: 14px;
    color: #2d3748;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
}
.nj-auth-field input:focus,
.nj-auth-field select:focus,
.nj-auth-field textarea:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
}
.nj-auth-field .nj-field-error {
    color: #e53e3e;
    font-size: 12px;
    margin-top: 4px;
}
.nj-auth-field .nj-field-hint {
    color: #a0aec0;
    font-size: 12px;
    margin-top: 4px;
}
/* Checkbox row */
.nj-auth-check {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    font-size: 13px;
    color: #4a5568;
}
.nj-auth-check input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #346699;
}
/* Submit button */
.nj-auth-submit {
    width: 100%;
    padding: 12px 20px;
    background: linear-gradient(135deg, #346699 0%, #2a5298 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.nj-auth-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(52,102,153,0.3);
}
/* Inline actions row */
.nj-auth-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
/* Links footer */
.nj-auth-footer {
    text-align: center;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
    font-size: 14px;
    color: #718096;
}
.nj-auth-footer a {
    color: #346699;
    font-weight: 600;
    text-decoration: none;
}
.nj-auth-footer a:hover {
    color: #2a5298;
    text-decoration: underline;
}
/* Info card (for employer marketing, help sections) */
.nj-info-card {
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 20px;
}
.nj-info-card h3 {
    font-size: 17px;
    font-weight: 700;
    color: #1a202c;
    margin: 0 0 12px;
}
.nj-info-card ul {
    margin: 0;
    padding-left: 20px;
}
.nj-info-card ul li {
    padding: 4px 0;
    font-size: 14px;
    color: #4a5568;
}
.nj-info-card ul li a {
    color: #346699;
    text-decoration: none;
}
.nj-info-card ul li a:hover {
    text-decoration: underline;
}
/* Two-column layout for employer login */
.nj-auth-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    align-items: start;
}
@media (max-width: 768px) {
    .nj-auth-grid {
        grid-template-columns: 1fr;
    }
}
/* Error highlight */
.nj-auth-field.has-error input,
.nj-auth-field.has-error select,
.nj-auth-field.has-error textarea {
    border-color: #e53e3e;
    box-shadow: 0 0 0 3px rgba(229,62,62,0.1);
}
/* Section headers within forms */
.nj-auth-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #346699;
    margin: 24px 0 12px;
    padding-bottom: 8px;
    border-bottom: 2px solid #e2e8f0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.nj-auth-section-title:first-child {
    margin-top: 0;
}
.nj-auth-section-title i {
    color: #346699;
}

/* ============================================================
   Form modernization — signup/register/edit forms
   (CSS-only overrides for existing table-based markup)
   ============================================================ */

/* Wrap the form table in a card-like appearance */
#idjsignup,
#idjobseeker,
#idpersonal,
#idcompany,
#ideaccountfrm {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.06);
    padding: 24px 28px;
    border-collapse: separate;
    border-spacing: 0 4px;
}
#idjsignup td,
#idjobseeker td,
#idpersonal td,
#idcompany td,
#ideaccountfrm td {
    padding: 5px 6px;
    font-size: 14px;
    color: #2d3748;
    vertical-align: middle;
}
/* Section separator headers */
.bx_jsecseparator,
.bx_esecseparator {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #346699 !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding-bottom: 8px !important;
    margin: 16px 0 8px !important;
}
/* Error message box */
.verror_top {
    background-color: #fff5f5 !important;
    border: 1px solid #feb2b2 !important;
    border-radius: 8px !important;
    padding: 16px !important;
    margin-bottom: 16px !important;
    color: #c53030 !important;
}
.verror_top p {
    background-color: #e53e3e !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    margin: 0 0 10px !important;
    font-size: 14px !important;
}
.verror_top ul {
    margin: 0 !important;
    padding-left: 20px !important;
}
.verror_top li {
    padding: 3px 0 !important;
    font-size: 13px !important;
    color: #c53030 !important;
}
/* Form field labels */
#idjsignup .default_text strong,
#idjobseeker .default_text strong,
#idpersonal .default_text strong,
#idcompany .default_text strong,
#ideaccountfrm .default_text strong {
    font-size: 13px;
    color: #4a5568;
}
#idjsignup .error_text strong,
#idjobseeker .error_text strong,
#idpersonal .error_text strong,
#idcompany .error_text strong,
#ideaccountfrm .error_text strong {
    color: #e53e3e;
}
/* Text inputs, selects, textareas inside forms */
#idjsignup .itext,
#idjsignup textarea,
#idjsignup select,
#idjobseeker .itext,
#idjobseeker textarea,
#idjobseeker select,
#idpersonal .itext,
#idpersonal textarea,
#idpersonal select,
#idcompany .itext,
#idcompany textarea,
#idcompany select,
#ideaccountfrm .itext,
#ideaccountfrm textarea,
#ideaccountfrm select,
.frmfieldset .itext,
.frmfieldset textarea,
.frmfieldset select {
    padding: 9px 12px;
    border: 1px solid #cbd5e0;
    border-radius: 8px;
    font-size: 14px;
    color: #2d3748;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    box-sizing: border-box;
    max-width: 100%;
}
#idjsignup .itext:focus,
#idjsignup textarea:focus,
#idjsignup select:focus,
#idjobseeker .itext:focus,
#idjobseeker textarea:focus,
#idjobseeker select:focus,
#idpersonal .itext:focus,
#idpersonal textarea:focus,
#idpersonal select:focus,
#idcompany .itext:focus,
#idcompany textarea:focus,
#idcompany select:focus,
#ideaccountfrm .itext:focus,
#ideaccountfrm textarea:focus,
#ideaccountfrm select:focus,
.frmfieldset .itext:focus,
.frmfieldset textarea:focus,
.frmfieldset select:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
}
/* Submit/Reset buttons in forms */
#idjsignup .isubmit,
#idjobseeker .isubmit,
#idpersonal .isubmit,
#idcompany .isubmit,
#ideaccountfrm .isubmit,
.frmfieldset .isubmit {
    padding: 10px 24px;
    background: linear-gradient(135deg, #346699 0%, #2a5298 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.2s;
    margin: 4px;
}
#idjsignup .isubmit:hover,
#idjobseeker .isubmit:hover,
#idpersonal .isubmit:hover,
#idcompany .isubmit:hover,
#ideaccountfrm .isubmit:hover,
.frmfieldset .isubmit:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(52,102,153,0.3);
}
/* Reset button variant */
#idjsignup input[type="reset"].isubmit,
#idcompany input[type="reset"].isubmit,
#ideaccountfrm input[type="reset"].isubmit {
    background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e0 100%);
    color: #4a5568;
}
#idjsignup input[type="reset"].isubmit:hover,
#idcompany input[type="reset"].isubmit:hover,
#ideaccountfrm input[type="reset"].isubmit:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
/* Fieldset modernization (used in login forms and other places) */
fieldset.frmfieldset,
#phpjob_mainsection fieldset {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px 24px;
    margin: 0 0 16px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
fieldset.frmfieldset legend,
#phpjob_mainsection fieldset legend {
    font-size: 15px;
    font-weight: 700;
    color: #346699;
    padding: 0 8px;
}
/* Radio/checkbox styling in forms */
#idjsignup .radio,
#idjobseeker .radio,
#idpersonal .radio,
#idcompany .radio,
#ideaccountfrm .radio {
    accent-color: #346699;
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin-right: 4px;
}
/* Description text */
.desctext {
    text-align: center !important;
    font-size: 14px;
    color: #718096;
    padding: 8px 0 16px;
}
/* Column spacer cleanup */
.col-spacer {
    height: 8px !important;
    font-size: 0 !important;
    line-height: 0 !important;
}
/* Social login buttons (used on old forms) */
.social-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}
.social-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    color: #fff !important;
    transition: opacity 0.2s, transform 0.15s;
}
.social-btn:hover {
    opacity: 0.9;
    transform: translateY(-1px);
    text-decoration: none;
}
.social-btn-facebook { background: #1877f2; }
.social-btn-twitter { background: #1da1f2; }
.social-btn-google { background: #ea4335; }
/* Or separator */
.or-seperator {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 0;
    color: #a0aec0;
    font-size: 13px;
}
.or-seperator::before,
.or-seperator::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #e2e8f0;
}
.or-seperator i {
    font-style: normal;
}
/* Required star */
.error_text {
    color: #e53e3e !important;
    font-weight: 600;
}
/* Jobseeker/employer login form improvements */
.jobseeker-login,
.login-border {
    padding: 8px;
}
.login-padding {
    padding: 8px;
}

/* ============================================================
   Pricing Table (employer_planning_box)
   ============================================================ */
/* ============================================================
   Wide page layout (pricing, info pages without sidebar)
   ============================================================ */
.nj-wide-page {
    max-width: 960px;
    margin: 24px auto;
    padding: 0 16px;
}
.nj-wide-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,.08);
    padding: 32px;
}
.nj-wide-card h2 {
    font-size: 22px;
    font-weight: 700;
    color: #1a202c;
    margin: 0 0 6px;
}
.nj-wide-card .nj-auth-subtitle {
    font-size: 14px;
    color: #718096;
    margin: 0 0 24px;
}
.nj-wide-card .nj-auth-footer {
    font-size: 14px;
    color: #718096;
}
.nj-wide-card .nj-auth-footer a {
    color: #346699 !important;
    font-weight: 600;
    text-decoration: none;
}
.nj-wide-card .nj-auth-footer a:hover {
    text-decoration: underline;
}
@media (max-width: 768px) {
    .nj-wide-page { margin: 12px auto; padding: 0 8px; }
    .nj-wide-card { padding: 18px 14px; }
    .nj-wide-card h2 { font-size: 18px; }
}

.nj-pricing-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.nj-pricing-table thead tr {
    background: linear-gradient(135deg, #346699 0%, #2a5298 50%, #1e3c72 100%);
}
.nj-pricing-table thead th {
    background: transparent;
    color: #fff;
    padding: 12px 10px;
    font-weight: 600;
    text-align: center;
    font-size: 13px;
    white-space: nowrap;
}
.nj-pricing-table thead th:first-child {
    text-align: left;
    border-radius: 8px 0 0 0;
}
.nj-pricing-table thead th:last-child {
    border-radius: 0 8px 0 0;
}
.nj-pricing-table tbody td {
    padding: 10px;
    text-align: center;
    border-bottom: 1px solid #e2e8f0;
    color: #2d3748;
}
.nj-pricing-table tbody td:first-child {
    text-align: left;
    font-weight: 600;
    white-space: nowrap;
}
.nj-pricing-table tbody tr:hover {
    background: #f7fafc;
}
.nj-pricing-table tbody tr:last-child td {
    border-bottom: none;
}
.nj-pricing-table tbody tr:last-child td:first-child {
    border-radius: 0 0 0 8px;
}
.nj-pricing-table tbody tr:last-child td:last-child {
    border-radius: 0 0 8px 0;
}
.nj-addon-card {
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px 24px;
    text-align: center;
    flex: 1;
    min-width: 160px;
}
.nj-addon-label {
    font-weight: 600;
    color: #2d3748;
    margin-bottom: 6px;
    font-size: 14px;
}
.nj-addon-price {
    font-size: 22px;
    font-weight: 700;
    color: #346699;
}

/* ============================================================
   Resume Category Grid
   ============================================================ */
.nj-cat-grid {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}
.nj-cat-column {
    flex: 1;
    min-width: 200px;
}
.nj-cat-item {
    padding: 6px 0;
    border-bottom: 1px solid #f0f0f0;
}
.nj-cat-item a {
    color: #346699;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
}
.nj-cat-item a:hover {
    color: #1a365d;
    text-decoration: underline;
}
.nj-cat-count {
    color: #718096;
    font-weight: 400;
    font-size: 13px;
}
.nj-cat-subcats {
    padding-left: 20px;
    margin-top: 4px;
}
.nj-cat-subcats a {
    display: block;
    font-size: 13px;
    font-weight: 400;
    padding: 2px 0;
    color: #4a5568;
}
.nj-cat-subcats a:hover {
    color: #346699;
}
.nj-cat-select {
    padding: 6px 12px;
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    font-size: 14px;
    color: #2d3748;
    background: #fff;
}

/* ============================================================
   Company List Page
   ============================================================ */
.nj-companies-page {
    max-width: 100%;
}
.nj-company-tabs {
    display: flex;
    gap: 4px;
    margin-bottom: 12px;
    flex-wrap: wrap;
}
.nj-company-tab {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 8px 8px 0 0;
    background: #e2e8f0;
    color: #4a5568;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: background 0.15s, color 0.15s;
}
.nj-company-tab:hover {
    background: #cbd5e0;
    color: #2d3748;
}
.nj-company-tab.active {
    background: #346699;
    color: #fff;
}
.nj-alpha-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 2px;
    margin-bottom: 12px;
    padding: 8px 0;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}
.nj-alpha-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    font-size: 13px;
    font-weight: 600;
    color: #346699;
    text-decoration: none;
    border-radius: 4px;
    transition: background 0.15s;
}
.nj-alpha-letter:hover {
    background: #edf2f7;
}
.nj-alpha-letter.active {
    background: #346699;
    color: #fff;
}
.nj-company-filter {
    margin-bottom: 16px;
    padding: 10px 14px;
    background: #f7fafc;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
}
.nj-no-results {
    text-align: center;
    padding: 40px 20px;
    color: #718096;
    font-size: 15px;
}

/* ============================================================
   Job Board Sidebar — Laptop / smaller desktop tightening
   Matches values from nw_sidebar.php @media (max-width: 1440px)
   ============================================================ */
@media (max-width: 1440px) {
    /* Section containers */
    aside.nav-left .left-menu-section {
        padding: 8px;
        margin-bottom: 10px;
    }
    /* Section headers */
    aside.nav-left .left-menu-section h3 {
        font-size: 0.85em;
        margin-bottom: 6px;
        padding-bottom: 5px;
    }
    aside.nav-left .left-menu-section h3 i {
        margin-right: 4px;
    }
    /* Direct links */
    aside.nav-left .left-menu-link {
        font-size: 0.72em;
        padding: 4px 6px;
        margin-bottom: 2px;
    }
    aside.nav-left .left-menu-link i {
        width: 14px;
        margin-right: 4px;
        font-size: 0.85em;
    }
    /* Legacy ul/li links */
    aside.nav-left .left-menu-section ul li a {
        font-size: 0.72em;
        padding: 4px 6px;
        margin-bottom: 2px;
    }
    aside.nav-left .left-menu-section ul li a i {
        width: 14px;
        margin-right: 4px;
        font-size: 0.85em;
    }
    /* Text inputs & password fields */
    aside.nav-left .left-menu-section .itext,
    aside.nav-left .left-menu-section input[type="text"],
    aside.nav-left .left-menu-section input[type="password"] {
        padding: 4px 6px !important;
        font-size: 11px;
    }
    /* Selects */
    aside.nav-left .left-menu-section select,
    aside.nav-left .left-menu-section .smallselect {
        padding: 4px 6px !important;
        font-size: 11px;
        background-position: right 6px center !important;
    }
    /* Submit buttons */
    aside.nav-left .left-menu-section .isubmit,
    aside.nav-left .left-menu-section input[type="submit"] {
        padding: 5px 14px;
        font-size: 11px;
    }
    /* Labels & text */
    aside.nav-left .left-menu-section font,
    aside.nav-left .left-menu-section .default_text,
    aside.nav-left .left-menu-section label {
        font-size: 0.75em;
    }
    aside.nav-left .left-menu-section .white,
    aside.nav-left .left-menu-section strong.white {
        font-size: 0.72em;
    }
    aside.nav-left .left-menu-section .black,
    aside.nav-left .left-menu-section strong.black,
    aside.nav-left .left-menu-section .display_text,
    aside.nav-left .left-menu-section span.display_text {
        font-size: 0.72em;
    }
    aside.nav-left .left-menu-section .verysmall,
    aside.nav-left .left-menu-section span.verysmall,
    aside.nav-left .left-menu-section td.verysmall {
        font-size: 0.72em;
    }
    /* Advanced search / featured links */
    aside.nav-left .left-menu-section a.featured {
        font-size: 0.72em;
    }
    /* Table cell spacing */
    aside.nav-left .left-menu-section table td {
        padding: 2px 0;
    }
}

/* ============================================================
   Job Board T2 Nav — Dropdown menus
   Follows the same pattern as outage_nav.php dropdowns
   Base .nw-t2-nav styles come from nwmenu.css (already loaded)
   ============================================================ */

/* Ensure sticky width calculation includes padding */
.job-nav {
    box-sizing: border-box;
}

/* Brand as clickable link — override .nw-t2-nav a pill styles */
a.nw-t2-nav-brand.nw-t2-nav-brand {
    color: rgba(255,255,255,0.5) !important;
    font-size: 0.75em !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 4px 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
}
a.nw-t2-nav-brand.nw-t2-nav-brand:hover {
    color: rgba(255,255,255,0.8) !important;
    background: transparent !important;
}

/* Dropdown wrapper */
.job-nav .nav-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* Caret icon on dropdown triggers */
.job-nav .nav-caret {
    font-size: 0.7em;
    margin-left: 3px;
    opacity: 0.6;
    transition: transform 0.2s ease;
}
.job-nav .nav-dropdown:hover .nav-caret {
    transform: rotate(180deg);
    opacity: 1;
}

/* Dropdown menu container */
.job-nav .nav-dropdown-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    min-width: 200px;
    background: linear-gradient(135deg, #1a2a3a 0%, #1e3c72 100%);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.35);
    z-index: 1000;
    padding: 6px 0;
    margin-top: 2px;
}

/* Wide variant for dropdowns with stat rows */
.job-nav .nav-dropdown-menu-wide {
    min-width: 260px;
}

/* Invisible hover bridge so menu stays open */
.job-nav .nav-dropdown::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 10px;
}

/* Show on hover */
.job-nav .nav-dropdown:hover .nav-dropdown-menu {
    display: block;
}

/* Dropdown link items */
.job-nav .nav-dropdown-menu a {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding: 7px 16px !important;
    font-size: 0.82em !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,0.75) !important;
    text-decoration: none !important;
    transition: background 0.15s ease, color 0.15s ease;
    border-radius: 0 !important;
    border: none !important;
    background: transparent !important;
    white-space: nowrap;
}
.job-nav .nav-dropdown-menu a:hover {
    background: rgba(255,255,255,0.12) !important;
    color: #fff !important;
}
.job-nav .nav-dropdown-menu a i {
    width: 16px;
    text-align: center;
    font-size: 0.9em;
    opacity: 0.7;
    flex-shrink: 0;
}
.job-nav .nav-dropdown-menu a:hover i {
    color: #FFD700;
    opacity: 1;
}

/* Separator — optional label */
.job-nav .nav-dropdown-separator {
    border-top: 1px solid rgba(255,255,255,0.1);
    margin: 4px 12px;
    padding-top: 4px;
    font-size: 0.65em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(255,255,255,0.35);
}

/* Static stat row (non-link) */
.job-nav .nav-dropdown-stat {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 16px;
    font-size: 0.78em;
    color: rgba(255,255,255,0.6);
    white-space: nowrap;
}
.job-nav .nav-dropdown-stat i {
    width: 16px;
    text-align: center;
    font-size: 0.9em;
    opacity: 0.5;
    flex-shrink: 0;
}
.job-nav .nav-dropdown-stat strong {
    color: rgba(255,255,255,0.9);
    margin-left: auto;
}

/* Keep dropdown in viewport on left/right edges */
.job-nav .nav-dropdown:first-of-type .nav-dropdown-menu {
    left: 0;
    transform: none;
}
.job-nav .nav-dropdown:last-of-type .nav-dropdown-menu {
    left: auto;
    right: 0;
    transform: none;
}

/* Laptop tightening */
@media (max-width: 1440px) {
    .job-nav .nav-dropdown-menu a {
        padding: 5px 12px !important;
        font-size: 0.76em !important;
    }
    .job-nav .nav-dropdown-stat {
        padding: 3px 12px;
        font-size: 0.72em;
    }
    .job-nav .nav-dropdown-menu {
        min-width: 180px;
    }
    .job-nav .nav-dropdown-menu-wide {
        min-width: 230px;
    }
}

/* Mobile */
@media (max-width: 768px) {
    .job-nav .nav-dropdown-menu {
        min-width: 170px;
    }
    .job-nav .nav-dropdown-menu a {
        padding: 6px 12px !important;
        font-size: 0.75em !important;
    }
}

/* ============================================================
   Jobseeker Resume Form — Modern Card Styling
   Scoped to .nj-resume-form / #idresumefrm
   ============================================================ */

/* Outer card wrapper */
.nj-resume-form {
    background: #fff;
    border-radius: 10px;
    padding: 24px 28px;
    margin: 0 auto 20px auto;
    max-width: 100%;
    box-shadow: 0 4px 18px rgba(0,0,0,0.10);
    box-sizing: border-box;
    overflow: hidden;
}

/* Table reset — remove legacy table grid, add spacing */
#idresumefrm {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}
#idresumefrm td {
    padding: 6px 8px;
    vertical-align: top;
    font-size: 14px;
    line-height: 1.6;
    color: #4a5568;
    font-family: inherit;
}
#idresumefrm > tbody > tr > td {
    padding: 8px 10px;
}

/* Labels — bold, consistent color */
#idresumefrm .default_text,
#idresumefrm .default_text strong,
#idresumefrm td > strong,
#idresumefrm td > span > strong {
    color: #2d3748;
    font-weight: 600;
    font-size: 14px;
    font-family: inherit;
}

/* Hint text */
#idresumefrm .verysmall {
    font-size: 12px;
    color: #718096;
    font-family: inherit;
    line-height: 1.5;
}

/* Error text */
#idresumefrm .error_text,
#idresumefrm .error_text strong {
    color: #c53030;
    font-weight: 600;
}

/* ---- Error banner ---- */
.nj-resume-form .verror_top {
    background: #fff5f5;
    border: 1px solid #feb2b2;
    border-left: 4px solid #c53030;
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 18px;
    color: #742a2a;
    font-size: 14px;
}
.nj-resume-form .verror_top p {
    margin: 0 0 8px 0;
    font-weight: 700;
    font-size: 14px;
    color: #c53030;
}
.nj-resume-form .verror_top ul.error_text {
    margin: 0;
    padding-left: 20px;
    color: #742a2a;
    font-weight: 500;
}
.nj-resume-form .verror_top ul.error_text li {
    margin-bottom: 4px;
    font-size: 13px;
}

/* ---- Fieldsets (Resume, Skills, Work Experience, Education) ---- */
#idresumefrm fieldset {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    position: relative;
    padding: 52px 16px 16px 16px;
    margin: 10px 0 16px 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    transition: box-shadow 0.2s ease;
}
#idresumefrm fieldset:hover {
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
#idresumefrm fieldset legend {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 8px 8px 0 0;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}
#idresumefrm fieldset legend strong,
#idresumefrm fieldset legend b,
#idresumefrm fieldset legend span {
    color: #fff !important;
    font-size: 0.9rem;
}
#idresumefrm fieldset legend .error_text,
#idresumefrm fieldset legend .error_text strong {
    color: #FFD700 !important;
}
#idresumefrm fieldset legend .default_text,
#idresumefrm fieldset legend .default_text strong {
    color: #fff !important;
}

/* ---- Text inputs ---- */
#idresumefrm input.itext,
#idresumefrm input[type="text"] {
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 7px 12px;
    font-size: 14px;
    font-family: inherit;
    color: #2d3748;
    background: #f7fafc;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}
#idresumefrm input.itext:focus,
#idresumefrm input[type="text"]:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
    background: #fff;
}
/* Summary field — wider */
#idresumefrm input.itext[name="summary"] {
    width: 100%;
    max-width: 600px;
}

/* ---- Textareas ---- */
#idresumefrm textarea {
    width: 100%;
    min-height: 140px;
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 14px;
    font-family: inherit;
    color: #2d3748;
    background: #f7fafc;
    box-sizing: border-box;
    resize: vertical;
    line-height: 1.6;
    transition: border-color 0.2s, box-shadow 0.2s;
}
#idresumefrm textarea:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
    background: #fff;
}
/* Skills textarea — shorter */
#idresumefrm textarea[name="skills"] {
    min-height: 100px;
}

/* ---- Select dropdowns ---- */
#idresumefrm select {
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 13px;
    font-family: inherit;
    color: #2d3748;
    background: #f7fafc;
    transition: border-color 0.2s, box-shadow 0.2s;
}
#idresumefrm select:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
}
#idresumefrm select[multiple] {
    min-height: 80px;
    resize: vertical;
}
/* Category delimiter options */
#idresumefrm select option.selectdelim {
    color: #718096;
    font-style: italic;
    background: #f0f0f0;
}

/* ---- File upload ---- */
#idresumefrm input[type="file"] {
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 13px;
    font-family: inherit;
    color: #4a5568;
    background: #f7fafc;
    cursor: pointer;
}
#idresumefrm input[type="file"]:hover {
    border-color: #346699;
}

/* Upload searchability warning */
.nj-upload-warning {
    background: #fff5f5;
    border: 1px solid #feb2b2;
    border-left: 4px solid #c53030;
    border-radius: 6px;
    padding: 10px 14px;
    margin-top: 10px;
    font-size: 13px;
    line-height: 1.5;
    color: #742a2a;
}
.nj-upload-warning i.fa-bullhorn {
    color: #c53030;
    margin-right: 4px;
    font-size: 14px;
}
.nj-upload-warning strong {
    color: #c53030;
}

/* Upload status indicator */
.nj-upload-status {
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    padding: 8px 14px;
    font-size: 13px;
    color: #4a5568;
    margin-top: 4px;
}
.nj-upload-status i {
    margin-right: 4px;
}
.nj-upload-status strong {
    color: #2d3748;
}

/* Icon styling inside form labels */
#idresumefrm td > i.fa,
#idresumefrm td > span > i.fa,
#idresumefrm fieldset legend i.fa {
    color: inherit;
    margin-right: 4px;
    opacity: 0.85;
    transition: color 0.2s, transform 0.2s;
}
#idresumefrm fieldset:hover > legend i.fa {
    color: #FFD700 !important;
    transform: scale(1.15);
}

/* ---- Checkboxes & radios ---- */
#idresumefrm input[type="checkbox"],
#idresumefrm input[type="radio"] {
    cursor: pointer;
    accent-color: #346699;
    margin-right: 4px;
    transform: scale(1.1);
}
#idresumefrm label {
    cursor: pointer;
    color: #4a5568;
    font-size: 14px;
}

/* ---- Training checkbox grid ---- */
#idresumefrm .grid.tiny-gutters {
    gap: 6px 0;
}
#idresumefrm .grid.tiny-gutters .unit.w-1-3 {
    padding: 4px 8px;
    font-size: 13px;
    color: #4a5568;
}
#idresumefrm .grid.tiny-gutters .unit.whole {
    padding: 6px 8px;
    font-size: 13px;
}

/* ---- Preferred locations table ---- */
#idresumefrm table.pref-locations td {
    padding: 4px 6px;
}
#idresumefrm table.pref-locations select {
    min-width: 200px;
}

/* ---- Salary row ---- */
#idresumefrm td.salary {
    white-space: nowrap;
}
#idresumefrm td.salary input.itext {
    width: 100px;
}

/* ---- Buttons ---- */
#idresumefrm .isubmit,
.nj-resume-form .isubmit {
    display: inline-block;
    padding: 9px 24px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0 4px;
}
/* Cancel / secondary */
#idresumefrm input.isubmit[name="btnCancel"],
.nj-resume-form input.isubmit[name="btnCancel"] {
    background: #e2e8f0;
    color: #4a5568;
}
#idresumefrm input.isubmit[name="btnCancel"]:hover,
.nj-resume-form input.isubmit[name="btnCancel"]:hover {
    background: #cbd5e0;
    color: #2d3748;
}
/* Save / primary */
#idresumefrm input.isubmit[name="btnSave"],
.nj-resume-form input.isubmit[name="btnSave"] {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
    box-shadow: 0 2px 6px rgba(52,102,153,0.2);
}
#idresumefrm input.isubmit[name="btnSave"]:hover,
.nj-resume-form input.isubmit[name="btnSave"]:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    box-shadow: 0 4px 12px rgba(52,102,153,0.3);
    transform: translateY(-1px);
    color: #FFD700;
}
/* Delete — red accent */
#idresumefrm input.isubmit[name="btnDelete"],
.nj-resume-form input.isubmit[name="btnDelete"] {
    background: #e53e3e;
    color: #fff;
}
#idresumefrm input.isubmit[name="btnDelete"]:hover,
.nj-resume-form input.isubmit[name="btnDelete"]:hover {
    background: #c53030;
    box-shadow: 0 2px 8px rgba(197,48,48,0.3);
    transform: translateY(-1px);
}
/* Preview — secondary style */
#idresumefrm input.isubmit[name="print_resume"],
.nj-resume-form input.isubmit[name="print_resume"] {
    background: #e2e8f0;
    color: #346699;
}
#idresumefrm input.isubmit[name="print_resume"]:hover,
.nj-resume-form input.isubmit[name="print_resume"]:hover {
    background: #346699;
    color: #fff;
}
/* Button row spacing */
#idresumefrm > tbody > tr:last-child > td {
    padding-top: 16px;
}

/* ---- Required star ---- */
.nj-resume-form .required_star,
#idresumefrm .required_star {
    color: #c53030;
    font-weight: 700;
}

/* ---- Confirm dialog link styling ---- */
#idresumefrm a.confirm-dialog {
    color: #e53e3e !important;
    font-weight: 600;
    font-size: 13px;
}
#idresumefrm a.confirm-dialog:hover {
    color: #c53030 !important;
}

/* ---- Resume expire reactivation notice ---- */
#idresumefrm .error_text strong {
    font-size: 14px;
}

/* ---- Responsive ---- */
@media only screen and (max-width: 768px) {
    .nj-resume-form {
        padding: 14px 12px;
        border-radius: 8px;
    }
    #idresumefrm td {
        display: block;
        width: 100% !important;
        padding: 4px 6px;
    }
    #idresumefrm > tbody > tr > td[width="24%"],
    #idresumefrm > tbody > tr > td[width="20%"],
    #idresumefrm > tbody > tr > td[width="25%"] {
        width: 100% !important;
        padding-bottom: 2px;
    }
    #idresumefrm > tbody > tr > td[colspan] {
        width: 100% !important;
    }
    #idresumefrm input.itext,
    #idresumefrm input[type="text"] {
        width: 100%;
        max-width: 100%;
    }
    #idresumefrm textarea {
        min-height: 120px;
    }
    #idresumefrm select {
        width: 100%;
        max-width: 100%;
    }
    #idresumefrm fieldset {
        padding: 46px 10px 12px 10px;
    }
    #idresumefrm fieldset legend {
        font-size: 0.82rem;
        padding: 8px 12px;
    }
    /* Stack buttons vertically */
    #idresumefrm > tbody > tr:last-child > td,
    #idresumefrm > tbody > tr:nth-last-child(1) > td {
        text-align: center !important;
    }
    #idresumefrm .isubmit {
        display: block;
        width: 100%;
        margin: 4px 0;
        box-sizing: border-box;
    }
    /* Training grid — 2 col on tablet, 1 col on phone */
    #idresumefrm .grid.tiny-gutters .unit.w-1-3 {
        width: 100% !important;
    }
    /* Preferred locations */
    #idresumefrm table.pref-locations td {
        display: block;
        width: 100% !important;
        text-align: left !important;
    }
    #idresumefrm table.pref-locations select {
        width: 100%;
        min-width: unset;
    }
}

/* Laptop responsive */
@media only screen and (max-width: 1440px) {
    .nj-resume-form {
        padding: 18px 20px;
    }
    #idresumefrm td,
    #idjseekregister td {
        font-size: 13px;
    }
    #idresumefrm .isubmit,
    #idjseekregister .isubmit {
        padding: 8px 18px;
        font-size: 13px;
    }
}

/* ============================================================
   Contact Info / Registration Form (#idjseekregister)
   Shares .nj-resume-form wrapper with resume form
   ============================================================ */

/* Table reset */
#idjseekregister {
    border-collapse: separate;
    border-spacing: 0;
}
#idjseekregister td {
    padding: 6px 8px;
    vertical-align: top;
    font-size: 14px;
    line-height: 1.6;
    color: #4a5568;
    font-family: inherit;
}
#idjseekregister > tbody > tr > td {
    padding: 8px 10px;
}

/* Description text at top */
#idjseekregister .desctext {
    font-size: 14px;
    color: #4a5568;
    padding: 8px 10px 12px 10px;
    line-height: 1.6;
}

/* Section separator headers */
.nj-resume-form .bx_jsecseparator,
.nj-resume-form .bx_esecseparator,
#idjseekregister .bx_jsecseparator,
#idcompanyfrm .bx_esecseparator,
#ideaccountfrm .bx_esecseparator {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%) !important;
    color: #fff !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    margin: 16px 0 12px !important;
    border-bottom: none !important;
    display: flex;
    align-items: center;
    gap: 8px;
}
.nj-resume-form .bx_jsecseparator i,
.nj-resume-form .bx_esecseparator i,
#idjseekregister .bx_jsecseparator i,
#idcompanyfrm .bx_esecseparator i {
    color: #fff;
    transition: transform 0.2s ease, color 0.2s ease;
}
.nj-resume-form .bx_jsecseparator:hover i,
.nj-resume-form .bx_esecseparator:hover i {
    color: #FFD700;
    transform: scale(1.15);
}

/* Spacer rows — reduce clutter */
#idjseekregister td.col-spacer {
    padding: 2px 0 !important;
    line-height: 0.5;
}

/* Labels */
#idjseekregister .default_text,
#idjseekregister .default_text strong,
#idjseekregister td > strong,
#idjseekregister td > span > strong {
    color: #2d3748;
    font-weight: 600;
    font-size: 14px;
    font-family: inherit;
}

/* Error text */
#idjseekregister .error_text,
#idjseekregister .error_text strong {
    color: #c53030;
    font-weight: 600;
}

/* Text inputs */
#idjseekregister input.itext,
#idjseekregister input[type="text"],
#idjseekregister input[type="password"] {
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 7px 12px;
    font-size: 14px;
    font-family: inherit;
    color: #2d3748;
    background: #f7fafc;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}
#idjseekregister input.itext:focus,
#idjseekregister input[type="text"]:focus,
#idjseekregister input[type="password"]:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
    background: #fff;
}

/* Textareas (address) */
#idjseekregister textarea {
    width: 100%;
    max-width: 400px;
    min-height: 80px;
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 14px;
    font-family: inherit;
    color: #2d3748;
    background: #f7fafc;
    box-sizing: border-box;
    resize: vertical;
    line-height: 1.5;
    transition: border-color 0.2s, box-shadow 0.2s;
}
#idjseekregister textarea:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
    background: #fff;
}

/* Selects */
#idjseekregister select {
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 13px;
    font-family: inherit;
    color: #2d3748;
    background: #f7fafc;
    transition: border-color 0.2s, box-shadow 0.2s;
}
#idjseekregister select:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
}

/* Checkboxes & radios */
#idjseekregister input[type="checkbox"],
#idjseekregister input[type="radio"] {
    cursor: pointer;
    accent-color: #346699;
    margin-right: 4px;
    transform: scale(1.1);
}
#idjseekregister label {
    cursor: pointer;
    color: #4a5568;
    font-size: 14px;
}

/* Hear About section */
#idjseekregister #phpjob_hearabout {
    padding: 8px 0;
}
#idjseekregister #phpjob_hearabout .rowleft {
    padding: 4px 0;
}

/* Buttons — reuse resume form button styles */
#idjseekregister .isubmit,
.nj-personal-form .isubmit {
    display: inline-block;
    padding: 9px 24px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0 4px;
}
/* Reset — secondary */
#idjseekregister input.isubmit[name="btnReset"],
.nj-personal-form input.isubmit[name="btnReset"] {
    background: #e2e8f0;
    color: #4a5568;
}
#idjseekregister input.isubmit[name="btnReset"]:hover,
.nj-personal-form input.isubmit[name="btnReset"]:hover {
    background: #cbd5e0;
    color: #2d3748;
}
/* Save — primary */
#idjseekregister input.isubmit[name="btnSave"],
.nj-personal-form input.isubmit[name="btnSave"] {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
    box-shadow: 0 2px 6px rgba(52,102,153,0.2);
}
#idjseekregister input.isubmit[name="btnSave"]:hover,
.nj-personal-form input.isubmit[name="btnSave"]:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    box-shadow: 0 4px 12px rgba(52,102,153,0.3);
    transform: translateY(-1px);
    color: #FFD700;
}

/* Responsive */
@media only screen and (max-width: 768px) {
    #idjseekregister td {
        display: block;
        width: 100% !important;
        padding: 4px 6px;
    }
    #idjseekregister > tbody > tr > td[width="25%"],
    #idjseekregister > tbody > tr > td[width="45%"],
    #idjseekregister > tbody > tr > td[width="30%"] {
        width: 100% !important;
    }
    #idjseekregister input.itext,
    #idjseekregister input[type="text"],
    #idjseekregister input[type="password"] {
        width: 100%;
        max-width: 100%;
    }
    #idjseekregister textarea {
        max-width: 100%;
    }
    #idjseekregister select {
        width: 100%;
    }
    #idjseekregister .isubmit {
        display: block;
        width: 100%;
        margin: 4px 0;
        box-sizing: border-box;
    }
}

/* ============================================================
   Resume Preview (#idrespreview)
   ============================================================ */
#idrespreview {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}
#idrespreview td {
    padding: 8px 12px;
    vertical-align: top;
    font-size: 14px;
    line-height: 1.6;
    color: #4a5568;
    font-family: inherit;
    border-bottom: 1px solid #f0f0f0;
}
#idrespreview > tbody > tr > td:first-child {
    width: 25%;
    font-weight: 600;
    color: #2d3748;
    white-space: nowrap;
}
#idrespreview td.view,
#idrespreview .view {
    color: #1a1a1a;
}
#idrespreview .td4textarea {
    white-space: pre-wrap;
    line-height: 1.6;
}
/* Section separators inside preview */
#idrespreview .bx_jsecseparator {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 8px;
    margin: 8px 0;
    display: flex;
    align-items: center;
}
@media only screen and (max-width: 768px) {
    #idrespreview td {
        display: block;
        width: 100% !important;
        padding: 4px 8px;
    }
    #idrespreview > tbody > tr > td:first-child {
        width: 100% !important;
        padding-bottom: 2px;
    }
}

/* ============================================================
   Job Alert Form (#idjobmailfrm)
   ============================================================ */
#idjobmailfrm {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}
#idjobmailfrm td {
    padding: 8px 10px;
    vertical-align: top;
    font-size: 14px;
    line-height: 1.6;
    color: #4a5568;
    font-family: inherit;
}
#idjobmailfrm td strong {
    color: #2d3748;
    font-weight: 600;
}
#idjobmailfrm select {
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 6px 10px;
    font-size: 13px;
    font-family: inherit;
    color: #2d3748;
    background: #f7fafc;
    transition: border-color 0.2s, box-shadow 0.2s;
}
#idjobmailfrm select:focus {
    outline: none;
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
}
#idjobmailfrm select[multiple] {
    min-height: 100px;
    resize: vertical;
}
#idjobmailfrm input[type="checkbox"],
#idjobmailfrm input[type="radio"] {
    cursor: pointer;
    accent-color: #346699;
    margin-right: 4px;
    transform: scale(1.1);
}
#idjobmailfrm .isubmit {
    display: inline-block;
    padding: 9px 24px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
    box-shadow: 0 2px 6px rgba(52,102,153,0.2);
}
#idjobmailfrm .isubmit:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    box-shadow: 0 4px 12px rgba(52,102,153,0.3);
    transform: translateY(-1px);
    color: #FFD700;
}
@media only screen and (max-width: 768px) {
    #idjobmailfrm td {
        display: block;
        width: 100% !important;
        padding: 4px 6px;
    }
    #idjobmailfrm select {
        width: 100%;
    }
}

/* ============================================================
   Inbox / Messages Tab Navigation
   (the <ul> at bottom of inbox pages with Inbox | Applications | etc.)
   ============================================================ */
.nj-resume-form > ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
    list-style: none;
    margin: 16px 0 8px 0;
    padding: 10px 16px;
    background: #f7f9fc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    font-size: 13px;
}
.nj-resume-form > ul li {
    display: inline-flex;
    align-items: center;
}
.nj-resume-form > ul li.sep {
    color: #cbd5e0;
    margin: 0 4px;
}
.nj-resume-form > ul li a,
.nj-resume-form > ul li a:link,
.nj-resume-form > ul li a:visited {
    color: #346699 !important;
    font-weight: 600;
    text-decoration: none !important;
    padding: 4px 10px;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
}
.nj-resume-form > ul li a:hover {
    background: #346699;
    color: #FFD700 !important;
}
.nj-resume-form > ul li strong {
    color: #fff;
    background: #346699;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 13px;
}

/* ============================================================
   Empty State / No Results (#bxerror inside card)
   ============================================================ */
.nj-resume-form #bxerror {
    text-align: center;
    padding: 40px 20px !important;
    color: #718096;
    font-size: 15px;
    background: #f7f9fc !important;
    border: 1px dashed #cbd5e0 !important;
    border-radius: 12px !important;
    margin: 16px 0 !important;
    border-left: 1px dashed #cbd5e0 !important;
}
.nj-resume-form #bxerror::before {
    content: "\f07c";
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "FontAwesome";
    font-weight: 900;
    display: block;
    font-size: 2.5em;
    color: #a0aec0;
    margin-bottom: 12px;
}
.nj-resume-form #bxerror p {
    margin: 0 !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}
.nj-resume-form #bxerror span {
    color: #4a5568 !important;
    font-weight: 600;
    font-size: 15px;
    background: none !important;
    border: none !important;
    padding: 0 !important;
}
.nj-resume-form #bxerror img {
    display: none;
}

/* ============================================================
   Standalone Error Page (.nj-error-card)
   ============================================================ */
.nj-error-card {
    max-width: 600px;
    margin: 30px auto;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 40px 30px;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}
.nj-error-icon {
    font-size: 48px;
    color: #e53e3e;
    margin-bottom: 16px;
}
.nj-error-message {
    font-size: 16px;
    font-weight: 600;
    color: #c53030;
    margin-bottom: 12px;
    line-height: 1.5;
}
.nj-error-reason {
    font-size: 14px;
    color: #4a5568;
    margin-bottom: 12px;
    line-height: 1.6;
}
.nj-error-help {
    font-size: 14px;
    color: #718096;
    margin-bottom: 24px;
    line-height: 1.5;
}
.nj-error-card .isubmit {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 10px 28px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}
.nj-error-card .isubmit:hover {
    background: linear-gradient(135deg, #346699 0%, #3d7ab5 100%);
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(44,82,130,0.3);
}

/* ============================================================
   Delete Account Confirmation Styling
   ============================================================ */
.nj-resume-form p {
    font-size: 14px;
    line-height: 1.7;
    color: #4a5568;
    margin: 12px 0;
}
.nj-resume-form p strong {
    color: #c53030;
}
.nj-resume-form .centered {
    text-align: center;
    padding: 12px 0;
}
/* Yes/No buttons on delete confirm */
.nj-resume-form .centered .isubmit[name="yes"] {
    background: #e53e3e;
    color: #fff;
    padding: 9px 28px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.nj-resume-form .centered .isubmit[name="yes"]:hover {
    background: #c53030;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(197,48,48,0.3);
}
.nj-resume-form .centered .isubmit[name="no"] {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
    padding: 9px 28px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.nj-resume-form .centered .isubmit[name="no"]:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    transform: translateY(-1px);
    color: #FFD700;
}

/* ============================================================
   Unsubscribe button (jobmail)
   ============================================================ */
.nj-resume-form .centered .isubmit[name="unsubscribe"] {
    background: #e53e3e;
    color: #fff;
    padding: 9px 24px;
    font-size: 14px;
    font-weight: 600;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.nj-resume-form .centered .isubmit[name="unsubscribe"]:hover {
    background: #c53030;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(197,48,48,0.3);
}

/* ============================================================
   Generic .isubmit inside .nj-resume-form (Go Back, Close, etc.)
   ============================================================ */
.nj-resume-form .isubmit {
    display: inline-block;
    padding: 9px 24px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
    box-shadow: 0 2px 6px rgba(52,102,153,0.2);
}
.nj-resume-form .isubmit:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    box-shadow: 0 4px 12px rgba(52,102,153,0.3);
    transform: translateY(-1px);
    color: #FFD700;
}

/* ============================================================
   Confirm Dialog Modal — Modern Override
   Overrides legacy theme2020 modal styles
   ============================================================ */
.modal-def-confirm .modal-dialog {
    background: #fff;
    border: none;
    border-radius: 12px;
    box-shadow: 0 20px 60px rgba(0,0,0,0.25), 0 0 0 1px rgba(0,0,0,0.05);
    width: 420px;
    max-width: 90vw;
    padding: 0;
    overflow: hidden;
}
.modal-def-confirm .modal-header {
    background: linear-gradient(135deg, #c53030 0%, #e53e3e 100%);
    padding: 12px 16px;
    position: relative;
}
.modal-def-confirm .modal-header .btn-close {
    position: absolute;
    right: 10px;
    top: 10px;
    opacity: 0.8;
    filter: brightness(0) invert(1);
    transition: opacity 0.2s;
}
.modal-def-confirm .modal-header .btn-close:hover {
    opacity: 1;
}
.modal-def-confirm .modal-body {
    padding: 24px 28px;
    margin: 0;
    font-size: 1em;
}
.modal-def-confirm .modal-body .content h4 {
    font-size: 15px;
    font-weight: 500;
    color: #2d3748;
    line-height: 1.6;
    margin: 0 0 20px 0;
    text-align: center;
}
.modal-def-confirm .confirm-button-block {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding-top: 4px;
}
.modal-def-confirm .confirm-button-block .isubmit {
    display: inline-block;
    padding: 10px 28px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    margin: 0;
}
/* YES button — red (destructive) */
.modal-def-confirm .confirm-button-block .isubmit:first-child,
.modal-def-confirm .confirm-button-block a .isubmit {
    background: #e53e3e;
    color: #fff;
}
.modal-def-confirm .confirm-button-block .isubmit:first-child:hover,
.modal-def-confirm .confirm-button-block a .isubmit:hover {
    background: #c53030;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(197,48,48,0.3);
}
/* NO button — calm blue */
.modal-def-confirm .confirm-button-block .isubmit:last-child {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
}
.modal-def-confirm .confirm-button-block .isubmit:last-child:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    transform: translateY(-1px);
    color: #FFD700;
}
/* Modal backdrop — darker overlay */
body.modal .modal-background {
    background-color: rgba(0,0,0,0.5);
    opacity: 1;
    -webkit-opacity: 1;
    -moz-opacity: 1;
}

/* ============================================================
   Upload Resume Section — dedicated upload button
   ============================================================ */
.nj-upload-area {
    background: #f7fafc;
    border: 2px dashed #cbd5e0;
    border-radius: 8px;
    padding: 16px 20px;
    margin: 8px 0;
    transition: border-color 0.2s;
}
.nj-upload-area:hover {
    border-color: #346699;
}
.nj-upload-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.nj-upload-row input[type="file"] {
    flex: 1;
    min-width: 200px;
}
.nj-upload-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 20px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.nj-upload-btn:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(52,102,153,0.25);
    color: #FFD700;
}
.nj-upload-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 8px;
    font-size: 13px;
}
.nj-upload-actions a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
}
.nj-upload-actions a.nj-delete-file {
    color: #e53e3e !important;
}
.nj-upload-actions a.nj-delete-file:hover {
    color: #c53030 !important;
}
.nj-upload-actions a.nj-view-file {
    color: #346699 !important;
}
.nj-upload-actions a.nj-view-file:hover {
    color: #1e3c72 !important;
}
@media only screen and (max-width: 768px) {
    .nj-upload-row {
        flex-direction: column;
        align-items: stretch;
    }
    .nj-upload-btn {
        justify-content: center;
    }
    .nj-upload-actions {
        flex-direction: column;
        gap: 8px;
    }
}

/* ============================================================
   Inbox / Message Tab Bar
   ============================================================ */
.nj-inbox-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    list-style: none !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
    border-top: 2px solid #e2e8f0;
    padding-top: 12px !important;
}
.nj-inbox-tabs li {
    margin: 0;
    padding: 0;
}
.nj-inbox-tabs li.sep {
    display: none;
}
.nj-inbox-tabs li a,
.nj-inbox-tabs li strong {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.2s ease;
    margin: 2px 3px;
    white-space: nowrap;
}
.nj-inbox-tabs li a {
    background: #f0f5fa;
    color: #346699 !important;
    border: 1px solid #e2e8f0;
}
.nj-inbox-tabs li a:hover {
    background: #346699;
    color: #fff !important;
    border-color: #346699;
}
.nj-inbox-tabs li a:hover i {
    color: #FFD700;
}
.nj-inbox-tabs li strong {
    background: linear-gradient(135deg, #346699 0%, #2a5298 100%);
    color: #fff !important;
    border: 1px solid #346699;
}
.nj-inbox-tabs li strong i {
    color: #FFD700;
}
.nj-inbox-tabs li a i,
.nj-inbox-tabs li strong i {
    font-size: 11px;
}

/* Inbox action buttons — replace bracket links */
.nj-inbox-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.nj-inbox-actions a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.15s ease;
    border: 1px solid #e2e8f0;
    background: #f7f9fc;
    color: #4a5568 !important;
}
.nj-inbox-actions a:hover {
    background: #346699;
    color: #fff !important;
    border-color: #346699;
}
.nj-inbox-actions a:hover i {
    color: #FFD700;
}
.nj-inbox-actions a i {
    font-size: 10px;
    color: #718096;
    transition: color 0.15s ease;
}
.nj-inbox-actions a.nj-action-danger:hover {
    background: #e53e3e;
    border-color: #e53e3e;
}
.nj-inbox-actions a.nj-action-danger:hover i {
    color: #fff;
}
@media only screen and (max-width: 768px) {
    .nj-inbox-tabs {
        justify-content: center;
    }
    .nj-inbox-actions {
        flex-direction: column;
    }
}

/* ============================================================
   Employer-specific overrides
   ============================================================ */
/* Employer forms use the same .nj-resume-form wrapper */
/* Employer section separator headings */
.nj-resume-form .bx_esecseparator {
    gap: 8px;
}
/* Employer navigation — reuse .left-menu-section */
.enavbox {
    background: none !important;
    padding: 0;
    margin: 0;
}
.enavbox .enavboxhead {
    display: none;
}

/* ============================================================
   Employer page modernization — form cards, fieldsets, buttons
   ============================================================ */

/* --- Card wrapper for ALL employer content areas --- */
#idemplfrm.nj-resume-form,
.divlistcontainer.nj-resume-form,
#phpjob_mainsection > .nj-resume-form {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 20px 24px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
    border: 1px solid #e2e8f0 !important;
    margin-bottom: 16px;
}

/* --- Fieldset (Search My Jobs, etc.) --- */
.nj-resume-form fieldset {
    border: 1px solid #dce3ed !important;
    border-radius: 10px !important;
    padding: 16px 20px !important;
    margin-bottom: 16px !important;
    background: #f7f9fc !important;
}
.nj-resume-form fieldset legend {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%) !important;
    color: #fff !important;
    padding: 6px 16px !important;
    border-radius: 6px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    border: none !important;
}

/* --- Error / no-result boxes (see main #bxerror rule above) --- */
/* Success boxes */
.nj-resume-form .bxsuccess,
.nj-resume-form .phpjob_box3 {
    background: #f0fff4 !important;
    border: 1px solid #c6f6d5 !important;
    border-left: 4px solid #2e7d32 !important;
    border-radius: 10px !important;
    padding: 16px !important;
    margin: 16px 0 !important;
}

/* --- Buttons (Submit, Search, Go, Add Job) --- */
.nj-resume-form .isubmit,
.nj-resume-form input[type="submit"].isubmit,
.nj-resume-form input[type="reset"].isubmit {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 8px 20px !important;
    font-weight: 700 !important;
    cursor: pointer;
    transition: all 0.2s ease;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-size: 12px !important;
}
.nj-resume-form .isubmit:hover,
.nj-resume-form input[type="submit"].isubmit:hover {
    background: linear-gradient(135deg, #1e3c72 0%, #2c5282 100%) !important;
    box-shadow: 0 3px 10px rgba(52,102,153,0.35);
    transform: translateY(-1px);
}

/* --- Text inputs and selects inside employer forms --- */
.nj-resume-form .itext,
.nj-resume-form input[type="text"],
.nj-resume-form input[type="password"],
.nj-resume-form textarea,
.nj-resume-form select {
    border: 1px solid #cbd5e0;
    border-radius: 6px;
    padding: 6px 10px;
    background: #fff;
    font-size: 13px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.nj-resume-form .itext:focus,
.nj-resume-form input[type="text"]:focus,
.nj-resume-form select:focus {
    border-color: #346699;
    box-shadow: 0 0 0 3px rgba(52,102,153,0.15);
    outline: none;
}

/* --- Links --- */
.nj-resume-form a {
    color: #346699 !important;
    font-weight: 500;
    transition: color 0.15s;
}
.nj-resume-form a:hover {
    color: #1e3c72 !important;
}

/* --- Info text paragraphs --- */
.nj-resume-form > p {
    background: #f0f5fa;
    border: 1px solid #dce3ed;
    border-left: 4px solid #346699;
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 16px;
    font-size: 13px;
    line-height: 1.6;
    color: #2d3748;
}
.nj-resume-form > p .error_text {
    color: #e53e3e !important;
    font-weight: 700;
}

/* --- Tables inside employer forms (all responsive tables) --- */
.nj-resume-form .tablelist,
.nj-resume-form table.tablelist {
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid #dce3ed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100%;
}
.nj-resume-form tr.tablelistheadsec,
.nj-resume-form thead tr.tablelistheadsec {
    background: linear-gradient(135deg, #346699 0%, #2a5298 50%, #1e3c72 100%) !important;
}
.nj-resume-form tr.tablelistheadsec th,
.nj-resume-form tr.tablelistheadsec td {
    background: transparent !important;
    color: #fff !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    font-size: 11px !important;
    letter-spacing: 0.5px !important;
    padding: 10px 12px !important;
    border-bottom: none !important;
}
.nj-resume-form tr.tablelistheadsec a {
    color: #fff !important;
}
.nj-resume-form tr.tablelistheadsec a:hover {
    color: #FFD700 !important;
}
.nj-resume-form .tablelist tbody td {
    padding: 9px 12px !important;
    border-bottom: 1px solid #eef2f7 !important;
    font-size: 13px;
    color: #2d3748;
}
.nj-resume-form .tablelist tbody tr:hover td {
    background: #ebf4ff !important;
}
.nj-resume-form .tablelist tbody tr.phpjob_listbgcolor1 td {
    background: #fff;
}
.nj-resume-form .tablelist tbody tr.phpjob_listbgcolor2 td {
    background: #f7f9fc;
}
.nj-resume-form .tablelist tbody tr.phpjob_listbgcolor1:hover td,
.nj-resume-form .tablelist tbody tr.phpjob_listbgcolor2:hover td {
    background: #ebf4ff !important;
}

/* --- Pagination inside employer forms --- */
.nj-resume-form .bx_pagination {
    background: #f7f9fc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    margin: 10px 0 !important;
}

/* --- Company profile table --- */
.nj-resume-form #idviewcomp {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}
.nj-resume-form #idviewcomp td {
    padding: 10px 14px;
    border-bottom: 1px solid #eef2f7;
    font-size: 13px;
    color: #2d3748;
}
.nj-resume-form #idviewcomp td:first-child {
    font-weight: 600;
    color: #4a5568;
    white-space: nowrap;
    width: 30%;
}
.nj-resume-form #idviewcomp .compdesc {
    padding: 16px 0;
    text-align: center;
}
.nj-resume-form #idviewcomp .compdesc img {
    max-width: 200px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

/* --- Account form row highlight --- */
.nj-resume-form .tablelist .row_highlight td {
    background: #ebf4ff !important;
    font-weight: 600;
}

/* --- Planning page pricing table — extra love --- */
.divlistcontainer.nj-resume-form .tablelist td {
    padding: 10px 12px;
    vertical-align: middle;
}
.divlistcontainer.nj-resume-form .tablelist td a.isubmit,
.tablelist td a.isubmit {
    display: inline-block;
    background: #346699;
    color: #fff !important;
    padding: 5px 14px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}
.tablelist td a.isubmit:hover {
    background: #2a5298;
}
/* Planning page form elements */
.divlistcontainer.nj-resume-form input[type="text"] {
    width: 60px;
    text-align: center;
}

/* --- Responsive: employer forms on mobile --- */
@media only screen and (max-width: 768px) {
    #idemplfrm.nj-resume-form,
    .divlistcontainer.nj-resume-form,
    #phpjob_mainsection > .nj-resume-form {
        padding: 12px 10px !important;
        border-radius: 8px !important;
    }
    .nj-resume-form > p {
        padding: 10px 12px;
    }
}

/* ============================================================
   Job Post Form — fieldset and inner form styling
   ============================================================ */
.nj-resume-form fieldset > legend {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%) !important;
    color: #fff !important;
    padding: 8px 18px !important;
    border-radius: 6px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    border: none !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.nj-resume-form fieldset > legend i {
    color: #fff;
}
.nj-resume-form fieldset > legend font,
.nj-resume-form fieldset > legend span {
    color: #fff !important;
}
/* Inner sub-fieldsets (Description, Skills, Benefits, etc.) */
.nj-resume-form fieldset fieldset {
    border: 1px solid #dce3ed !important;
    border-radius: 8px !important;
    padding: 12px !important;
    margin: 8px 0 !important;
    background: #fff !important;
}
.nj-resume-form fieldset fieldset legend {
    background: none !important;
    color: #346699 !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    padding: 2px 8px !important;
}
/* Job form table cells */
.nj-resume-form .job-form td {
    padding: 6px 8px;
    vertical-align: top;
}
.nj-resume-form .job-form td strong {
    color: #2d3748;
    font-size: 13px;
}
/* bx_esecseparator inside job form */
.nj-resume-form .bx_esecseparator:empty,
.nj-resume-form .bx_esecseparator:blank {
    display: none;
}

/* ============================================================
   Advanced Resume Search — form table styling
   ============================================================ */
#idadvressearch {
    border-collapse: separate;
    border-spacing: 0;
}
#idadvressearch td {
    padding: 6px 10px;
    vertical-align: top;
    font-size: 13px;
}
#idadvressearch td strong {
    color: #2d3748;
}
#idadvressearch ul:not(.listempltype) {
    background: #f0f5fa;
    border: 1px solid #dce3ed;
    border-left: 4px solid #346699;
    border-radius: 8px;
    padding: 12px 12px 12px 28px;
    margin: 0 0 8px;
    font-size: 13px;
    color: #4a5568;
}
#idadvressearch select {
    min-width: 200px;
}
/* Cross-network customize form */
.nj-resume-form form[name="customize"] td {
    padding: 6px 10px;
    vertical-align: middle;
    font-size: 13px;
}
/* ============================================================
   Tips / Getting Started box
   ============================================================ */
.nj-tips-box {
    background: #f0f5fa;
    border: 1px solid #dce3ed;
    border-left: 4px solid #346699;
    border-radius: 10px;
    padding: 14px 18px;
    margin-bottom: 16px;
}
.nj-tips-header {
    font-weight: 700;
    color: #2c5282;
    font-size: 14px;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.nj-tips-header i {
    color: #346699;
    font-size: 16px;
}
.nj-tips-list {
    margin: 0;
    padding-left: 20px;
    color: #4a5568;
    font-size: 13px;
    line-height: 1.7;
}
.nj-tips-list li {
    margin-bottom: 2px;
}

/* Invoice page — section sub-headers and empty state */
.nj-resume-form .tablelist tr th.tablelistheadsec {
    background: linear-gradient(135deg, #346699 0%, #2a5298 50%, #1e3c72 100%) !important;
    color: #fff !important;
    font-weight: 600 !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
.nj-resume-form .tablelist tr th.tablelistheadsec .default_text,
.nj-resume-form .tablelist tr th.tablelistheadsec strong {
    color: #fff !important;
}
.nj-resume-form .tablelist .phpjob_tblback {
    background: transparent !important;
    border: none !important;
}

.nj-resume-form form[name="customize"] strong {
    color: #2d3748;
}

/* ============================================================
   Invoice Detail Page — modern styling
   ============================================================ */
.nj-resume-form .tblinvoice-top {
    margin-bottom: 20px;
}
.nj-resume-form .tblinvoice-top td p {
    background: #f7f9fc;
    border: 1px solid #dce3ed;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.5;
    color: #2d3748;
    margin: 0;
}
.nj-resume-form .tblinvoice-top td p strong {
    color: #346699;
    display: block;
    margin-bottom: 2px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.nj-resume-form .tblinvoice-top td p br:first-of-type,
.nj-resume-form .tblinvoice-top td p br + br {
    display: none;
}
.nj-resume-form .tblinvoice-inside {
    border-collapse: collapse;
}
.nj-resume-form .tblinvoice-inside td {
    padding: 6px 10px;
    font-size: 13px;
    white-space: nowrap;
}
.nj-resume-form .tblinvoice-inside td:first-child {
    text-align: right;
    padding-right: 12px;
    color: #4a5568;
}
/* Restore line breaks in address blocks */
.nj-resume-form .tblinvoice-top td p br {
    display: inline !important;
}
.nj-resume-form .phpjob_tblinvoice,
.nj-resume-form table.phpjob_tblinvoice {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    border: 1px solid #dce3ed !important;
    width: 100%;
}
.nj-resume-form .phpjob_tblinvoice tr.tablelistheadsec,
.nj-resume-form .phpjob_tblinvoice tr.invhead {
    background: linear-gradient(135deg, #346699 0%, #2a5298 50%, #1e3c72 100%) !important;
}
.nj-resume-form .phpjob_tblinvoice tr.tablelistheadsec th,
.nj-resume-form .phpjob_tblinvoice .invhead th {
    background: transparent !important;
    color: #fff !important;
    font-weight: 600 !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important;
}
.nj-resume-form .phpjob_tblinvoice .invhead .verysmall,
.nj-resume-form .phpjob_tblinvoice .tablelistheadsec .verysmall {
    color: #fff !important;
    font-size: 12px !important;
}
.nj-resume-form .phpjob_tblinvoice td.invborder,
.nj-resume-form .phpjob_tblinvoice td {
    padding: 10px 12px !important;
    border-bottom: 1px solid #eef2f7 !important;
    border-right: none !important;
    border-left: none !important;
    font-size: 13px;
    color: #2d3748;
}
.nj-resume-form .phpjob_tblinvoice tr:last-child td {
    font-weight: 700;
    background: #f0f5fa !important;
    font-size: 14px !important;
}
/* Payment mode selection */
.nj-resume-form .select-payment-mode {
    margin-top: 16px;
}
.nj-resume-form .select-payment-mode td {
    padding: 8px 12px;
}
.nj-resume-form .select-payment-mode .tablelistheadsec th {
    background: linear-gradient(135deg, #346699 0%, #1e3c72 100%) !important;
    color: #fff !important;
    padding: 10px 14px !important;
    border-radius: 8px !important;
}
/* Pay button — big, green, encouraging */
.nj-resume-form .select-payment-mode input[name="pay"].isubmit {
    padding: 12px 40px !important;
    font-size: 15px !important;
    background: linear-gradient(135deg, #2e7d32, #43a047) !important;
    letter-spacing: 0.5px;
}
.nj-resume-form .select-payment-mode input[name="pay"].isubmit:hover {
    background: linear-gradient(135deg, #1b5e20, #2e7d32) !important;
    box-shadow: 0 4px 15px rgba(46,125,50,0.4);
}
/* Cancel button — smaller, subdued */
.nj-resume-form .select-payment-mode input[name="cancel"].isubmit {
    padding: 8px 20px !important;
    font-size: 12px !important;
    background: #e2e8f0 !important;
    color: #4a5568 !important;
}
.nj-resume-form .select-payment-mode input[name="cancel"].isubmit:hover {
    background: #cbd5e0 !important;
}
/* Paid/Canceled status */
.nj-resume-form .required_text {
    color: #2e7d32 !important;
    font-weight: 700;
}

/* Section divider rows — lighter than column headers */
.tablelist tr.nj-section-divider th,
.tablelist tr.nj-section-divider td,
tr.nj-section-divider th,
tr.nj-section-divider td {
    background: #e8eef5 !important;
    color: #2c5282 !important;
    font-size: 13px;
    font-weight: 700;
    padding: 8px 10px;
    border-bottom: 1px solid #d0d9e6;
    text-align: center;
}
tr.nj-section-divider .default_text,
tr.nj-section-divider strong {
    color: #2c5282 !important;
}

/* ============================================================
   Job Renew Form — modern card layout
   ============================================================ */
.nj-renew-page {
    max-width: 900px;
    margin: 20px auto;
    padding: 0 15px;
}
.nj-renew-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.06);
    padding: 28px 32px;
    margin-bottom: 24px;
}
.nj-renew-card h2 {
    font-size: 22px;
    font-weight: 700;
    color: #1a202c;
    margin: 0 0 4px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.nj-renew-card h2 i {
    color: #346699;
    font-size: 20px;
}
.nj-renew-subtitle {
    font-size: 14px;
    color: #718096;
    margin: 0 0 20px;
}

/* Account status KPI strip */
.nj-renew-kpi-strip {
    display: flex;
    gap: 16px;
    margin-bottom: 24px;
    flex-wrap: wrap;
}
.nj-renew-kpi {
    flex: 1;
    min-width: 140px;
    background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px 20px;
    text-align: center;
}
.nj-renew-kpi-label {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #718096;
    margin-bottom: 4px;
}
.nj-renew-kpi-value {
    font-size: 26px;
    font-weight: 700;
    color: #2c5282;
}

/* Renew jobs table */
.nj-renew-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 20px;
}
.nj-renew-table thead {
    background: linear-gradient(135deg, #346699 0%, #2a5298 50%, #1e3c72 100%);
}
.nj-renew-table thead th {
    background: transparent !important;
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 11px 14px;
    text-align: left;
    white-space: nowrap;
    border: none;
}
.nj-renew-table thead th:first-child {
    border-top-left-radius: 10px;
}
.nj-renew-table thead th:last-child {
    border-top-right-radius: 10px;
}
.nj-renew-table tbody td {
    padding: 12px 14px;
    font-size: 14px;
    color: #2d3748;
    border-bottom: 1px solid #edf2f7;
    vertical-align: middle;
}
.nj-renew-table tbody tr:last-child td {
    border-bottom: none;
}
.nj-renew-table tbody tr:nth-child(even) {
    background: #f7fafc;
}
.nj-renew-table tbody tr:hover {
    background: #edf2f7;
}
.nj-renew-table a {
    color: #2c5282 !important;
    font-weight: 500;
    text-decoration: none;
}
.nj-renew-table a:hover {
    color: #1a365d !important;
    text-decoration: underline;
}

/* Status badges */
.nj-renew-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}
.nj-renew-badge-ok {
    background: #c6f6d5;
    color: #22543d;
}
.nj-renew-badge-ok i { color: #38a169; }
.nj-renew-badge-error {
    background: #fed7d7;
    color: #9b2c2c;
}
.nj-renew-badge-error i { color: #e53e3e; }
.nj-renew-badge-success {
    background: #c6f6d5;
    color: #22543d;
}
.nj-renew-badge-success i { color: #38a169; }

/* Type badge (featured / normal) */
.nj-renew-type-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
}
.nj-renew-type-featured {
    background: #fefcbf;
    color: #975a16;
}
.nj-renew-type-normal {
    background: #e2e8f0;
    color: #4a5568;
}

/* Expiry info */
.nj-renew-expire-days {
    font-size: 11px;
    color: #718096;
    margin-top: 2px;
}

/* Continue note / info box */
.nj-renew-info {
    background: #ebf8ff;
    border: 1px solid #bee3f8;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 13px;
    color: #2c5282;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 20px;
}
.nj-renew-info i {
    color: #3182ce;
    margin-top: 1px;
    flex-shrink: 0;
}

/* Renew action buttons */
.nj-renew-actions {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}
.nj-renew-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 28px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
}
.nj-renew-btn-primary {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff !important;
}
.nj-renew-btn-primary:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(44,82,130,0.3);
    color: #FFD700 !important;
}

/* Checkbox override option */
.nj-renew-option {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    font-size: 13px;
    color: #4a5568;
}
.nj-renew-option input[type="checkbox"] {
    accent-color: #346699;
    width: 16px;
    height: 16px;
}

/* ============================================================
   Delete Job Confirmation — card layout
   ============================================================ */
.nj-delete-confirm-page {
    max-width: 480px;
    margin: 40px auto;
    padding: 0 15px;
}
.nj-delete-confirm-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.06);
    overflow: hidden;
}
.nj-delete-confirm-header {
    background: linear-gradient(135deg, #c53030 0%, #e53e3e 100%);
    padding: 18px 28px;
    text-align: center;
}
.nj-delete-confirm-header h2 {
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.nj-delete-confirm-header h2 i {
    font-size: 20px;
}
.nj-delete-confirm-body {
    padding: 28px;
    text-align: center;
}
.nj-delete-confirm-icon {
    width: 56px;
    height: 56px;
    background: #fff5f5;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}
.nj-delete-confirm-icon i {
    font-size: 24px;
    color: #e53e3e;
}
.nj-delete-confirm-body p {
    font-size: 15px;
    font-weight: 500;
    color: #2d3748;
    line-height: 1.6;
    margin: 0 0 24px;
}
.nj-delete-confirm-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
}
.nj-delete-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 28px;
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.nj-delete-btn-danger {
    background: #e53e3e;
    color: #fff;
}
.nj-delete-btn-danger:hover {
    background: #c53030;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(197,48,48,0.3);
}
.nj-delete-btn-cancel {
    background: linear-gradient(135deg, #2c5282 0%, #346699 100%);
    color: #fff;
}
.nj-delete-btn-cancel:hover {
    background: linear-gradient(135deg, #2a5298 0%, #1e3c72 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(44,82,130,0.3);
    color: #FFD700;
}

/* Responsive */
@media (max-width: 767px) {
    .nj-renew-page { padding: 0 10px; }
    .nj-renew-card { padding: 20px 16px; }
    .nj-renew-kpi-strip { flex-direction: column; }
    .nj-renew-table { font-size: 13px; }
    .nj-renew-table thead th,
    .nj-renew-table tbody td { padding: 10px 8px; }
    .nj-renew-actions { flex-direction: column; }
    .nj-renew-btn { width: 100%; justify-content: center; }
    .nj-delete-confirm-actions { flex-direction: column; }
    .nj-delete-btn { width: 100%; justify-content: center; }
}

/* =============================================
   Success / Error Message Boxes (#bxok, #bxerror)
   ============================================= */
/* Error boxes: white card treatment */
.verror_top {
    background-color: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 12px !important;
    padding: 20px 28px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
    color: #c0392b !important;
}
.verror_top p {
    background-color: transparent !important;
    border: none !important;
    color: #c0392b !important;
    font-size: 1em;
    padding: 0 0 8px !important;
}
.verror_top ul { color: #c0392b; }
#bxerror {
    text-align: left;
    padding: 30px 20px !important;
    background-color: transparent !important;
    border: none !important;
}
#bxerror > p {
    max-width: 640px;
    margin: 0 auto !important;
    padding: 0 !important;
}
#bxerror > p > span {
    display: block !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 12px !important;
    padding: 36px 36px 28px !important;
    color: #c0392b !important;
    font-size: 1.05em;
    line-height: 1.5 !important;
    background-image: none !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
}
/* Transparent outer — the white card IS the only visual box */
#bxok {
    text-align: center;
    padding: 30px 20px !important;
    background-color: transparent !important;
    border: none !important;
}
#bxok > p {
    max-width: 640px;
    margin: 0 auto !important;
    padding: 0 !important;
}
#bxok > p > span {
    display: block !important;
    background: #fff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 12px !important;
    padding: 36px 36px 28px !important;
    color: #2c3e50 !important;
    font-size: 1.05em;
    line-height: 1.5 !important;
    background-image: none !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.07) !important;
}
#bxok .isubmit {
    display: inline-block;
    background: #5f9025;
    color: #fff !important;
    border: none;
    border-radius: 6px;
    padding: 12px 32px;
    font-size: 1em;
    font-weight: 600;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background 0.2s;
    margin-top: 16px;
}
#bxok .isubmit:hover { background: #4a7a1a; }

/* --- Registration success: reset inner spans --- */
#bxok p span.reg-success,
#bxok p .reg-success span {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    color: inherit;
    line-height: inherit;
}
.reg-success { display: block; }
.reg-success-body { display: block; line-height: 1.6; }
@media (max-width: 767px) {
    #bxok > p > span { padding: 24px 20px 20px !important; }
    #bxok .isubmit { width: 100%; }
}
