/* ======================================================================
   REVEAL JOB DESIGN SYSTEM
   Brand palette: Navy + Blue + Orange
   Shared, final-layer styling for a clean and consistent job portal UI.
   Hover interactions intentionally do not swap text/background colors.
====================================================================== */

:root {
    --jr-navy: #0B1F3A;
    --jr-navy-deep: #071529;
    --jr-navy-soft: #17385E;
    --jr-blue: #0B1F3A;
    --jr-blue-deep: #071529;
    --jr-orange: #F58220;
    --jr-orange-deep: #D96A0B;
    --jr-white: #ffffff;
    --jr-canvas: #f7f8fa;
    --jr-surface: #ffffff;
    --jr-border: #e2e6ec;
    --jr-border-strong: #cbd3dd;
    --jr-text: #15263b;
    --jr-muted: #66758a;
    --jr-shadow-sm: 0 2px 8px rgba(6, 27, 51, .045);
    --jr-shadow-md: 0 8px 24px rgba(6, 27, 51, .075);
    --jr-radius-sm: 8px;
    --jr-radius-md: 12px;
    --jr-radius-lg: 16px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    color: var(--jr-text);
    font-family: Inter, "Segoe UI", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
img { max-width: 100%; }
.job-rader-logo { display: block; height: auto; max-width: 100%; object-fit: contain; }

/* Shared page surfaces */
.jobs-page-body,
.application-page-body,
.dashboard-body,
body.login-page,
body.register-page {
    background: var(--jr-canvas) !important;
    color: var(--jr-text) !important;
}
.jobs-container,
.application-page,
.my-applications-page { color: var(--jr-text); }
.jobs-search-panel,
.jobs-filter-panel,
.jobs-tips-card,
.jobs-promo-card,
.public-job-card,
.job-details-card,
.application-job-summary,
.application-form-card,
.application-record-card,
.applications-empty-state,
.auth-card,
.login-card,
.register-card,
.profile-section-card,
.summary-card,
.completion-card,
.education-section-card,
.resume-guidelines-card {
    background: var(--jr-surface) !important;
    border-color: var(--jr-border) !important;
    box-shadow: var(--jr-shadow-sm);
}

/* Header, brand and public navigation */
.site-header {
    background: #fff !important;
    border-bottom: 2px solid #D9DEE7 !important;
    box-shadow: 0 2px 10px rgba(6, 27, 51, .035) !important;
}
.header-inner {
    width: min(1360px, calc(100% - 40px)) !important;
    min-width: 0;
    gap: 14px;
}
.brand { flex: 0 0 auto; color: var(--jr-navy) !important; }
.brand .job-rader-logo { width: 136px; max-width: 136px; }
.main-nav {
    flex: 0 1 auto;
    min-width: 0;
    margin-left: 22px !important;
    gap: clamp(16px, 2vw, 30px) !important;
}
.main-nav > a,
.nav-dropdown > .nav-dropdown-trigger,
.header-nav-link {
    color: var(--jr-navy) !important;
    font-weight: 600 !important;
    text-decoration: none;
}
.main-nav > a::after,
.nav-dropdown > .nav-dropdown-trigger::after,
.header-nav-link::after { background: var(--jr-orange) !important; }
.header-actions {
    min-width: 0;
    flex: 0 1 auto;
    margin-left: auto !important;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px !important;
}
.candidate-session-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    min-width: 0;
    white-space: nowrap;
}
.candidate-session-greeting {
    display: inline-block;
    max-width: 175px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--jr-navy) !important;
    font-size: 13px !important;
    font-weight: 600;
}
.employer-menu { flex: 0 0 auto; }
.employer-toggle {
    color: var(--jr-navy) !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    font-weight: 600;
}
.employer-dropdown,
.header-dropdown {
    background: #fff !important;
    border: 1px solid var(--jr-border) !important;
    border-radius: var(--jr-radius-md) !important;
    box-shadow: var(--jr-shadow-md) !important;
}
.employer-dropdown a,
.header-dropdown a { color: var(--jr-text) !important; background: #fff !important; }

/* Buttons: brand orange for primary, navy outline for secondary. */
.btn,
button,
input[type="button"],
input[type="submit"],
input[type="reset"],
[role="button"] {
    font-family: inherit;
}
.btn-register,
.register-button,
.login-button,
.search-btn,
.search-button,
.jobs-search-button,
.filter-apply-button,
.jobs-promo-primary,
.application-primary-button,
.apply-job-button,
.dashboard-search-button,
.profile-save-button,
.crop-save-button,
.homepage-login-button,
.homepage-otp-button,
.clear-search-button,
.resume-btn-blue,
.full-btn,
.newsletter-form button,
.featured-view-all .view-all {
    background: var(--jr-orange) !important;
    border: 1px solid var(--jr-orange) !important;
    color: #fff !important;
    box-shadow: none !important;
    border-radius: 9px;
    font-weight: 700;
}
.btn-login,
.view-job-button,
.public-view-job-button,
.filter-reset-button,
.profile-cancel-button,
.crop-cancel-button,
.application-secondary-button,
.job-save-button,
.back-home,
.secondary-button {
    background: #fff !important;
    color: var(--jr-navy) !important;
    border: 1px solid var(--jr-navy) !important;
    box-shadow: none !important;
    border-radius: 9px;
    font-weight: 700;
}
.btn-register,
.btn-login { min-height: 40px; padding: 9px 17px !important; }
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid rgba(8, 119, 201, .55) !important;
    outline-offset: 3px;
}

/* Inputs and search fields */
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
select,
textarea {
    color: var(--jr-text);
}
input::placeholder,
textarea::placeholder { color: #7a8798; opacity: 1; }
.jobs-search-field,
.dashboard-search-field,
.dashboard-header-search,
.login-input,
.application-field input,
.application-field select,
.application-field textarea,
.form-group input,
.form-group select,
.form-group textarea,
.profile-field input,
.profile-field select,
.profile-field textarea {
    border-color: var(--jr-border-strong);
}
.jobs-search-field:focus-within,
.dashboard-search-field:focus-within,
.dashboard-header-search:focus-within {
    border-color: var(--jr-blue) !important;
    background: #fff !important;
    box-shadow: 0 0 0 3px rgba(8, 119, 201, .08) !important;
}
.jobs-search-field > i,
.jobs-filter-heading h2 i,
.public-job-meta i,
.application-record-meta i,
.application-record-details summary i { color: var(--jr-blue) !important; }
input[type="checkbox"], input[type="radio"] { accent-color: var(--jr-orange); }

/* Jobs listing page */
.jobs-page-body { background: var(--jr-canvas) !important; }
.jobs-container { width: min(1360px, calc(100% - 48px)) !important; padding-top: 22px; }
.jobs-search-panel { border-radius: var(--jr-radius-lg) !important; padding: 13px !important; }
.jobs-search-field { border-radius: 9px !important; background: #fff !important; }
.jobs-layout { align-items: start; gap: 22px !important; }
.jobs-filter-panel { border-radius: var(--jr-radius-md) !important; padding: 17px 19px !important; }
.jobs-filter-heading { border-bottom-color: var(--jr-border) !important; }
.jobs-filter-heading h2,
.filter-group legend { color: var(--jr-navy) !important; font-weight: 800 !important; }
.filter-group { border-bottom-color: var(--jr-border) !important; }
.filter-radio-row,
.filter-check-row { color: var(--jr-text) !important; background: transparent !important; }
.filter-radio-row:hover,
.filter-check-row:hover { color: var(--jr-text) !important; background: transparent !important; }
.jobs-results-heading h1,
.public-job-content h2,
.job-details-page h1,
.applications-page-heading h1 { color: var(--jr-navy) !important; }
.jobs-eyebrow,
.application-eyebrow { color: var(--jr-blue) !important; }
.public-job-card { border-radius: var(--jr-radius-lg) !important; padding: 19px !important; }
.public-job-card:hover { background: #fff !important; border-color: var(--jr-border) !important; }
.public-company-avatar,
.public-job-card .company-avatar,
.jobs-empty-icon,
.application-record-company-mark,
.applications-empty-state > span {
    background: var(--jr-navy) !important;
    color: #fff !important;
}
.public-job-skills span,
.public-job-skills a,
.active-filter-chips span {
    background: #f5f6f8 !important;
    color: var(--jr-navy) !important;
    border-color: var(--jr-border) !important;
}
.jobs-promo-card { background: #fff !important; border: 1px solid var(--jr-border) !important; }
.jobs-promo-icon { background: var(--jr-navy) !important; color: #fff !important; }
.jobs-promo-secondary,
.jobs-breadcrumb a,
.clear-filters-link,
.empty-search-again,
.jobs-promo-secondary:hover,
.jobs-breadcrumb a:hover,
.clear-filters-link:hover { color: var(--jr-blue) !important; }
.jobs-tips-card h3 { color: var(--jr-navy) !important; }
.jobs-tips-card h3 i,
.jobs-tips-card li::marker { color: var(--jr-orange) !important; }

/* Application pages and status timeline */
.application-page-body { background: var(--jr-canvas) !important; }
.application-page { color: var(--jr-text) !important; }
.application-job-summary,
.application-form-card,
.application-record-card,
.applications-empty-state { border-radius: var(--jr-radius-lg) !important; }
.application-page h1,
.application-page h2,
.application-record-title h2 { color: var(--jr-navy) !important; }
.application-progress-block { background: #f7f8fa !important; border-color: var(--jr-border) !important; }
.application-record-company-mark { background: var(--jr-navy) !important; color: #fff !important; }
.application-status-badge,
.tone-applied,
.tone-review,
.tone-scheduled,
.tone-selected,
.tone-rejected,
.tone-withdrawn { background: #f3f4f6 !important; color: var(--jr-navy) !important; }
.application-status-timeline .timeline-number { background: #fff; border-color: var(--jr-border-strong); color: var(--jr-navy); }
.application-status-timeline li.is-complete .timeline-number { background: var(--jr-orange) !important; border-color: var(--jr-orange) !important; color: #fff !important; }
.application-status-timeline li.is-current .timeline-number { outline-color: rgba(255, 90, 10, .14) !important; }
.application-status-timeline li.is-current strong,
.application-status-timeline li.is-complete strong { color: var(--jr-navy) !important; }
.application-modal-note { background: #f7f8fa !important; }

/* Candidate dashboard and profile */
.dashboard-body { background: var(--jr-canvas) !important; }
.dashboard-header,
.dashboard-header-inner { background: #fff !important; }
.dashboard-header { border-bottom: 2px solid #D9DEE7 !important; box-shadow: 0 2px 10px rgba(6, 27, 51, .035) !important; }
.dashboard-sidebar,
.profile-body-layout > .sidebar {
    background: var(--jr-navy-deep) !important;
    color: #fff !important;
}
.dashboard-sidebar .sidebar-nav-link,
.profile-body-layout > .sidebar .sidebar-nav a,
.profile-body-layout > .sidebar nav a {
    color: #f2f5f8 !important;
    background: transparent !important;
    border-color: transparent !important;
}
.dashboard-sidebar .sidebar-nav-link.active,
.profile-body-layout > .sidebar .sidebar-nav a.active,
.profile-body-layout > .sidebar nav a.active,
.profile-body-layout > .sidebar a[aria-current="page"] {
    color: #fff !important;
    background: var(--jr-navy-soft) !important;
    border-color: var(--jr-navy-soft) !important;
    box-shadow: inset 3px 0 0 var(--jr-orange) !important;
}
.dashboard-main,
.profile-body-layout > .main-content { background: var(--jr-canvas) !important; }
.dashboard-job-card,
.summary-card,
.profile-section-card,
.completion-card,
.education-section-card,
.resume-guidelines-card { border-radius: var(--jr-radius-md) !important; }
.dashboard-job-card:hover,
.summary-card:hover,
.profile-section-card:hover,
.public-job-card:hover { transform: none !important; box-shadow: var(--jr-shadow-sm) !important; }
.dashboard-job-card .job-title,
.job-title-row,
.summary-card-value,
.profile-section-card h2,
.profile-section-card h3 { color: var(--jr-navy); }
.summary-card-icon { background: var(--jr-navy) !important; color: #fff !important; }
.profile-save-button,
.crop-save-button { background: var(--jr-orange) !important; }
.profile-cancel-button,
.crop-cancel-button { background: #fff !important; color: var(--jr-navy) !important; border-color: var(--jr-navy) !important; }

/* Login, registration and employer forms */
.auth-page,
.login-page,
.register-page { background: var(--jr-canvas) !important; }
.auth-card,
.login-card,
.register-card { border-radius: 18px !important; border-color: var(--jr-border) !important; }
.auth-card h1,
.login-card h1,
.register-card h1,
.login-heading,
.register-card-header h1 { color: var(--jr-navy) !important; }
.login-logo,
.register-logo { display: flex; justify-content: center; }
.google-button { background: #fff !important; border-color: var(--jr-border-strong) !important; color: var(--jr-navy) !important; }

/* Homepage cards, sections and footer */
.category-card,
.top-company-card,
.featured-card,
.discover-card,
.company-card,
.job-search,
.hero-search,
.homepage-login-form {
    border-color: var(--jr-border);
}
.featured-jobs { background: #f4f5f7 !important; color: var(--jr-navy) !important; }
.hero h1,
.hero-content h1,
.section-title,
.section-heading h2 { color: var(--jr-navy); }
.footer-social a { background: transparent !important; border-color: rgba(255,255,255,.24) !important; }
.site-footer { background: var(--jr-navy-deep) !important; color: #fff !important; }
.site-footer a { color: #fff; }

/* Non-color hover behavior: keep color and fill steady; only allow focus/shadow. */
.main-nav > a:hover,
.main-nav > a:focus-visible,
.nav-dropdown:hover > .nav-dropdown-trigger,
.nav-dropdown > .nav-dropdown-trigger:hover,
.header-nav-link:hover,
.header-nav-link:focus-visible,
.employer-toggle:hover,
.employer-toggle:focus-visible,
.jobs-breadcrumb a:hover,
.jobs-promo-secondary:hover,
.clear-filters-link:hover,
.secondary-link:hover,
.back-home:hover,
.jobs-filter-panel a:hover,
.application-record-details summary:hover,
.footer-nav-column a:hover,
.footer-middle-column a:hover {
    color: inherit !important;
    background-color: transparent !important;
    border-color: inherit;
    box-shadow: none !important;
    transform: none !important;
}
.btn-register:hover,
.register-button:hover,
.login-button:hover,
.search-btn:hover,
.search-button:hover,
.jobs-search-button:hover,
.filter-apply-button:hover,
.jobs-promo-primary:hover,
.application-primary-button:hover,
.apply-job-button:hover,
.dashboard-search-button:hover,
.profile-save-button:hover,
.crop-save-button:hover,
.homepage-login-button:hover,
.homepage-otp-button:hover,
.clear-search-button:hover,
.resume-btn-blue:hover,
.full-btn:hover,
.newsletter-form button:hover,
.featured-view-all .view-all:hover {
    background: var(--jr-orange) !important;
    border-color: var(--jr-orange) !important;
    color: #fff !important;
    box-shadow: 0 3px 9px rgba(6, 27, 51, .09) !important;
    transform: none !important;
}
.btn-login:hover,
.view-job-button:hover,
.public-view-job-button:hover,
.filter-reset-button:hover,
.profile-cancel-button:hover,
.crop-cancel-button:hover,
.application-secondary-button:hover,
.job-save-button:hover,
.back-home:hover,
.secondary-button:hover {
    background: #fff !important;
    border-color: var(--jr-navy) !important;
    color: var(--jr-navy) !important;
    box-shadow: 0 3px 9px rgba(6, 27, 51, .06) !important;
    transform: none !important;
}
.employer-dropdown a:hover,
.header-dropdown a:hover { background: #fff !important; color: var(--jr-text) !important; }
.dashboard-sidebar .sidebar-nav-link:hover,
.profile-body-layout > .sidebar .sidebar-nav a:hover,
.profile-body-layout > .sidebar nav a:hover {
    color: #fff !important;
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}
.category-card:hover,
.top-company-card:hover,
.featured-card:hover,
.discover-card:hover,
.dashboard-job-card:hover,
.public-job-card:hover,
.summary-card:hover,
.profile-section-card:hover {
    background-color: #fff !important;
    border-color: var(--jr-border) !important;
    box-shadow: var(--jr-shadow-sm) !important;
    transform: none !important;
}
button, a, .btn, [role="button"] { transition-property: box-shadow, outline-offset !important; }
button:hover, .btn:hover, [role="button"]:hover { transform: none !important; }

/* Responsive header and layouts */
@media (max-width: 1240px) {
    .header-inner { width: calc(100% - 28px) !important; gap: 10px; }
    .brand .job-rader-logo { width: 122px; max-width: 122px; }
    .main-nav { margin-left: 8px !important; gap: 16px !important; }
    .candidate-session-greeting { max-width: 130px; }
    .candidate-session-actions { gap: 6px !important; }
    .btn-register, .btn-login { padding-right: 12px !important; padding-left: 12px !important; }
}
@media (max-width: 1000px) {
    .header-inner { flex-wrap: wrap; height: auto !important; min-height: 76px; padding-top: 10px; padding-bottom: 10px; }
    .site-header { height: auto !important; min-height: 76px; }
    .main-nav { order: 3; width: 100%; height: auto !important; margin: 4px 0 0 !important; justify-content: center; }
    .nav-dropdown, .nav-dropdown > .nav-dropdown-trigger { height: auto !important; min-height: 36px; }
    .header-actions { margin-left: auto !important; }
    .candidate-session-greeting { max-width: 120px; }
}
@media (max-width: 720px) {
    .header-inner { width: calc(100% - 22px) !important; }
    .brand .job-rader-logo { width: 112px; max-width: 112px; }
    .header-actions { gap: 6px !important; }
    .candidate-session-actions { width: 100%; flex-wrap: wrap !important; justify-content: flex-end; }
    .candidate-session-greeting { display: none; }
    .main-nav { gap: 20px !important; justify-content: space-between; overflow: visible; }
    .main-nav > a { font-size: 13px !important; }
    .employer-toggle { padding: 8px 5px !important; font-size: 12px !important; }
    .jobs-container { width: calc(100% - 24px) !important; }
    .jobs-search-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .jobs-search-keyword { grid-column: 1 / -1; }
    .jobs-search-button { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
    .header-inner { justify-content: space-between; }
    .brand .job-rader-logo { width: 104px; max-width: 104px; }
    .header-actions { max-width: calc(100% - 115px); flex-wrap: wrap; }
    .candidate-session-actions { gap: 5px !important; }
    .candidate-session-actions .btn { min-height: 34px; padding: 6px 9px !important; font-size: 11px !important; }
    .employer-menu { display: none; }
    .main-nav { order: 3; }
    .jobs-search-form { grid-template-columns: 1fr; }
    .jobs-search-keyword, .jobs-search-button { grid-column: auto; }
    .jobs-filter-form { grid-template-columns: 1fr !important; }
    .filter-actions { grid-column: auto !important; }
    .application-form-grid,
    .application-details-grid,
    .profile-form-grid { grid-template-columns: 1fr !important; }
    .applications-page-heading { align-items: flex-start !important; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Final interaction normalization across legacy page-specific stylesheets. */
.header-nav-link:hover,
.header-nav-link:focus-visible,
.header-nav-item:hover .header-nav-link,
.main-nav > a:hover,
.nav-dropdown:hover > .nav-dropdown-trigger,
.nav-dropdown > .nav-dropdown-trigger:hover,
.employer-toggle:hover,
.employer-toggle:focus-visible { color: var(--jr-navy) !important; }

.jobs-breadcrumb a,
.jobs-breadcrumb a:hover,
.jobs-promo-secondary,
.jobs-promo-secondary:hover,
.clear-filters-link,
.clear-filters-link:hover,
.back-home-link,
.back-home-link:hover,
.application-back,
.application-back:hover,
.secondary-link,
.secondary-link:hover,
.forgot-password a,
.forgot-password a:hover,
.register-link a,
.register-link a:hover,
.already-account a,
.already-account a:hover,
.terms-row a,
.terms-row a:hover,
.login-bottom a,
.login-bottom a:hover,
.back-home a,
.back-home a:hover { color: var(--jr-blue) !important; }

.public-job-content h2 a,
.public-job-content h2 a:hover,
.application-record-details summary,
.application-record-details summary:hover { color: var(--jr-navy) !important; }

.header-dropdown a,
.header-dropdown a:hover,
.employer-dropdown a,
.employer-dropdown a:hover { color: var(--jr-text) !important; background: #fff !important; padding-left: 12px; }
.header-nav-item:hover .header-nav-link i,
.header-nav-dropdown:hover .header-nav-link i,
.dashboard-header-logo:hover,
.dashboard-menu-button:hover,
.sidebar-camera:hover,
.sidebar-nav-link:hover,
.sidebar-nav-link.logout-link:hover,
.photo-crop-close:hover,
.crop-control-button:hover,
.resume-action-btn:hover,
.resume-view-link:hover,
.resume-existing a:hover,
.resume-upload-shortcut a:hover,
.edit-profile-button:hover,
.profile-edit-button:hover,
button[data-profile-edit]:hover,
.professional-type-option:hover,
.show-password:hover { transform: none !important; }

.dashboard-header-search button,
.dashboard-header-search button:hover { background: transparent !important; color: var(--jr-blue) !important; }
.sidebar-nav-link.logout-link,
.sidebar-nav-link.logout-link:hover { color: #fff !important; background: transparent !important; }
.job-save-button,
.job-save-button:hover { background: #fff !important; border-color: var(--jr-navy) !important; color: var(--jr-navy) !important; }
.view-job-button,
.view-job-button:hover,
.public-view-job-button,
.public-view-job-button:hover { background: #fff !important; border-color: var(--jr-navy) !important; color: var(--jr-navy) !important; }
.filter-reset-button,
.filter-reset-button:hover,
.application-secondary-button,
.application-secondary-button:hover,
.profile-cancel-button,
.profile-cancel-button:hover,
.crop-cancel-button,
.crop-cancel-button:hover { background: #fff !important; border-color: var(--jr-navy) !important; color: var(--jr-navy) !important; }

.category-card:hover,
.top-company-card:hover,
.featured-card:hover,
.discover-card:hover,
.professional-type-option:hover,
#education-section .education-section-card:hover,
#candidate-details:hover,
.profile-section-card:hover,
.resume-guidelines-card:hover { background: #fff !important; border-color: var(--jr-border) !important; }
.featured-card:hover .featured-jobs { background: #f4f5f7 !important; color: var(--jr-navy) !important; }

/* Keep small UI chips and secondary panels neutral instead of pale blue. */
.popular-location-link,
.popular-location-link:hover,
.jobs-empty-icon,
.application-record-company-mark,
.application-record-details,
.application-progress-block,
.application-modal-note,
.applications-empty-state > span,
.application-status-badge,
.tone-applied,
.tone-review,
.tone-scheduled,
.tone-selected,
.tone-rejected,
.tone-withdrawn,
.featured-jobs {
    background-color: #f4f5f7 !important;
    color: var(--jr-navy) !important;
}
.jobs-empty-icon,
.application-record-company-mark { background-color: var(--jr-navy) !important; color: #fff !important; }

@media (max-width: 1240px) {
    .candidate-session-greeting { max-width: 118px; }
}
@media (max-width: 1000px) {
    .candidate-session-actions { flex-wrap: nowrap !important; }
}
@media (max-width: 720px) {
    .candidate-session-actions { flex-wrap: wrap !important; }
}

/* Form controls retain their borders on hover; focus remains accessible. */
input:hover,
select:hover,
textarea:hover,
.input-wrapper input:hover,
.input-wrapper select:hover,
.application-field input:hover,
.application-field select:hover,
.application-field textarea:hover,
.profile-field input:hover,
.profile-field select:hover,
.profile-field textarea:hover {
    border-color: var(--jr-border-strong) !important;
    background-color: #fff;
}
.google-button,
.google-button:hover { background: #fff !important; border-color: var(--jr-border-strong) !important; color: var(--jr-navy) !important; box-shadow: none !important; }
.password-toggle,
.password-toggle:hover,
.show-password,
.show-password:hover { color: var(--jr-blue) !important; background: transparent !important; }
.header-links a,
.header-links a:hover { color: var(--jr-navy) !important; background: transparent !important; transform: none !important; }
.header-links .back-dashboard,
.header-links .back-dashboard:hover { color: #fff !important; background: var(--jr-blue) !important; border-color: var(--jr-blue) !important; transform: none !important; }
.edit-profile-button,
.profile-edit-button,
button[data-profile-edit],
.edit-profile-button:hover,
.profile-edit-button:hover,
button[data-profile-edit]:hover { color: #fff !important; background: var(--jr-orange) !important; border-color: var(--jr-orange) !important; box-shadow: none !important; transform: none !important; }
.resume-existing a,
.resume-existing a:hover,
.resume-view-link,
.resume-view-link:hover,
.resume-upload-shortcut a,
.resume-upload-shortcut a:hover,
.filter-view-more,
.filter-view-more:hover { color: var(--jr-blue) !important; background: transparent !important; }
.edit-profile-link,
.edit-profile-link:hover { color: var(--jr-navy) !important; background: #fff !important; border-color: var(--jr-border) !important; }
.application-field input:hover,
.application-field select:hover,
.application-field textarea:hover { border-color: var(--jr-border-strong) !important; }


/* REVEAL JOB job classification and per-listing metadata */
.public-job-classification{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 12px;align-items:center}
.job-career-badge,.job-detail-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:11px;line-height:1.25;font-weight:700;letter-spacing:.01em;border:1px solid #d9e0e8;background:#fff;color:#183653}
.job-career-badge.is-it{background:var(--jr-navy);border-color:var(--jr-navy);color:#fff}
.job-career-badge.is-non-it{background:var(--jr-orange);border-color:var(--jr-orange);color:#fff}
.job-detail-badge{font-weight:500;background:#f7f8fa;color:#34495e;border-color:#e5e9ef}


/* Persistent Saved Jobs controls */
.job-save-form { display: inline-flex; margin: 0; flex: 0 0 auto; }
.job-save-button { cursor: pointer; }
.job-save-button.saved { color: #ff5a0a !important; border-color: #ff5a0a !important; background: #fff8f3 !important; }
.public-job-footer-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.public-save-job-form { display: inline-flex; margin: 0; }
.public-save-job-button { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #cbd5e1; border-radius: 8px; padding: 0 12px; background: #fff; color: #082b4c; font-size: 12px; font-weight: 750; cursor: pointer; }
.public-save-job-button.is-saved { color: #ff5a0a; border-color: #ff5a0a; background: #fff8f3; }
.public-save-job-button:hover, .saved-remove-button:hover { filter: brightness(.98); }
.job-action-feedback { max-width: 1260px; margin: 14px auto 0; padding: 12px 16px; border-radius: 9px; background: #effaf3; border: 1px solid #c7ebd1; color: #166534; font-size: 13px; font-weight: 650; }
.job-action-feedback.is-error { background: #fff4f2; border-color: #ffd4cb; color: #a83221; }
@media (max-width: 640px) { .public-job-footer-actions { justify-content: flex-start; } }


/* FINAL REVEAL JOB polish: distinctive navy + orange system, consistent on every page. */
:root {
  --jr-navy:#102a43; --jr-navy-deep:#071a2d; --jr-navy-soft:#193b59;
  --jr-blue:#102a43; --jr-blue-deep:#071a2d; --jr-orange:#ff6b35; --jr-orange-deep:#e95722;
  --jr-canvas:#f5f6f8; --jr-surface:#fff; --jr-border:#dfe3e8; --jr-border-strong:#b8c1cc;
  --jr-text:#172b3e; --jr-muted:#657386;
}
.site-header {
  background:linear-gradient(110deg,#071a2d 0%,#102a43 72%,#193b59 100%) !important;
  border-bottom:3px solid #ff6b35 !important;
  box-shadow:0 5px 18px rgba(7,26,45,.14) !important;
}
.site-header .brand,.site-header .main-nav > a,.site-header .nav-dropdown > .nav-dropdown-trigger,
.site-header .header-nav-link,.site-header .candidate-session-greeting,.site-header .header-actions a:not(.btn) {
  color:#fff !important;
}
.site-header .main-nav > a:hover,.site-header .nav-dropdown > .nav-dropdown-trigger:hover,
.site-header .header-nav-link:hover { color:#ff9a73 !important; }
.site-header .btn-register,.site-header .header-actions .btn-register,
.site-header .header-actions .btn-primary {
  background:#ff6b35 !important;border-color:#ff6b35 !important;color:#fff !important;
}
.site-header .btn-register:hover,.site-header .header-actions .btn-register:hover,
.site-header .header-actions .btn-primary:hover { background:#e95722 !important;border-color:#e95722 !important;color:#fff !important; }
.site-header .btn-login,.site-header .header-actions .btn-login {
  background:transparent !important;border-color:rgba(255,255,255,.7) !important;color:#fff !important;
}
.site-header .btn-login:hover,.site-header .header-actions .btn-login:hover { background:rgba(255,255,255,.09) !important;border-color:#ff9a73 !important;color:#fff !important; }
.dashboard-sidebar {
  background:linear-gradient(180deg,#071a2d 0%,#102a43 58%,#0b2035 100%) !important;
  border-right:1px solid rgba(255,255,255,.09) !important;
  box-shadow:7px 0 24px rgba(7,26,45,.12) !important;
}
.sidebar-nav-link { color:#d5dee7 !important; }
.sidebar-nav-link:hover { background:rgba(255,107,53,.12) !important;color:#fff !important;transform:translateX(2px); }
.sidebar-nav-link.active { background:#ff6b35 !important;color:#fff !important;box-shadow:0 7px 18px rgba(255,107,53,.2) !important; }
.sidebar-nav-link.active::before { background:#fff !important; }
.sidebar-nav-count { background:#ff6b35 !important;color:#fff !important; }
.jobs-page-body,.application-page-body,.dashboard-body { background:#f5f6f8 !important; }
.jobs-search-panel,.jobs-filter-panel,.jobs-tips-card,.public-job-card,.application-record-card,
.application-form-card,.application-job-summary,.saved-job-card,.profile-section-card {
  border-color:#dfe3e8 !important;box-shadow:0 5px 18px rgba(16,42,67,.055) !important;
}
.jobs-eyebrow,.application-eyebrow,.saved-jobs-eyebrow { color:#e95722 !important; }
.jobs-search-button,.filter-apply-button,.jobs-promo-primary,.application-primary-button,
.saved-action-link,.saved-remove-button {
  background:#ff6b35 !important;border-color:#ff6b35 !important;color:#fff !important;
}
.jobs-search-button:hover,.filter-apply-button:hover,.jobs-promo-primary:hover,
.application-primary-button:hover,.saved-action-link:hover,.saved-remove-button:hover {
  background:#e95722 !important;border-color:#e95722 !important;color:#fff !important;filter:none !important;
}
.back-home-link,.jobs-search-field>i,.application-record-meta i,.application-record-details summary,
.application-record-details summary i { color:#102a43 !important; }
.job-career-badge.is-it { background:#102a43 !important;border-color:#102a43 !important;color:#fff !important; }
.job-career-badge.is-non-it { background:#ff6b35 !important;border-color:#ff6b35 !important;color:#fff !important; }
input:focus,select:focus,textarea:focus,.jobs-search-field:focus-within { border-color:#ff6b35 !important;box-shadow:0 0 0 3px rgba(255,107,53,.12) !important; }
@media(max-width:720px) {
  .site-header .header-inner { width:calc(100% - 24px) !important; }
  .jobs-results-heading { align-items:flex-start; }
}

/* FINAL BRAND POLISH: light navigation and sidebar with bold dark labels. */
.site-header {
  background: #fff !important;
  border-bottom: 2px solid #D9DEE7 !important;
  box-shadow: 0 3px 14px rgba(9, 39, 70, .06) !important;
}
.site-header .brand,
.site-header .main-nav > a,
.site-header .nav-dropdown > .nav-dropdown-trigger,
.site-header .header-nav-link,
.site-header .candidate-session-greeting,
.site-header .header-actions a:not(.btn) {
  color: #111827 !important;
  font-weight: 750 !important;
}
.site-header .main-nav > a:hover,
.site-header .nav-dropdown > .nav-dropdown-trigger:hover,
.site-header .header-nav-link:hover,
.site-header .header-actions a:not(.btn):hover {
  color: var(--jr-orange) !important;
}
.site-header .btn-login,
.site-header .header-actions .btn-login {
  background: #fff !important;
  border: 1px solid #d1d5db !important;
  color: #111827 !important;
}
.site-header .btn-login:hover,
.site-header .header-actions .btn-login:hover {
  border-color: var(--jr-orange) !important;
  color: var(--jr-orange) !important;
  background: #fff7f2 !important;
}
.dashboard-sidebar,
.profile-body-layout > .sidebar {
  background: #fff !important;
  color: #111827 !important;
  border-right: 1px solid #e5e7eb !important;
  box-shadow: 3px 0 14px rgba(17, 24, 39, .035) !important;
}
.dashboard-sidebar .sidebar-nav-link,
.profile-body-layout > .sidebar .sidebar-nav a,
.profile-body-layout > .sidebar nav a,
.sidebar-nav-link {
  color: #111827 !important;
  background: transparent !important;
  border-color: transparent !important;
  font-weight: 700 !important;
  border-radius: 9px !important;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.dashboard-sidebar .sidebar-nav-link:hover,
.profile-body-layout > .sidebar .sidebar-nav a:hover,
.profile-body-layout > .sidebar nav a:hover,
.sidebar-nav-link:hover,
.sidebar-nav-link.logout-link:hover {
  color: #e95722 !important;
  background: #fff2eb !important;
  transform: translateX(2px);
}
.dashboard-sidebar .sidebar-nav-link.active,
.profile-body-layout > .sidebar .sidebar-nav a.active,
.profile-body-layout > .sidebar nav a.active,
.profile-body-layout > .sidebar a[aria-current="page"],
.sidebar-nav-link.active {
  color: #e95722 !important;
  background: #fff0e8 !important;
  border-color: #ffe0d1 !important;
  box-shadow: inset 3px 0 0 var(--jr-orange) !important;
}
.sidebar-nav-link.active::before { background: var(--jr-orange) !important; }
.sidebar-nav-count { background: var(--jr-orange) !important; color: #fff !important; }
.sidebar-nav-link.logout-link,
.sidebar-nav-link.logout-link:hover { color: #111827 !important; }
@media (max-width: 720px) {
  .dashboard-sidebar,
  .profile-body-layout > .sidebar { box-shadow: none !important; }
}


/* REVEAL JOB unified visual polish (blue/orange brand) */
:root{--rj-blue:#1769e0;--rj-orange:#f58220;--rj-ink:#172b45;--rj-line:#d9dee7;--rj-soft:#f6f9fd}
.auth-top-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 22px}
.auth-top-button{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--rj-blue);border-radius:10px;text-decoration:none;font-weight:750;color:var(--rj-blue);background:#fff;transition:background .18s,color .18s,transform .18s}
.auth-top-button.is-active,.auth-top-button:hover{background:var(--rj-blue);color:#fff}
.auth-top-button:not(.is-active):hover{background:var(--rj-orange);border-color:var(--rj-orange)}
.dashboard-header{border-bottom:2px solid #D9DEE7!important;box-shadow:0 2px 8px rgba(19,43,67,.06)!important}
.dashboard-logout-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 15px;border-radius:9px;background:var(--rj-orange);color:#fff;text-decoration:none;font-size:14px;font-weight:750;white-space:nowrap;transition:background .18s,transform .18s}
.dashboard-logout-button:hover{background:#df6f13;color:#fff;transform:translateY(-1px)}
.jobs-search-panel{border:1px solid #d7e4f4;box-shadow:0 7px 22px rgba(23,105,224,.08);border-radius:16px}
.jobs-search-field{border-radius:11px}
.jobs-search-field:focus-within{border-color:var(--rj-blue);box-shadow:0 0 0 3px rgba(23,105,224,.10);background:#fff}
.jobs-search-button,.filter-apply-button{background:var(--rj-orange)!important;color:#fff!important;border-radius:11px}
.jobs-search-button:hover,.filter-apply-button:hover{background:#df6f13!important}
@media(max-width:600px){.auth-top-actions{gap:8px}.dashboard-logout-button{padding:0 10px;min-height:38px}}

/* REVEAL JOB shared fixed-header separator and responsive polish */
.site-header { border-bottom: 2px solid #D9DEE7 !important; }
.auth-top-actions { display:flex; gap:12px; justify-content:center; margin:18px 0 22px; }
.auth-top-button { display:inline-flex; align-items:center; justify-content:center; min-width:120px; min-height:44px; padding:10px 22px; border:1px solid #1769E0; border-radius:10px; background:#1769E0; color:#fff; font:inherit; font-weight:700; text-decoration:none; cursor:pointer; }
.auth-top-button:not(.is-active) { background:#fff; color:#1769E0; }
.auth-top-button:hover { filter:brightness(.96); }
@media(max-width:480px){.auth-top-actions{gap:8px}.auth-top-button{flex:1;min-width:0}}

/* REVEAL JOB site-wide navy and orange brand refinements */
:root { --jr-navy:#0B1F3A; --jr-navy-deep:#071529; --jr-navy-soft:#17385E; --jr-blue:#0B1F3A; --jr-blue-deep:#071529; --jr-orange:#F58220; }



/* REVEAL JOB: keep search fields borderless while typing/focused */
input[type="search"]:focus,
input[type="search"]:focus-visible,
input.search-input:focus,
.search-box input:focus,
.search-bar input:focus,
.jobs-search-field input:focus,
.company-filter-search input:focus {
    border-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}


/* REVEAL JOB global search focus cleanup */
input[type="search"]:focus,input[type="search"]:focus-visible,input[name*="search"]:focus,input[name*="keyword"]:focus,input[name*="location"]:focus,.search-box input:focus,.search-bar input:focus,.jobs-search-field input:focus,.company-filter-search input:focus,.homepage-search input:focus,.job-search-form input:focus,.search-form input:focus{outline:0!important;box-shadow:none!important;border-color:transparent!important}

/* Site-wide search fields: no visible border or focus ring. */
input[type="search"], input[name*="keyword"], input[name*="location"], .search-box input, .search-bar input, .jobs-search-field input, .company-filter-search input, .homepage-search input, .job-search-form input, .search-form input { border-color: transparent !important; outline: none !important; box-shadow: none !important; }
input[type="search"]:focus, input[name*="keyword"]:focus, input[name*="location"]:focus, .search-box input:focus, .search-bar input:focus, .jobs-search-field input:focus, .company-filter-search input:focus, .homepage-search input:focus, .job-search-form input:focus, .search-form input:focus { border-color: transparent !important; outline: none !important; box-shadow: none !important; }


/* Account controls: Logout remains visible; Settings lives in the three-dot menu. */
.dashboard-account-actions { display:flex; align-items:center; gap:10px; margin-left:auto; }
.dashboard-account-menu { position:relative; display:inline-flex; align-items:center; flex:0 0 auto; z-index:7000; }
.dashboard-account-menu-trigger { width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #dbe2ec; border-radius:50%; background:#fff; color:#102746; cursor:pointer; font-size:19px; transition:background .18s ease,border-color .18s ease; }
.dashboard-account-menu-trigger:hover, .dashboard-account-menu.is-open .dashboard-account-menu-trigger { background:#f4f7fb; border-color:#b9c8dc; }
.dashboard-account-menu-dropdown { position:absolute; top:calc(100% + 8px); right:0; min-width:170px; padding:7px; background:#fff; border:1px solid #e0e6ef; border-radius:12px; box-shadow:0 14px 34px rgba(10,30,60,.16); opacity:0; visibility:hidden; transform:translateY(5px); transition:opacity .16s ease, transform .16s ease, visibility .16s ease; z-index:99999; }
.dashboard-account-menu.is-open .dashboard-account-menu-dropdown, .dashboard-account-menu:focus-within .dashboard-account-menu-dropdown { opacity:1; visibility:visible; transform:translateY(0); }
.dashboard-account-menu-dropdown a { display:flex; align-items:center; gap:10px; min-height:40px; padding:0 11px; border-radius:8px; color:#142844; text-decoration:none; font-size:13px; font-weight:600; white-space:nowrap; }
.dashboard-account-menu-dropdown a:hover { background:#fff0e8; color:#f47721; }
.dashboard-account-menu-dropdown a i { width:16px; text-align:center; }
.profile-account-menu { margin-left:8px; }
.profile-page-header { overflow:visible !important; }

/* Long candidate names should display in full under the profile photo. */
.sidebar-candidate-name { max-width:100%; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; overflow-wrap:anywhere; word-break:normal; line-height:1.35; }
.dashboard-account-actions .dashboard-logout-button, .profile-page-header .dashboard-logout-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:0 17px; border:0; border-radius:10px; background:#fb7b1e; color:#fff; font-weight:700; text-decoration:none; white-space:nowrap; }
.dashboard-account-actions .dashboard-logout-button:hover, .profile-page-header .dashboard-logout-button:hover { background:#ed6d13; color:#fff; }
@media (max-width:720px) { .dashboard-account-actions { gap:6px; } .dashboard-account-actions .dashboard-logout-button, .profile-page-header .dashboard-logout-button { padding:0 10px; min-height:38px; } .dashboard-account-menu-trigger { width:38px; height:38px; } }

/* REVEAL JOB header alignment update: nav sits to the right and mega-menus anchor to their own labels. */
@media (min-width: 901px) {
  .site-header .header-inner { display:flex; align-items:center; gap:clamp(14px,2vw,28px); }
  .site-header .brand { flex:0 0 auto; }
  .site-header .main-nav, .site-header .candidate-shared-nav { margin-left:auto !important; justify-content:flex-end; }
  .site-header .header-actions { margin-left:clamp(14px,2vw,28px) !important; }
  .site-header .nav-dropdown { position:relative; }
  .site-header .mega-menu { left:0; right:auto; transform:translateY(-8px); }
  .site-header .nav-dropdown:hover .mega-menu, .site-header .nav-dropdown.open .mega-menu, .site-header .nav-dropdown:focus-within .mega-menu { transform:translateY(0); }
  .site-header .jobs-menu, .site-header .companies-menu { left:0; }
  .site-header .services-menu { left:auto; right:0; }
}
.site-header { background:#fff !important; }
.site-header .mega-menu { background:#fff; border:1px solid #e1e6ef; border-radius:18px; box-shadow:0 18px 42px rgba(11,31,58,.13); }
.site-header .mega-column + .mega-column { border-left:1px solid #e1e6ef; }


/* FINAL REQUEST: prevent mega-menus from opening upward on any themed header. */
@media (min-width: 701px) {
  .site-header .nav-dropdown { position:relative !important; }
  .site-header .nav-dropdown > .mega-menu,
  .site-header .nav-dropdown > .jobs-menu,
  .site-header .nav-dropdown > .companies-menu,
  .site-header .nav-dropdown > .services-menu {
    position:absolute !important; top:calc(100% - 1px) !important; bottom:auto !important;
    transform:translateY(0) !important; margin-top:0 !important; z-index:25000 !important;
  }
  .site-header .nav-dropdown > .companies-menu { left:0 !important; right:auto !important; }
  .site-header .nav-dropdown > .services-menu { left:auto !important; right:0 !important; }
}


/* REVEAL JOB unified header and mega-menu behavior (final authoritative rules). */
@media (min-width: 701px) {
  .site-header .header-inner { display:flex !important; align-items:center !important; gap:clamp(22px, 3vw, 46px) !important; }
  .site-header .brand { flex:0 0 auto !important; margin-right:clamp(12px, 1.8vw, 28px) !important; }
  .site-header .main-nav { margin-left:0 !important; margin-right:auto !important; justify-content:flex-start !important; gap:clamp(22px, 2.5vw, 38px) !important; }
  .site-header .header-actions { margin-left:auto !important; flex:0 0 auto !important; }
  .site-header .nav-dropdown { position:relative !important; }
  .site-header .nav-dropdown > .mega-menu,
  .candidate-shared-nav .nav-dropdown > .mega-menu {
    position:fixed !important; top:var(--rj-menu-top, 160px) !important; bottom:auto !important;
    left:var(--rj-menu-left, 12px) !important; right:auto !important;
    transform:none !important; margin:0 !important;
    max-width:calc(100vw - 24px) !important; max-height:min(70vh,560px) !important;
    overflow:auto !important; box-sizing:border-box !important; z-index:25000 !important;
  }
}
.site-header .mega-menu, .candidate-shared-nav .mega-menu { box-sizing:border-box !important; }
@media (max-width:700px) {
  .site-header .header-inner { flex-wrap:wrap !important; gap:10px 16px !important; }
  .site-header .brand { margin-right:0 !important; }
  .site-header .main-nav, .site-header .candidate-shared-nav { margin-left:0 !important; gap:16px !important; }
  .site-header .nav-dropdown > .mega-menu, .candidate-shared-nav .nav-dropdown > .mega-menu {
    position:fixed !important; top:var(--rj-menu-top, 130px) !important; bottom:auto !important;
    left:12px !important; right:auto !important; width:calc(100vw - 24px) !important;
    max-width:calc(100vw - 24px) !important; max-height:70vh !important; overflow:auto !important;
    grid-template-columns:1fr !important; transform:none !important; z-index:25000 !important;
  }
  .site-header .header-actions { margin-left:auto !important; }
}
