﻿/* Dream Job ultimate live fixes.
   Load after every other stylesheet. This file is intentionally final. */

@keyframes djpUltimateBannerPan {
  0% {
    transform: scale(1.03) translate3d(0, 0, 0);
  }
  50% {
    transform: scale(1.11) translate3d(-1.6%, -1%, 0);
  }
  100% {
    transform: scale(1.03) translate3d(0, 0, 0);
  }
}

/* Header must remain visible. */
.top-trust-strip {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 70 !important;
}

.site-header,
.site-header:hover,
.site-header:focus-within,
body:has(.site-header:hover) .site-header,
body:has(.site-header:focus-within) .site-header,
body:has(.top-trust-strip:hover) .site-header,
body:has(.top-trust-strip:focus-within) .site-header {
  position: sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 999 !important;
}

body::before {
  content: none !important;
  display: none !important;
}

/* Inner banners: full cinematic height + animated image layer. */
body:not([data-page="home"]) .page-hero,
body:not([data-page="home"]) .job-detail-hero,
body:not([data-page="home"]) .role-landing-hero,
body:not([data-page="home"]) .jobify-hero,
body[data-page="jobs"] .jobs-search-hero,
body[data-page="jobs"] .hero.compact.jobs-search-hero {
  position: relative !important;
  min-height: 82vh !important;
  min-height: 82svh !important;
  display: grid !important;
  align-items: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #10243b !important;
}

body:not([data-page="home"]) .page-hero::before,
body:not([data-page="home"]) .job-detail-hero::before,
body:not([data-page="home"]) .role-landing-hero::before,
body:not([data-page="home"]) .jobify-hero::before,
body[data-page="jobs"] .jobs-search-hero::before,
body[data-page="jobs"] .hero.compact.jobs-search-hero::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: -5% !important;
  z-index: 0 !important;
  background-image: var(--djp-banner-image) !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  transform-origin: center center !important;
  animation: djpUltimateBannerPan 18s ease-in-out infinite !important;
  will-change: transform !important;
}

body:not([data-page="home"]) .page-hero-bg-image,
body:not([data-page="home"]) .job-detail-hero-bg-image,
body:not([data-page="home"]) .role-landing-media img,
body:not([data-page="home"]) .jobify-hero-media img,
body[data-page="jobs"] .jobs-search-hero .hero-bg img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: saturate(1.08) contrast(1.05) brightness(.98) !important;
  transform-origin: center center !important;
  animation: djpUltimateBannerPan 18s ease-in-out infinite !important;
  will-change: transform !important;
}

body:not([data-page="home"]) .page-hero::after,
body:not([data-page="home"]) .job-detail-hero::after,
body:not([data-page="home"]) .role-landing-hero::after,
body:not([data-page="home"]) .jobify-hero::after,
body[data-page="jobs"] .jobs-search-hero::after,
body[data-page="jobs"] .hero.compact.jobs-search-hero::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(94deg, rgba(16, 36, 59, .76) 0%, rgba(16, 36, 59, .54) 42%, rgba(16, 36, 59, .24) 100%),
    radial-gradient(circle at 18% 46%, rgba(111, 183, 227, .22), transparent 34%),
    linear-gradient(180deg, rgba(16, 36, 59, .26), transparent 34%, rgba(16, 36, 59, .30)) !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body:not([data-page="home"]) .page-hero-shell,
body:not([data-page="home"]) .job-detail-hero-shell,
body:not([data-page="home"]) .role-landing-shell,
body:not([data-page="home"]) .jobify-hero-shell,
body[data-page="jobs"] .jobs-search-hero .hero-content,
body[data-page="jobs"] .jobs-search-hero .jobs-find-hero {
  position: relative !important;
  z-index: 2 !important;
  width: min(100% - 48px, 1180px) !important;
  max-width: 1180px !important;
  min-height: 82vh !important;
  min-height: 82svh !important;
  margin: 0 auto !important;
  padding: clamp(118px, 14vh, 156px) 0 clamp(96px, 12vh, 136px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body:not([data-page="home"]) .page-hero h1,
body:not([data-page="home"]) .job-detail-hero h1,
body:not([data-page="home"]) .role-landing-hero h1,
body:not([data-page="home"]) .jobify-hero h1,
body[data-page="jobs"] .jobs-search-hero h1 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  text-shadow:
    0 4px 10px rgba(0, 0, 0, .76),
    0 20px 48px rgba(0, 0, 0, .46) !important;
}

body:not([data-page="home"]) .page-hero p:not(.eyebrow),
body:not([data-page="home"]) .job-detail-hero p:not(.eyebrow),
body:not([data-page="home"]) .role-landing-hero p:not(.eyebrow),
body:not([data-page="home"]) .jobify-hero p:not(.eyebrow),
body[data-page="jobs"] .jobs-search-hero p:not(.eyebrow) {
  color: rgba(255, 255, 255, .97) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, .97) !important;
  text-shadow:
    0 3px 8px rgba(0, 0, 0, .76),
    0 16px 34px rgba(0, 0, 0, .44) !important;
}

/* Mobile-safe share icons. */
.share-platform-icon {
  position: relative !important;
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.share-platform-icon::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

.share-platform-icon svg {
  opacity: 0 !important;
}

.share-platform-icon-whatsapp::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 11.6a6.9 6.9 0 0 1-10.5 5.9l-3 .6.7-2.8A6.9 6.9 0 1 1 19 11.6Z' fill='none' stroke='%2310243B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9.5 9.2c.5 1.5 1.7 3.1 3.9 4.3.7.4 1.3.1 1.9-.8' fill='none' stroke='%2310243B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.share-platform-icon-linkedin::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4.5' y='4.5' width='15' height='15' rx='3.2' fill='none' stroke='%2310243B' stroke-width='2.2'/%3E%3Ccircle cx='8' cy='8.2' r='1.2' fill='%2310243B'/%3E%3Cpath d='M8 11v5.1M11.6 11v5.1M11.6 12.2c.6-.8 1.5-1.2 2.5-1.2 1.7 0 2.7 1.1 2.7 3v2.1' fill='none' stroke='%2310243B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

.share-platform-icon-copy::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.2 14.8 7.9 16.1a3.1 3.1 0 0 1-4.4-4.4l2.7-2.7a3.1 3.1 0 0 1 4.4 0' fill='none' stroke='%2310243B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M14.8 9.2 16.1 7.9a3.1 3.1 0 0 1 4.4 4.4l-2.7 2.7a3.1 3.1 0 0 1-4.4 0' fill='none' stroke='%2310243B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8.8 15.2 15.2 8.8' fill='none' stroke='%2310243B' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
}

/* Final global spacing audit: prevent text from touching card, pill, form, and table borders. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

.card,
.panel,
.table-card,
.media-card,
.job-card,
.job-detail-card,
.guide-check-card,
.candidate-card,
.candidate-step,
.candidate-action-card,
.candidate-dashboard-card,
.employer-card,
.pricing-card,
.plan-card,
.dashboard-card,
.kpi-card,
.metric-card,
.contact-card,
.proposal-card,
.policy-card,
.blog-card,
.article-card,
.review-card,
.testimonial-card,
.trust-card,
.category-card,
.role-card,
.snapshot-card,
.role-snapshot-card,
.premium-search,
.search-card,
.form-card,
.admin-shell .card,
.admin-shell .panel,
.admin-shell .kpi,
.admin-shell .metric-card,
.admin-shell .dashboard-card,
.admin-shell .table-card {
  padding: clamp(20px, 2.15vw, 30px) !important;
  border-radius: 22px !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

.card > :first-child,
.panel > :first-child,
.job-card > :first-child,
.job-detail-card > :first-child,
.candidate-card > :first-child,
.employer-card > :first-child,
.pricing-card > :first-child,
.plan-card > :first-child,
.contact-card > :first-child,
.proposal-card > :first-child,
.policy-card > :first-child,
.blog-card > :first-child,
.article-card > :first-child,
.admin-shell .card > :first-child,
.admin-shell .panel > :first-child {
  margin-top: 0 !important;
}

.card > :last-child,
.panel > :last-child,
.job-card > :last-child,
.job-detail-card > :last-child,
.candidate-card > :last-child,
.employer-card > :last-child,
.pricing-card > :last-child,
.plan-card > :last-child,
.contact-card > :last-child,
.proposal-card > :last-child,
.policy-card > :last-child,
.blog-card > :last-child,
.article-card > :last-child,
.admin-shell .card > :last-child,
.admin-shell .panel > :last-child {
  margin-bottom: 0 !important;
}

.pill,
.status,
.badge,
.chip,
.tag,
.job-badge,
.master-job-badges span,
.media-pill,
.category-tab,
.filter-pill,
.tab-pill,
.sidebar a,
.tabs a,
.job-category-tabs a,
.blog-category-tabs a,
.admin-control-room-nav a,
.admin-sidebar a,
.btn,
.button,
.nav-button,
button[type="submit"],
input[type="submit"] {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 16px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.1 !important;
  max-width: 100%;
}

.hero-actions,
.card-actions,
.job-card-actions,
.job-actions,
.share-row,
.job-card-share-actions,
.socials,
.admin-actions,
.form-actions,
.button-row,
.quick-links,
.footer-links {
  gap: 12px !important;
  flex-wrap: wrap !important;
}

.share-row a,
.share-row button,
.job-card-share-actions a,
.job-card-share-actions button,
.socials a,
.socials button {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

input,
select,
textarea {
  min-height: 46px;
  padding: 12px 14px !important;
  line-height: 1.35 !important;
  max-width: 100%;
}

textarea {
  min-height: 118px;
}

label,
.form-note,
.checkbox-label,
.consent-box,
.policy-inline-links,
.terms-line,
.field-help,
.admin-help,
.small-copy {
  line-height: 1.65 !important;
  overflow-wrap: anywhere;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

th,
td {
  padding: 14px 16px !important;
  vertical-align: top !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 768px) {
  .top-trust-strip {
    display: none !important;
  }

  .site-header,
  .site-header:hover,
  .site-header:focus-within {
    position: sticky !important;
    top: 0 !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body:not([data-page="home"]) .page-hero,
  body:not([data-page="home"]) .job-detail-hero,
  body:not([data-page="home"]) .role-landing-hero,
  body:not([data-page="home"]) .jobify-hero,
  body[data-page="jobs"] .jobs-search-hero,
  body:not([data-page="home"]) .page-hero-shell,
  body:not([data-page="home"]) .job-detail-hero-shell,
  body:not([data-page="home"]) .role-landing-shell,
  body:not([data-page="home"]) .jobify-hero-shell,
  body[data-page="jobs"] .jobs-search-hero .hero-content {
    min-height: 72vh !important;
    min-height: 72svh !important;
  }

  .card,
  .panel,
  .table-card,
  .media-card,
  .job-card,
  .job-detail-card,
  .guide-check-card,
  .candidate-card,
  .candidate-step,
  .candidate-action-card,
  .candidate-dashboard-card,
  .employer-card,
  .pricing-card,
  .plan-card,
  .dashboard-card,
  .kpi-card,
  .metric-card,
  .contact-card,
  .proposal-card,
  .policy-card,
  .blog-card,
  .article-card,
  .review-card,
  .testimonial-card,
  .trust-card,
  .category-card,
  .role-card,
  .snapshot-card,
  .role-snapshot-card,
  .premium-search,
  .search-card,
  .form-card,
  .admin-shell .card,
  .admin-shell .panel,
  .admin-shell .kpi,
  .admin-shell .metric-card,
  .admin-shell .dashboard-card,
  .admin-shell .table-card {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  .pill,
  .status,
  .badge,
  .chip,
  .tag,
  .job-badge,
  .master-job-badges span,
  .media-pill,
  .category-tab,
  .filter-pill,
  .tab-pill,
  .sidebar a,
  .tabs a,
  .job-category-tabs a,
  .blog-category-tabs a,
  .admin-control-room-nav a,
  .admin-sidebar a,
  .btn,
  .button,
  .nav-button,
  button[type="submit"],
  input[type="submit"] {
    min-height: 40px !important;
    padding: 0 13px !important;
    max-width: 100% !important;
  }

  .premium-search form,
  .jobs-search-panel,
  .form-grid,
  .admin-grid,
  .dashboard-grid {
    gap: 12px !important;
  }
}

/* Final unified hero size lock: homepage and all public inner banners share one height system. */
body[data-page="home"] .master-hero,
body[data-page="home"] .master-hero-stage,
body[data-page="home"] .master-hero-overlay,
body:not([data-page="home"]) .page-hero,
body:not([data-page="home"]) .job-detail-hero,
body:not([data-page="home"]) .role-landing-hero,
body:not([data-page="home"]) .jobify-hero,
body[data-page="jobs"] .jobs-search-hero,
body[data-page="jobs"] .hero.compact.jobs-search-hero {
  min-height: 82vh !important;
  min-height: 82svh !important;
}

body[data-page="home"] .master-hero-carousel,
body[data-page="home"] .master-hero-carousel .jobify-hero-carousel,
body[data-page="home"] .master-hero-carousel .slide,
body[data-page="home"] .master-hero-carousel .slide img,
body[data-page="home"] .master-hero-carousel .jobify-hero-carousel img,
body:not([data-page="home"]) .page-hero > img,
body:not([data-page="home"]) .job-detail-hero > img,
body:not([data-page="home"]) .role-landing-hero > img,
body:not([data-page="home"]) .jobify-hero > img,
body[data-page="jobs"] .jobs-search-hero > img {
  height: 82vh !important;
  min-height: 82vh !important;
  min-height: 82svh !important;
  object-fit: cover !important;
}

@media (max-width: 768px) {
  body[data-page="home"] .master-hero,
  body[data-page="home"] .master-hero-stage,
  body[data-page="home"] .master-hero-overlay,
  body:not([data-page="home"]) .page-hero,
  body:not([data-page="home"]) .job-detail-hero,
  body:not([data-page="home"]) .role-landing-hero,
  body:not([data-page="home"]) .jobify-hero,
  body[data-page="jobs"] .jobs-search-hero,
  body[data-page="jobs"] .hero.compact.jobs-search-hero {
    min-height: 72vh !important;
    min-height: 72svh !important;
  }

  body[data-page="home"] .master-hero-carousel,
  body[data-page="home"] .master-hero-carousel .jobify-hero-carousel,
  body[data-page="home"] .master-hero-carousel .slide,
  body[data-page="home"] .master-hero-carousel .slide img,
  body[data-page="home"] .master-hero-carousel .jobify-hero-carousel img,
  body:not([data-page="home"]) .page-hero > img,
  body:not([data-page="home"]) .job-detail-hero > img,
  body:not([data-page="home"]) .role-landing-hero > img,
  body:not([data-page="home"]) .jobify-hero > img,
  body[data-page="jobs"] .jobs-search-hero > img {
    height: 72vh !important;
    min-height: 72vh !important;
    min-height: 72svh !important;
  }
}

/* Admin dashboard mockup alignment: premium control-room look without changing backend logic. */
body.admin-shell:not(.admin-login-page) {
  background:
    radial-gradient(circle at 12% 0%, rgba(111, 183, 227, .16), transparent 28%),
    linear-gradient(180deg, #F5F8FC 0%, #EEF4F9 44%, #F8FBFE 100%) !important;
  color: #122033 !important;
}

body.admin-shell:not(.admin-login-page) main.section {
  padding-top: 0 !important;
}

body.admin-shell:not(.admin-login-page) .container {
  width: min(1480px, calc(100% - 44px)) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child {
  position: relative;
  min-height: clamp(430px, 52vh, 600px);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  align-items: end;
  gap: 28px;
  margin: 0 0 24px;
  padding: clamp(30px, 4vw, 54px);
  overflow: hidden;
  border-radius: 0 0 34px 34px;
  background:
    linear-gradient(135deg, rgba(7, 24, 42, .82), rgba(16, 36, 59, .72)),
    url("/assets/hero-5.jpg") center / cover no-repeat;
  box-shadow: 0 28px 72px rgba(16, 36, 59, .16);
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child::before {
  content: "";
  position: absolute;
  inset: -8%;
  background:
    radial-gradient(circle at 18% 20%, rgba(111, 183, 227, .34), transparent 28%),
    radial-gradient(circle at 92% 12%, rgba(199, 166, 90, .18), transparent 26%);
  animation: djpUltimateBannerPan 20s ease-in-out infinite;
  pointer-events: none;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child > * {
  position: relative;
  z-index: 1;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .eyebrow {
  width: fit-content;
  background: rgba(248, 251, 254, .92) !important;
  color: #10243B !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .12);
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .admin-title,
body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child h1 {
  max-width: 760px;
  margin: 18px 0 14px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: clamp(46px, 6vw, 78px) !important;
  line-height: .94 !important;
  letter-spacing: -.045em !important;
  text-shadow: 0 4px 16px rgba(0, 0, 0, .42);
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .muted {
  max-width: 780px;
  color: rgba(248, 251, 254, .94) !important;
  font-size: 17px;
  line-height: 1.78;
  text-shadow: 0 3px 10px rgba(0, 0, 0, .36);
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .hero-actions {
  justify-content: flex-end;
  align-content: end;
  padding: 18px;
  border: 1px solid rgba(248, 251, 254, .18);
  border-radius: 24px;
  background: rgba(248, 251, 254, .10);
  backdrop-filter: blur(14px);
}

body.admin-shell:not(.admin-login-page) .admin-control-room-nav {
  position: sticky;
  top: 0;
  z-index: 80;
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 14px;
  margin: 0 0 22px;
  overflow-x: auto;
  border: 1px solid rgba(216, 227, 236, .92);
  border-radius: 24px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 18px 44px rgba(16, 36, 59, .08);
  backdrop-filter: blur(14px);
}

body.admin-shell:not(.admin-login-page) .admin-control-room-nav a {
  flex: 0 0 auto;
  min-height: 42px !important;
  padding: 0 16px !important;
  border: 1px solid #D8E3EC;
  border-radius: 999px;
  background: #F8FBFE;
  color: #10243B !important;
  font-weight: 800;
  text-decoration: none;
}

body.admin-shell:not(.admin-login-page) .admin-control-room-nav a:hover,
body.admin-shell:not(.admin-login-page) .admin-metric-link:hover,
body.admin-shell:not(.admin-login-page) .analytics-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(16, 36, 59, .12);
}

body.admin-shell:not(.admin-login-page) .kpi-row.admin-control-room-kpis {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(150px, 1fr));
  gap: 14px;
  margin: 0 0 28px;
}

body.admin-shell:not(.admin-login-page) .kpi {
  min-height: 128px;
  padding: 22px !important;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  justify-content: space-between !important;
  border: 1px solid rgba(216, 227, 236, .95);
  border-radius: 24px !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(245, 248, 252, .96)) !important;
  box-shadow: 0 18px 42px rgba(16, 36, 59, .08);
  color: #10243B !important;
  text-decoration: none;
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

body.admin-shell:not(.admin-login-page) .kpi strong {
  color: #10243B !important;
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1;
}

body.admin-shell:not(.admin-login-page) .kpi span {
  color: #385572 !important;
  font-weight: 800;
  line-height: 1.35;
}

body.admin-shell:not(.admin-login-page) .jobify-section-head,
body.admin-shell:not(.admin-login-page) .section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 4px 2px;
}

body.admin-shell:not(.admin-login-page) .jobify-section-head h2,
body.admin-shell:not(.admin-login-page) .section-head h2,
body.admin-shell:not(.admin-login-page) .jobify-section-head h3,
body.admin-shell:not(.admin-login-page) .section-head h3 {
  color: #10243B !important;
  line-height: 1.08 !important;
}

body.admin-shell:not(.admin-login-page) .analytics-grid,
body.admin-shell:not(.admin-login-page) .admin-grid,
body.admin-shell:not(.admin-login-page) .admin-chart-grid {
  gap: 18px !important;
}

body.admin-shell:not(.admin-login-page) .analytics-card,
body.admin-shell:not(.admin-login-page) .admin-chart-card,
body.admin-shell:not(.admin-login-page) .admin-cron-box,
body.admin-shell:not(.admin-login-page) .table-card,
body.admin-shell:not(.admin-login-page) .form-card,
body.admin-shell:not(.admin-login-page) .dashboard-card,
body.admin-shell:not(.admin-login-page) .panel {
  border: 1px solid rgba(216, 227, 236, .96) !important;
  border-radius: 26px !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 18px 46px rgba(16, 36, 59, .08) !important;
}

body.admin-shell:not(.admin-login-page) .analytics-card {
  min-height: 126px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-decoration: none;
  transition: transform .24s ease, box-shadow .24s ease;
}

body.admin-shell:not(.admin-login-page) .analytics-card strong {
  color: #10243B !important;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1.05;
}

body.admin-shell:not(.admin-login-page) .muted,
body.admin-shell:not(.admin-login-page) .field-note {
  color: #49647c !important;
  line-height: 1.7 !important;
}

body.admin-shell:not(.admin-login-page) .admin-cron-box {
  margin-top: 16px;
  padding: 20px !important;
  background: linear-gradient(145deg, #F8FBFE, #F1F6FA) !important;
}

body.admin-shell:not(.admin-login-page) .admin-cron-box code,
body.admin-shell:not(.admin-login-page) pre,
body.admin-shell:not(.admin-login-page) .code {
  display: block;
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid #D8E3EC;
  border-radius: 14px;
  background: #10243B;
  color: #F8FBFE;
  overflow-x: auto;
  white-space: pre-wrap;
}

body.admin-shell:not(.admin-login-page) .table {
  border-spacing: 0 10px !important;
  border-collapse: separate !important;
}

body.admin-shell:not(.admin-login-page) .table th {
  background: #10243B !important;
  color: #F8FBFE !important;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.admin-shell:not(.admin-login-page) .table td {
  background: #F8FBFE !important;
  color: #122033 !important;
  border-top: 1px solid #D8E3EC;
  border-bottom: 1px solid #D8E3EC;
}

body.admin-shell:not(.admin-login-page) .table td:first-child,
body.admin-shell:not(.admin-login-page) .table th:first-child {
  border-radius: 14px 0 0 14px;
  border-left: 1px solid #D8E3EC;
}

body.admin-shell:not(.admin-login-page) .table td:last-child,
body.admin-shell:not(.admin-login-page) .table th:last-child {
  border-radius: 0 14px 14px 0;
  border-right: 1px solid #D8E3EC;
}

body.admin-shell:not(.admin-login-page) label span,
body.admin-shell:not(.admin-login-page) label {
  color: #10243B !important;
  font-weight: 800;
}

body.admin-shell:not(.admin-login-page) input,
body.admin-shell:not(.admin-login-page) select,
body.admin-shell:not(.admin-login-page) textarea {
  border: 1px solid #D8E3EC !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #122033 !important;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-card {
  grid-column: 1 / -1;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-board {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(240px, 1fr));
  gap: 16px !important;
  overflow-x: auto;
  padding-bottom: 10px;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-column {
  min-width: 240px;
  padding: 16px !important;
  border: 1px solid #D8E3EC;
  border-radius: 22px;
  background: linear-gradient(180deg, #F8FBFE, #F1F6FA);
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-head strong,
body.admin-shell:not(.admin-login-page) .admin-pipeline-head span {
  color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-item {
  padding: 16px !important;
  margin-bottom: 12px;
  border: 1px solid #D8E3EC;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 26px rgba(16, 36, 59, .07);
  color: #122033 !important;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-item strong,
body.admin-shell:not(.admin-login-page) .admin-pipeline-item span,
body.admin-shell:not(.admin-login-page) .admin-pipeline-item em,
body.admin-shell:not(.admin-login-page) .admin-pipeline-open {
  color: #122033 !important;
  line-height: 1.45;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-open,
body.admin-shell:not(.admin-login-page) .admin-pipeline-more {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  margin-top: 10px;
  color: #10243B !important;
  font-weight: 900;
}

body.admin-shell:not(.admin-login-page) .admin-chart-card {
  min-height: 240px;
}

body.admin-shell:not(.admin-login-page) .admin-bar-track,
body.admin-shell:not(.admin-login-page) .admin-dual-track {
  overflow: hidden;
  border-radius: 999px;
  background: #E5EEF5 !important;
}

body.admin-shell:not(.admin-login-page) .admin-bar-track span,
body.admin-shell:not(.admin-login-page) .admin-bar-fill {
  background: linear-gradient(90deg, #6FB7E3, #10243B) !important;
}

@media (max-width: 1180px) {
  body.admin-shell:not(.admin-login-page) .kpi-row.admin-control-room-kpis {
    grid-template-columns: repeat(3, minmax(170px, 1fr));
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child {
    grid-template-columns: 1fr;
    align-items: end;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .hero-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 768px) {
  body.admin-shell:not(.admin-login-page) .container {
    width: min(100% - 28px, 1480px) !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child {
    min-height: 520px;
    padding: 24px;
    border-radius: 0 0 24px 24px;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .admin-title,
  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child h1 {
    font-size: 42px !important;
  }

  body.admin-shell:not(.admin-login-page) .kpi-row.admin-control-room-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.admin-shell:not(.admin-login-page) .kpi {
    min-height: 112px;
    padding: 18px !important;
  }

  body.admin-shell:not(.admin-login-page) .jobify-section-head,
  body.admin-shell:not(.admin-login-page) .section-head {
    display: grid;
    align-items: start;
  }

  body.admin-shell:not(.admin-login-page) .admin-pipeline-board {
    grid-template-columns: repeat(5, 82vw);
  }

  body.admin-shell:not(.admin-login-page) .table-card,
  body.admin-shell:not(.admin-login-page) .form-card,
  body.admin-shell:not(.admin-login-page) .analytics-card {
    border-radius: 20px !important;
  }
}

@media (max-width: 480px) {
  body.admin-shell:not(.admin-login-page) .kpi-row.admin-control-room-kpis {
    grid-template-columns: 1fr;
  }
}

/* Final admin dashboard hard lock: match mockup structure and prevent collapsed/vertical hero text. */
body.admin-shell:not(.admin-login-page) .admin-mock-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  min-height: 82px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 12px clamp(18px, 3vw, 42px) !important;
  border-bottom: 1px solid rgba(16, 36, 59, .08) !important;
  background: rgba(255, 255, 255, .94) !important;
  backdrop-filter: blur(16px) !important;
  box-shadow: 0 14px 34px rgba(16, 36, 59, .08) !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-brand {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: max-content !important;
  color: #10243B !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-brand img {
  width: 48px !important;
  height: 48px !important;
  object-fit: contain !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-brand span {
  display: grid !important;
  color: #10243B !important;
  line-height: 1.1 !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-brand small {
  color: #385572 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .03em !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-menu {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-menu a {
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 14px !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 999px !important;
  background: #F8FBFE !important;
  color: #10243B !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.admin-shell:not(.admin-login-page) main.section {
  padding: 0 0 54px !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container {
  width: min(1480px, calc(100vw - 44px)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child {
  width: 100% !important;
  max-width: 100% !important;
  min-height: clamp(430px, 52vh, 590px) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 26px !important;
  margin: 26px 0 24px !important;
  padding: clamp(30px, 4vw, 56px) !important;
  border: 1px solid rgba(248, 251, 254, .16) !important;
  border-radius: 34px !important;
  background:
    linear-gradient(135deg, rgba(7, 24, 42, .80), rgba(16, 36, 59, .70)),
    url("/assets/hero-5.jpg") center / cover no-repeat !important;
  box-shadow: 0 28px 72px rgba(16, 36, 59, .16) !important;
  overflow: hidden !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child > div:first-child {
  flex: 1 1 560px !important;
  width: auto !important;
  max-width: 840px !important;
  min-width: min(100%, 360px) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .admin-title {
  display: block !important;
  width: auto !important;
  max-width: 840px !important;
  margin: 18px 0 14px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-size: clamp(42px, 5.4vw, 70px) !important;
  line-height: .98 !important;
  letter-spacing: -.04em !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-shadow: 0 4px 18px rgba(0, 0, 0, .46) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .muted {
  max-width: 760px !important;
  color: rgba(248, 251, 254, .94) !important;
  font-size: 17px !important;
  line-height: 1.75 !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .hero-actions {
  flex: 1 1 360px !important;
  max-width: 520px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  padding: 18px !important;
  border: 1px solid rgba(248, 251, 254, .18) !important;
  border-radius: 24px !important;
  background: rgba(248, 251, 254, .10) !important;
  backdrop-filter: blur(14px) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .button {
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  body.admin-shell:not(.admin-login-page) .admin-mock-nav {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  body.admin-shell:not(.admin-login-page) .admin-mock-menu {
    justify-content: flex-start !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .hero-actions {
    justify-content: flex-start !important;
    max-width: 100% !important;
  }
}

@media (max-width: 640px) {
  body.admin-shell:not(.admin-login-page) main.section > .container {
    width: min(100% - 28px, 1480px) !important;
  }

  body.admin-shell:not(.admin-login-page) .admin-mock-menu {
    width: 100% !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    padding-bottom: 4px !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child {
    min-height: 480px !important;
    padding: 24px !important;
    border-radius: 26px !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child > div:first-child {
    min-width: 0 !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .admin-title {
    font-size: 38px !important;
  }
}

/* Final admin contrast lock: keep all dashboard copy visible after older CSS layers. */
body.admin-shell:not(.admin-login-page) :where(
  section:not(.admin-top),
  .table-card,
  .form-card,
  .analytics-card,
  .admin-chart-card,
  .dashboard-card,
  .panel,
  .admin-pipeline-column,
  .admin-pipeline-item,
  .admin-cron-box,
  .kpi
) {
  color: #122033 !important;
  -webkit-text-fill-color: currentColor !important;
}

body.admin-shell:not(.admin-login-page) :where(
  .table-card,
  .form-card,
  .analytics-card,
  .admin-chart-card,
  .dashboard-card,
  .panel,
  .admin-pipeline-column,
  .admin-pipeline-item,
  .admin-cron-box,
  .kpi
) :where(h1, h2, h3, h4, h5, h6, strong, label, label span, b) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) :where(
  .table-card,
  .form-card,
  .analytics-card,
  .admin-chart-card,
  .dashboard-card,
  .panel,
  .admin-pipeline-column,
  .admin-pipeline-item,
  .admin-cron-box,
  .kpi
) :where(p, span, small, em, li, td, div, .muted, .field-note) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
}

body.admin-shell:not(.admin-login-page) .table th,
body.admin-shell:not(.admin-login-page) .table th *,
body.admin-shell:not(.admin-login-page) table th,
body.admin-shell:not(.admin-login-page) table th * {
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

body.admin-shell:not(.admin-login-page) .table td,
body.admin-shell:not(.admin-login-page) .table td *,
body.admin-shell:not(.admin-login-page) table td,
body.admin-shell:not(.admin-login-page) table td * {
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
}

body.admin-shell:not(.admin-login-page) :where(input, select, textarea) {
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
  background: #fff !important;
}

body.admin-shell:not(.admin-login-page) :where(input::placeholder, textarea::placeholder) {
  color: #7b8da0 !important;
  -webkit-text-fill-color: #7b8da0 !important;
}

body.admin-shell:not(.admin-login-page) :where(
  .button-primary,
  .button-premium,
  .btn-gold,
  button[type="submit"]
) {
  background: #10243B !important;
  border-color: #10243B !important;
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

body.admin-shell:not(.admin-login-page) :where(
  .button-primary,
  .button-premium,
  .btn-gold,
  button[type="submit"]
) * {
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

body.admin-shell:not(.admin-login-page) :where(
  .button-secondary,
  .btn-ghost,
  .filter-button,
  .admin-control-room-nav a,
  .admin-mock-menu a
) {
  background: #F8FBFE !important;
  border-color: #D8E3EC !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) :where(.status, .pill, .badge, .media-pill, .chart-chip) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  background: #E9F4FB !important;
  border-color: #CFE1EF !important;
}

body.admin-shell:not(.admin-login-page) :where(.status-danger, .needs-attention) {
  color: #9f3028 !important;
  -webkit-text-fill-color: #9f3028 !important;
  background: #fff0ee !important;
  border-color: rgba(179, 63, 54, .25) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child,
body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child * {
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .eyebrow {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}
*** End of File

/* TRUE FINAL EOF LOCK - 2026-07-15.
   Keep this marker as the last active CSS layer. It overrides legacy duplicated rules above. */

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero) {
  min-height: clamp(560px, 82svh, 820px) !important;
  position: relative !important;
  display: grid !important;
  align-items: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #10243B !important;
  box-shadow: none !important;
}

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero)::before {
  content: "" !important;
  position: absolute !important;
  inset: -6% !important;
  z-index: 0 !important;
  background-image: var(--djp-banner-image, url("/assets/hero-2.jpg")) !important;
  background-size: cover !important;
  background-position: center !important;
  animation: djpLaunchBannerDrift 20s ease-in-out infinite !important;
}

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero)::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(96deg, rgba(16, 36, 59, .78) 0%, rgba(16, 36, 59, .54) 46%, rgba(16, 36, 59, .22) 100%),
    radial-gradient(circle at 18% 42%, rgba(111, 183, 227, .22), transparent 34%),
    linear-gradient(180deg, rgba(16, 36, 59, .14), rgba(16, 36, 59, .30)) !important;
}

body:not([data-page="home"]) :where(.page-hero-bg-image, .hero-bg, .job-detail-hero-bg-image) {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body:not([data-page="home"]) :where(.page-hero-bg-image img, .hero-bg img, .job-detail-hero-bg-image img),
body:not([data-page="home"]) :where(img.page-hero-bg-image) {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  opacity: 1 !important;
  filter: saturate(1.08) contrast(1.06) brightness(.94) !important;
  animation: djpLaunchBannerDrift 20s ease-in-out infinite !important;
}

body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
  position: relative !important;
  z-index: 2 !important;
  width: min(100% - 56px, 1180px) !important;
  max-width: 1180px !important;
  min-height: clamp(560px, 82svh, 820px) !important;
  margin-inline: auto !important;
  padding: clamp(112px, 14vh, 160px) 0 clamp(94px, 11vh, 132px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not([data-page="home"]) :where(.page-hero h1, .hero.compact.jobs-search-hero h1, .job-detail-hero h1, .role-landing-hero h1, .jobify-hero h1) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  max-width: 760px !important;
  text-shadow: 0 4px 12px rgba(0, 0, 0, .76), 0 24px 60px rgba(0, 0, 0, .46) !important;
}

body:not([data-page="home"]) :where(.page-hero p, .hero.compact.jobs-search-hero p, .job-detail-hero p, .role-landing-hero p, .jobify-hero p) {
  color: rgba(248, 251, 254, .96) !important;
  -webkit-text-fill-color: rgba(248, 251, 254, .96) !important;
  max-width: 720px !important;
  line-height: 1.75 !important;
  text-shadow: 0 3px 10px rgba(0, 0, 0, .70), 0 16px 34px rgba(0, 0, 0, .38) !important;
}

:where(.button, .btn, .mini-btn, .filter-button, .pill, .status, .status-pill, .media-pill, .theme-pill, .admin-tab-button, .category-tab, .tab-pill, .job-category-tabs a, .blog-category-tabs a, .pagination a, .pagination span, .nav-button) {
  min-height: 42px !important;
  max-width: 100% !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}

:where(.share-row a, .share-row button, .job-card-share-actions a, .job-card-share-actions button, .more-share-panel summary) {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  border: 1px solid #D8E3EC !important;
  box-shadow: 0 10px 22px rgba(16, 36, 59, .10) !important;
}

:where(.share-row a, .share-row button, .job-card-share-actions a, .job-card-share-actions button, .more-share-panel summary) :where(.share-platform-text, > span:not(.share-platform-icon)) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.share-platform-icon,
.share-platform-icon svg {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #10243B !important;
  fill: none !important;
  stroke: currentColor !important;
}

.share-platform-icon::before {
  content: none !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) {
  color: #122033 !important;
  background: #fff !important;
  border: 1px solid #D8E3EC !important;
  box-shadow: 0 18px 46px rgba(16, 36, 59, .10) !important;
  border-radius: 22px !important;
  padding: clamp(20px, 2.6vw, 30px) !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) * {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

/* Jobs page category tabs: final text visibility and alignment lock. */
.jobs-search-layout > .sidebar.jobs-category-tabs {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  align-items: stretch !important;
  padding: 16px !important;
  background: #FFFFFF !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 24px !important;
  box-shadow: 0 18px 44px rgba(16, 36, 59, .10) !important;
}

.jobs-search-layout > .sidebar.jobs-category-tabs a.filter-button,
.jobs-search-layout > .sidebar.jobs-category-tabs a[data-filter-department] {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 46px !important;
  height: auto !important;
  padding: 10px 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.22 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  background: #F8FBFE !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(16, 36, 59, .06) !important;
}

.jobs-search-layout > .sidebar.jobs-category-tabs a.filter-button.active,
.jobs-search-layout > .sidebar.jobs-category-tabs a.filter-button:hover,
.jobs-search-layout > .sidebar.jobs-category-tabs a[data-filter-department].active,
.jobs-search-layout > .sidebar.jobs-category-tabs a[data-filter-department]:hover {
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
  background: linear-gradient(135deg, #10243B, #183A5A) !important;
  border-color: rgba(16, 36, 59, .55) !important;
  box-shadow: 0 14px 28px rgba(16, 36, 59, .18) !important;
}

@media (max-width: 768px) {
  .top-trust-strip {
    display: none !important;
  }

  .jobs-search-layout > .sidebar.jobs-category-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    padding: 14px !important;
    position: static !important;
    top: auto !important;
  }

  .jobs-search-layout > .sidebar.jobs-category-tabs a.filter-button,
  .jobs-search-layout > .sidebar.jobs-category-tabs a[data-filter-department] {
    min-height: 44px !important;
    padding: 9px 10px !important;
    font-size: 11px !important;
    letter-spacing: .045em !important;
    line-height: 1.18 !important;
  }

  body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero),
  body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
    min-height: clamp(500px, 74svh, 680px) !important;
  }

  body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
    width: min(100% - 36px, 1180px) !important;
    padding: 88px 0 86px !important;
  }
}

/* Admin dashboard compact job control room */
body.admin-shell:not(.admin-login-page) .admin-job-list {
  display: grid !important;
  gap: 14px !important;
}

body.admin-shell:not(.admin-login-page) .admin-job-editor-card {
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(216, 227, 236, .95) !important;
  background: linear-gradient(180deg, #fff 0%, #F8FBFE 100%) !important;
}

body.admin-shell:not(.admin-login-page) .admin-job-editor-card[hidden] {
  display: none !important;
}

body.admin-shell:not(.admin-login-page) .admin-job-editor-card > summary {
  min-height: 78px !important;
  padding: 18px 22px !important;
  cursor: pointer !important;
  list-style: none !important;
  border-radius: 22px !important;
  transition: background .22s ease, transform .22s ease, box-shadow .22s ease !important;
}

body.admin-shell:not(.admin-login-page) .admin-job-editor-card > summary::-webkit-details-marker {
  display: none !important;
}

body.admin-shell:not(.admin-login-page) .admin-job-editor-card > summary::after {
  content: "Open details" !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  color: #10243B !important;
  background: #F5F8FC !important;
  border: 1px solid #D8E3EC !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

body.admin-shell:not(.admin-login-page) .admin-job-editor-card[open] > summary::after {
  content: "Hide details" !important;
  color: #fff !important;
  background: #10243B !important;
  border-color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) .admin-job-editor-card > summary:hover {
  background: rgba(245, 248, 252, .92) !important;
  box-shadow: inset 0 0 0 1px rgba(16, 36, 59, .06) !important;
}

body.admin-shell:not(.admin-login-page) .admin-job-editor-card > form,
body.admin-shell:not(.admin-login-page) .admin-job-editor-card > .form-actions {
  padding: 0 22px 22px !important;
}

body.admin-shell:not(.admin-login-page) #adminJobFilterCount {
  color: #385572 !important;
  font-weight: 700 !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-required-grid,
body.admin-shell:not(.admin-login-page) .admin-daily-pulse-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-required-grid .analytics-card,
body.admin-shell:not(.admin-login-page) .admin-daily-pulse-grid .analytics-card {
  min-height: 132px !important;
  text-decoration: none !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-required-grid .analytics-card strong,
body.admin-shell:not(.admin-login-page) .admin-daily-pulse-grid .analytics-card strong {
  color: #10243B !important;
  font-size: clamp(30px, 3vw, 42px) !important;
  line-height: 1 !important;
}

body.admin-shell:not(.admin-login-page) #candidate-applications-output .form-actions {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.8fr) minmax(150px, .9fr) minmax(190px, 1fr) auto auto !important;
  align-items: center !important;
  gap: 10px !important;
}

body.admin-shell:not(.admin-login-page) #candidate-applications-output .form-actions :where(input, select) {
  width: 100% !important;
  min-height: 44px !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 999px !important;
  padding: 0 16px !important;
  background: #fff !important;
  color: #122033 !important;
  font-weight: 700 !important;
}

body.admin-shell:not(.admin-login-page) .admin-collapsible-card {
  position: relative !important;
}

body.admin-shell:not(.admin-login-page) .admin-collapsible-summary {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: -2px 0 18px !important;
}

body.admin-shell:not(.admin-login-page) .admin-collapsible-summary > :first-child {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

body.admin-shell:not(.admin-login-page) .admin-collapse-toggle {
  min-height: 40px !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid #D8E3EC !important;
  background: #F5F8FC !important;
  color: #10243B !important;
  font-weight: 800 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow: 0 10px 22px rgba(16, 36, 59, .08) !important;
}

body.admin-shell:not(.admin-login-page) .admin-collapse-toggle:hover {
  background: #10243B !important;
  color: #fff !important;
  border-color: #10243B !important;
  transform: translateY(-1px) !important;
}

body.admin-shell:not(.admin-login-page) .admin-collapsible-card.is-collapsed > :not(.admin-collapsible-summary) {
  display: none !important;
}

body.admin-shell:not(.admin-login-page) .admin-collapsible-card.is-collapsed {
  padding-bottom: clamp(18px, 2vw, 24px) !important;
}

body.admin-shell:not(.admin-login-page) .admin-collapsible-card.is-collapsed .admin-collapsible-summary {
  margin-bottom: 0 !important;
}

@media (max-width: 768px) {
  body.admin-shell:not(.admin-login-page) .admin-job-editor-card > summary {
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 16px !important;
  }

  body.admin-shell:not(.admin-login-page) .admin-job-editor-card > summary::after {
    width: 100% !important;
  }

  body.admin-shell:not(.admin-login-page) .admin-job-editor-card > form,
  body.admin-shell:not(.admin-login-page) .admin-job-editor-card > .form-actions {
    padding: 0 16px 18px !important;
  }

  body.admin-shell:not(.admin-login-page) #candidate-applications-output .form-actions {
    grid-template-columns: 1fr !important;
  }

  body.admin-shell:not(.admin-login-page) .admin-collapsible-summary {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  body.admin-shell:not(.admin-login-page) .admin-collapse-toggle {
    width: 100% !important;
  }
}

/* ABSOLUTE EOF LAUNCH LOCK - must stay at the end of this file.
   Purpose: one final source of truth after all legacy emergency patches above. */

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero) {
  min-height: clamp(560px, 82svh, 820px) !important;
  position: relative !important;
  display: grid !important;
  align-items: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #10243B !important;
  box-shadow: none !important;
}

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero)::before {
  content: "" !important;
  position: absolute !important;
  inset: -6% !important;
  z-index: 0 !important;
  background-image: var(--djp-banner-image, url("/assets/hero-2.jpg")) !important;
  background-size: cover !important;
  background-position: center !important;
  animation: djpLaunchBannerDrift 20s ease-in-out infinite !important;
}

body:not([data-page="home"]) :where(.page-hero-bg-image, .hero-bg, .job-detail-hero-bg-image) {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body:not([data-page="home"]) :where(.page-hero-bg-image img, .hero-bg img, .job-detail-hero-bg-image img),
body:not([data-page="home"]) :where(img.page-hero-bg-image) {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  opacity: 1 !important;
  filter: saturate(1.08) contrast(1.06) brightness(.94) !important;
  animation: djpLaunchBannerDrift 20s ease-in-out infinite !important;
}

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero)::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(96deg, rgba(16, 36, 59, .78) 0%, rgba(16, 36, 59, .54) 46%, rgba(16, 36, 59, .22) 100%),
    radial-gradient(circle at 18% 42%, rgba(111, 183, 227, .22), transparent 34%),
    linear-gradient(180deg, rgba(16, 36, 59, .14), rgba(16, 36, 59, .30)) !important;
}

body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
  position: relative !important;
  z-index: 2 !important;
  width: min(100% - 56px, 1180px) !important;
  max-width: 1180px !important;
  min-height: clamp(560px, 82svh, 820px) !important;
  margin-inline: auto !important;
  padding: clamp(112px, 14vh, 160px) 0 clamp(94px, 11vh, 132px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not([data-page="home"]) :where(.page-hero h1, .hero.compact.jobs-search-hero h1, .job-detail-hero h1, .role-landing-hero h1, .jobify-hero h1) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  max-width: 760px !important;
  text-shadow: 0 4px 12px rgba(0, 0, 0, .76), 0 24px 60px rgba(0, 0, 0, .46) !important;
}

body:not([data-page="home"]) :where(.page-hero p, .hero.compact.jobs-search-hero p, .job-detail-hero p, .role-landing-hero p, .jobify-hero p) {
  color: rgba(248, 251, 254, .96) !important;
  -webkit-text-fill-color: rgba(248, 251, 254, .96) !important;
  max-width: 720px !important;
  line-height: 1.75 !important;
  text-shadow: 0 3px 10px rgba(0, 0, 0, .70), 0 16px 34px rgba(0, 0, 0, .38) !important;
}

body:not([data-page="home"]) :where(.page-hero .eyebrow, .hero.compact.jobs-search-hero .eyebrow, .job-detail-hero .eyebrow, .role-landing-hero .eyebrow, .jobify-hero .eyebrow) {
  width: auto !important;
  min-height: 36px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  background: rgba(248, 251, 254, .92) !important;
  border-radius: 999px !important;
  text-shadow: none !important;
}

:where(.card, .media-card, .form-card, .table-card, .job-detail-card, .analytics-card, .dashboard-card, .panel, .kpi, .plan-card, .review-card, .testimonial-card, .candidate-card, .employer-card, .role-snapshot-card, .support-card, .policy-card, .guide-card) {
  border-radius: 22px !important;
  border: 1px solid #D8E3EC !important;
  background: #fff !important;
  box-shadow: 0 18px 46px rgba(16, 36, 59, .10) !important;
  overflow: visible !important;
}

:where(.form-card, .table-card, .job-detail-card, .analytics-card, .dashboard-card, .panel, .plan-card, .policy-card, .guide-card) {
  padding: clamp(22px, 3vw, 32px) !important;
}

:where(.card, .media-card, .form-card, .table-card, .job-detail-card, .analytics-card, .dashboard-card, .panel, .kpi, .plan-card, .review-card, .testimonial-card, .candidate-card, .employer-card, .role-snapshot-card, .support-card, .policy-card, .guide-card) :where(p, li, span, small, label, .muted, .field-note) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  line-height: 1.72 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

:where(.card, .media-card, .form-card, .table-card, .job-detail-card, .analytics-card, .dashboard-card, .panel, .kpi, .plan-card, .review-card, .testimonial-card, .candidate-card, .employer-card, .role-snapshot-card, .support-card, .policy-card, .guide-card) :where(h1, h2, h3, h4, strong) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  line-height: 1.18 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

:where(.button, .btn, .mini-btn, .filter-button, .pill, .status, .status-pill, .media-pill, .theme-pill, .admin-tab-button, .category-tab, .tab-pill, .job-category-tabs a, .blog-category-tabs a, .pagination a, .pagination span, .nav-button) {
  min-height: 42px !important;
  max-width: 100% !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}

:where(.share-row a, .share-row button, .job-card-share-actions a, .job-card-share-actions button, .more-share-panel summary) {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  border: 1px solid #D8E3EC !important;
  box-shadow: 0 10px 22px rgba(16, 36, 59, .10) !important;
}

:where(.share-row a, .share-row button, .job-card-share-actions a, .job-card-share-actions button, .more-share-panel summary) :where(.share-platform-text, > span:not(.share-platform-icon)) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.share-platform-icon,
.share-platform-icon svg {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #10243B !important;
  fill: none !important;
  stroke: currentColor !important;
}

.share-platform-icon::before {
  content: none !important;
}

.premium-footer-grid {
  grid-template-columns: minmax(220px, 1.35fr) minmax(170px, .95fr) minmax(170px, .95fr) minmax(250px, 1.2fr) !important;
  gap: clamp(22px, 3vw, 36px) !important;
}

.premium-footer-col a,
.premium-footer-contact a,
.premium-footer-brand p {
  line-height: 1.75 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.premium-social-links a,
.premium-contact-socials a {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  color: #10243B !important;
  background: #fff !important;
  border: 1px solid #D8E3EC !important;
}

.ticker-row,
.live-openings-ticker,
.just-hired-ticker,
.ticker-strip,
.jobify-ticker {
  color: #fff !important;
  background: linear-gradient(135deg, #10243B, #183A5A) !important;
  border: 1px solid rgba(111, 183, 227, .20) !important;
  box-shadow: 0 14px 34px rgba(16, 36, 59, .16) !important;
}

.ticker-row *,
.live-openings-ticker *,
.just-hired-ticker *,
.ticker-strip *,
.jobify-ticker * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) {
  color: #122033 !important;
  background: #fff !important;
  border: 1px solid #D8E3EC !important;
  box-shadow: 0 18px 46px rgba(16, 36, 59, .10) !important;
  border-radius: 22px !important;
  padding: clamp(20px, 2.6vw, 30px) !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) * {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 768px) {
  .top-trust-strip {
    display: none !important;
  }

  body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero),
  body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
    min-height: clamp(500px, 74svh, 680px) !important;
  }

  body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
    width: min(100% - 36px, 1180px) !important;
    padding: 88px 0 86px !important;
  }

  body:not([data-page="home"]) :where(.page-hero h1, .hero.compact.jobs-search-hero h1, .job-detail-hero h1, .role-landing-hero h1, .jobify-hero h1) {
    font-size: clamp(34px, 11vw, 52px) !important;
    line-height: .98 !important;
  }

  .jobs-category-tabs,
  .job-category-tabs,
  .blog-category-tabs,
  .jobs-quick-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .premium-footer-grid {
    grid-template-columns: 1fr !important;
  }

  body.admin-shell:not(.admin-login-page) main.section {
    padding-inline: 14px !important;
  }
}

/* 2026-07-15 launch stability lock.
   This is the final active override layer: keep public pages, admin, pills, share icons,
   cards, and mobile views readable even while legacy CSS remains loaded. */

:root {
  --djp-sapphire: #10243B;
  --djp-royal: #183A5A;
  --djp-ice: #6FB7E3;
  --djp-pearl: #F5F8FC;
  --djp-mist: #D8E3EC;
  --djp-ink: #122033;
  --djp-muted: #385572;
  --djp-paper: #FFFFFF;
  --djp-gold: #C7A65A;
  --djp-shadow: 0 18px 46px rgba(16, 36, 59, .10);
  --djp-radius: 22px;
}

html {
  scroll-behavior: smooth;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  color: var(--djp-ink) !important;
  background: var(--djp-pearl) !important;
}

body * {
  box-sizing: border-box;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* Header and mobile navigation: visible, clean, and never hidden. */
.top-trust-strip,
.site-header {
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 1px solid rgba(16, 36, 59, .10) !important;
  box-shadow: 0 14px 38px rgba(16, 36, 59, .08) !important;
  backdrop-filter: blur(16px) !important;
}

.brand,
.site-nav,
.top-trust-strip-inner,
.top-trust-points,
.top-trust-actions {
  min-width: 0 !important;
}

.brand img {
  width: 54px !important;
  height: 54px !important;
  object-fit: contain !important;
  flex: 0 0 54px !important;
}

.brand-wordmark,
.brand-wordmark small {
  color: var(--djp-sapphire) !important;
  -webkit-text-fill-color: var(--djp-sapphire) !important;
  line-height: 1.18 !important;
}

.site-nav a,
.site-nav button,
.top-trust-strip a,
.top-trust-strip span {
  white-space: nowrap !important;
}

@media (max-width: 768px) {
  .top-trust-strip {
    display: none !important;
  }

  .nav-wrap {
    gap: 10px !important;
  }

  .brand {
    max-width: calc(100% - 58px) !important;
  }

  .brand-wordmark {
    font-size: 15px !important;
  }

  .brand-wordmark small {
    font-size: 10px !important;
    letter-spacing: .09em !important;
  }

  .site-nav {
    padding: 14px !important;
    gap: 8px !important;
    align-items: stretch !important;
  }

  .site-nav a,
  .site-nav button {
    min-height: 42px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    justify-content: center !important;
    font-size: 13px !important;
  }
}

/* Cinematic banner parity across every public page. */
@keyframes djpLaunchBannerDrift {
  0% { transform: scale(1.03) translate3d(0, 0, 0); }
  50% { transform: scale(1.095) translate3d(-1.25%, -.8%, 0); }
  100% { transform: scale(1.03) translate3d(0, 0, 0); }
}

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero) {
  position: relative !important;
  min-height: clamp(560px, 82svh, 820px) !important;
  display: grid !important;
  align-items: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: var(--djp-sapphire) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero)::before {
  content: "" !important;
  position: absolute !important;
  inset: -6% !important;
  z-index: 0 !important;
  display: block !important;
  background-image: var(--djp-banner-image, url("/assets/hero-2.jpg")) !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  filter: saturate(1.08) contrast(1.06) brightness(.94) !important;
  animation: djpLaunchBannerDrift 20s ease-in-out infinite !important;
  will-change: transform !important;
}

body:not([data-page="home"]) :where(.page-hero-bg-image, .hero-bg, .job-detail-hero-bg-image) {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
}

body:not([data-page="home"]) :where(.page-hero-bg-image img, .hero-bg img, .job-detail-hero-bg-image img),
body:not([data-page="home"]) :where(img.page-hero-bg-image) {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: saturate(1.08) contrast(1.06) brightness(.94) !important;
  animation: djpLaunchBannerDrift 20s ease-in-out infinite !important;
  will-change: transform !important;
}

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero)::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(96deg, rgba(16, 36, 59, .78) 0%, rgba(16, 36, 59, .54) 46%, rgba(16, 36, 59, .22) 100%),
    radial-gradient(circle at 18% 42%, rgba(111, 183, 227, .22), transparent 34%),
    linear-gradient(180deg, rgba(16, 36, 59, .14), rgba(16, 36, 59, .30)) !important;
  box-shadow: none !important;
}

body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
  position: relative !important;
  z-index: 2 !important;
  width: min(100% - 56px, 1180px) !important;
  max-width: 1180px !important;
  min-height: clamp(560px, 82svh, 820px) !important;
  margin-inline: auto !important;
  padding: clamp(112px, 14vh, 160px) 0 clamp(94px, 11vh, 132px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) > * {
  max-width: 760px !important;
}

body:not([data-page="home"]) :where(.page-hero h1, .hero.compact.jobs-search-hero h1, .job-detail-hero h1, .role-landing-hero h1, .jobify-hero h1) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  max-width: 760px !important;
  text-shadow: 0 4px 12px rgba(0, 0, 0, .76), 0 24px 60px rgba(0, 0, 0, .46) !important;
}

body:not([data-page="home"]) :where(.page-hero p, .hero.compact.jobs-search-hero p, .job-detail-hero p, .role-landing-hero p, .jobify-hero p) {
  color: rgba(248, 251, 254, .96) !important;
  -webkit-text-fill-color: rgba(248, 251, 254, .96) !important;
  max-width: 720px !important;
  line-height: 1.75 !important;
  text-shadow: 0 3px 10px rgba(0, 0, 0, .70), 0 16px 34px rgba(0, 0, 0, .38) !important;
}

body:not([data-page="home"]) :where(.page-hero .eyebrow, .hero.compact.jobs-search-hero .eyebrow, .job-detail-hero .eyebrow, .role-landing-hero .eyebrow, .jobify-hero .eyebrow) {
  width: auto !important;
  max-width: 100% !important;
  min-height: 36px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  color: var(--djp-sapphire) !important;
  -webkit-text-fill-color: var(--djp-sapphire) !important;
  background: rgba(248, 251, 254, .92) !important;
  border: 1px solid rgba(248, 251, 254, .60) !important;
  text-shadow: none !important;
}

@media (max-width: 768px) {
  body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero) {
    min-height: clamp(500px, 74svh, 680px) !important;
  }

  body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
    width: min(100% - 36px, 1180px) !important;
    min-height: clamp(500px, 74svh, 680px) !important;
    padding: 88px 0 86px !important;
  }

  body:not([data-page="home"]) :where(.page-hero h1, .hero.compact.jobs-search-hero h1, .job-detail-hero h1, .role-landing-hero h1, .jobify-hero h1) {
    font-size: clamp(34px, 11vw, 52px) !important;
    line-height: .98 !important;
  }

  body:not([data-page="home"]) :where(.page-hero p, .hero.compact.jobs-search-hero p, .job-detail-hero p, .role-landing-hero p, .jobify-hero p) {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }
}

/* Card, form, table and text spacing: no copy should touch borders. */
:where(.card, .media-card, .form-card, .table-card, .job-detail-card, .analytics-card, .dashboard-card, .panel, .kpi, .plan-card, .review-card, .testimonial-card, .candidate-card, .employer-card, .role-snapshot-card, .support-card, .policy-card, .guide-card) {
  border-radius: var(--djp-radius) !important;
  border: 1px solid var(--djp-mist) !important;
  background: var(--djp-paper) !important;
  box-shadow: var(--djp-shadow) !important;
  overflow: visible !important;
  color: var(--djp-ink) !important;
}

:where(.card, .media-card, .form-card, .table-card, .job-detail-card, .analytics-card, .dashboard-card, .panel, .kpi, .plan-card, .review-card, .testimonial-card, .candidate-card, .employer-card, .role-snapshot-card, .support-card, .policy-card, .guide-card) :where(p, li, span, small, label, .muted, .field-note) {
  color: var(--djp-muted) !important;
  -webkit-text-fill-color: var(--djp-muted) !important;
  line-height: 1.72 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

:where(.card, .media-card, .form-card, .table-card, .job-detail-card, .analytics-card, .dashboard-card, .panel, .kpi, .plan-card, .review-card, .testimonial-card, .candidate-card, .employer-card, .role-snapshot-card, .support-card, .policy-card, .guide-card) :where(h1, h2, h3, h4, strong) {
  color: var(--djp-sapphire) !important;
  -webkit-text-fill-color: var(--djp-sapphire) !important;
  line-height: 1.18 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

:where(.form-card, .table-card, .job-detail-card, .analytics-card, .dashboard-card, .panel, .plan-card, .policy-card, .guide-card) {
  padding: clamp(22px, 3vw, 32px) !important;
}

:where(input, select, textarea) {
  min-height: 48px !important;
  padding: 12px 14px !important;
  border: 1px solid var(--djp-mist) !important;
  border-radius: 14px !important;
  color: var(--djp-ink) !important;
  background: #fff !important;
}

:where(label) {
  gap: 8px !important;
  line-height: 1.45 !important;
}

/* Pills, buttons and tabs: stable sizing without clipped text. */
:where(.button, .btn, .mini-btn, .filter-button, .pill, .status, .status-pill, .media-pill, .theme-pill, .admin-tab-button, .category-tab, .tab-pill, .job-category-tabs a, .blog-category-tabs a, .pagination a, .pagination span, .nav-button) {
  min-height: 42px !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1 !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  transition: transform .26s cubic-bezier(.4, 0, .2, 1), box-shadow .26s cubic-bezier(.4, 0, .2, 1), background .26s cubic-bezier(.4, 0, .2, 1), color .26s cubic-bezier(.4, 0, .2, 1) !important;
}

:where(.button, .btn, .mini-btn, .filter-button, .pill, .status, .status-pill, .media-pill, .theme-pill, .admin-tab-button, .category-tab, .tab-pill, .job-category-tabs a, .blog-category-tabs a, .pagination a, .pagination span, .nav-button):hover {
  transform: translateY(-2px) !important;
}

:where(.button-premium, .button-primary, .nav-button-gold, .btn-gold) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: linear-gradient(135deg, var(--djp-sapphire), var(--djp-royal)) !important;
  border-color: rgba(16, 36, 59, .18) !important;
  box-shadow: 0 12px 26px rgba(16, 36, 59, .16) !important;
}

:where(.button-upload, .button-secondary, .btn-ghost, .filter-button, .pill, .media-pill, .status-pill, .theme-pill) {
  color: var(--djp-sapphire) !important;
  -webkit-text-fill-color: var(--djp-sapphire) !important;
  background: #fff !important;
  border: 1px solid var(--djp-mist) !important;
}

@media (max-width: 480px) {
  :where(.button, .btn, .mini-btn, .filter-button, .nav-button) {
    min-height: 44px !important;
    padding-inline: 13px !important;
    font-size: 13px !important;
  }
}

/* Job/category/blog tabs should be compact and premium. */
.jobs-category-tabs,
.job-category-tabs,
.blog-category-tabs,
.jobs-quick-tabs,
.footer-links {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

.jobs-category-tabs a,
.job-category-tabs a,
.blog-category-tabs a,
.jobs-quick-tabs a {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}

@media (max-width: 768px) {
  .jobs-category-tabs,
  .job-category-tabs,
  .blog-category-tabs,
  .jobs-quick-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
  }

  .jobs-category-tabs a,
  .job-category-tabs a,
  .blog-category-tabs a,
  .jobs-quick-tabs a {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Share icons: visible on light circles, icon-only for jobs/articles. */
:where(.share-row, .job-card-share-actions, .article-share .share-row) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

:where(.share-row a, .share-row button, .job-card-share-actions a, .job-card-share-actions button, .more-share-panel summary) {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--djp-sapphire) !important;
  -webkit-text-fill-color: var(--djp-sapphire) !important;
  border: 1px solid rgba(216, 227, 236, .98) !important;
  box-shadow: 0 10px 22px rgba(16, 36, 59, .10) !important;
  overflow: hidden !important;
}

:where(.share-row a, .share-row button, .job-card-share-actions a, .job-card-share-actions button, .more-share-panel summary) :where(.share-platform-text, > span:not(.share-platform-icon)) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.share-platform-icon,
.share-platform-icon::before,
.share-platform-icon svg {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: var(--djp-sapphire) !important;
  fill: none !important;
  stroke: currentColor !important;
}

.share-platform-icon svg {
  opacity: 1 !important;
}

.share-platform-icon::before {
  content: none !important;
}

/* Footer: clean contact text and social icons. */
.premium-footer-grid {
  grid-template-columns: minmax(220px, 1.35fr) minmax(170px, .95fr) minmax(170px, .95fr) minmax(250px, 1.2fr) !important;
  gap: clamp(22px, 3vw, 36px) !important;
  align-items: start !important;
}

.premium-footer-col a,
.premium-footer-contact a,
.premium-footer-brand p {
  line-height: 1.75 !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.premium-footer-email-link {
  display: inline-flex !important;
  max-width: 100% !important;
}

.premium-social-links,
.premium-contact-socials {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
}

.premium-social-links a,
.premium-contact-socials a {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  color: var(--djp-sapphire) !important;
  background: #fff !important;
  border: 1px solid rgba(216, 227, 236, .9) !important;
  box-shadow: 0 8px 18px rgba(16, 36, 59, .12) !important;
}

.premium-social-icon,
.premium-social-icon svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  color: currentColor !important;
}

@media (max-width: 900px) {
  .premium-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .premium-footer-grid {
    grid-template-columns: 1fr !important;
  }

  .premium-footer-col,
  .premium-footer-brand,
  .premium-footer-contact {
    text-align: left !important;
  }
}

/* Home ticker parity: both tickers use the same premium sapphire system. */
.ticker-row,
.live-openings-ticker,
.just-hired-ticker,
.ticker-strip,
.jobify-ticker {
  color: #fff !important;
  background: linear-gradient(135deg, var(--djp-sapphire), var(--djp-royal)) !important;
  border: 1px solid rgba(111, 183, 227, .20) !important;
  box-shadow: 0 14px 34px rgba(16, 36, 59, .16) !important;
}

.ticker-row *,
.live-openings-ticker *,
.just-hired-ticker *,
.ticker-strip *,
.jobify-ticker * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Admin final polish: full width, readable cards, no vertical text, no hidden actions. */
body.admin-shell:not(.admin-login-page) {
  display: block !important;
  overflow-x: hidden !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(111, 183, 227, .22), transparent 30%),
    linear-gradient(180deg, #F5F8FC 0%, #FFFFFF 58%, #F5F8FC 100%) !important;
}

body.admin-shell:not(.admin-login-page) main.section,
body.admin-shell:not(.admin-login-page) main.section > .container {
  width: 100% !important;
  max-width: 1280px !important;
  margin-inline: auto !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) {
  color: var(--djp-ink) !important;
  background: #fff !important;
  border: 1px solid var(--djp-mist) !important;
  box-shadow: var(--djp-shadow) !important;
  border-radius: var(--djp-radius) !important;
  padding: clamp(20px, 2.6vw, 30px) !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) * {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) :where(h1, h2, h3, h4, strong, label) {
  color: var(--djp-sapphire) !important;
  -webkit-text-fill-color: var(--djp-sapphire) !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) :where(p, span, small, li, td, .muted, .field-note) {
  color: var(--djp-muted) !important;
  -webkit-text-fill-color: var(--djp-muted) !important;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-board {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
  gap: 16px !important;
  overflow: visible !important;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-column {
  min-width: 0 !important;
  background: var(--djp-pearl) !important;
  border: 1px solid var(--djp-mist) !important;
  border-radius: 18px !important;
  padding: 14px !important;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-item {
  background: #fff !important;
  color: var(--djp-ink) !important;
  border: 1px solid rgba(216, 227, 236, .94) !important;
  border-radius: 16px !important;
  padding: 14px !important;
  box-shadow: 0 8px 18px rgba(16, 36, 59, .08) !important;
}

body.admin-shell:not(.admin-login-page) table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.admin-shell:not(.admin-login-page) :where(th, td) {
  padding: 14px 12px !important;
  vertical-align: top !important;
  line-height: 1.55 !important;
}

body.admin-shell:not(.admin-login-page) :where(.button, .btn, button, input[type="submit"], .status, .pill, .media-pill) {
  min-height: 42px !important;
  padding-inline: 14px !important;
  color: var(--djp-sapphire) !important;
  -webkit-text-fill-color: var(--djp-sapphire) !important;
}

body.admin-shell:not(.admin-login-page) :where(.button-primary, .button-premium, button[type="submit"]) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

@media (max-width: 768px) {
  body.admin-shell:not(.admin-login-page) main.section {
    padding-inline: 14px !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container {
    max-width: 100% !important;
  }

  body.admin-shell:not(.admin-login-page) .admin-pipeline-board {
    grid-template-columns: 1fr !important;
  }

  body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) {
    padding: 18px !important;
  }
}

/* Admin job import page: premium utility layout */
body.admin-import-page {
  background:
    radial-gradient(circle at 8% 0%, rgba(111, 183, 227, .18), transparent 34%),
    linear-gradient(180deg, #F5F8FC 0%, #FFFFFF 44%, #F5F8FC 100%) !important;
}

body.admin-import-page .admin-import-main {
  padding-top: 42px !important;
}

body.admin-import-page .admin-import-hero {
  min-height: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  padding: clamp(28px, 4vw, 44px) !important;
  margin-bottom: 28px !important;
  border: 1px solid rgba(216, 227, 236, .9) !important;
  border-radius: 28px !important;
  background:
    linear-gradient(135deg, rgba(16,36,59,.94), rgba(24,58,90,.88)),
    url("optimized/hero-3.jpg") center/cover no-repeat !important;
  box-shadow: 0 24px 60px rgba(16,36,59,.16) !important;
  overflow: hidden !important;
}

body.admin-import-page .admin-import-hero,
body.admin-import-page .admin-import-hero * {
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.22) !important;
}

body.admin-import-page .admin-import-hero .eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  min-height: 34px !important;
  align-items: center !important;
  padding: 0 14px !important;
  margin: 0 0 14px !important;
  border-radius: 999px !important;
  background: rgba(248,251,254,.92) !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  text-shadow: none !important;
}

body.admin-import-page .admin-import-hero .admin-title {
  max-width: 780px !important;
  margin: 0 !important;
  font-size: clamp(42px, 6vw, 72px) !important;
  line-height: .95 !important;
}

body.admin-import-page .admin-import-hero .muted {
  max-width: 760px !important;
  margin: 16px 0 0 !important;
  color: rgba(248,251,254,.9) !important;
  -webkit-text-fill-color: rgba(248,251,254,.9) !important;
}

body.admin-import-page .admin-import-hero .hero-actions {
  flex: 0 0 auto !important;
  justify-content: flex-end !important;
}

body.admin-import-page .admin-import-layout {
  align-items: stretch !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr) !important;
  gap: 24px !important;
}

body.admin-import-page :where(.admin-import-upload-card, .admin-import-guide-card, .admin-import-columns-card, .analytics-card, .table-card, .form-card) {
  border-radius: 24px !important;
  border: 1px solid #D8E3EC !important;
  background: #FFFFFF !important;
  box-shadow: 0 16px 42px rgba(16,36,59,.08) !important;
}

body.admin-import-page :where(.admin-import-upload-card, .admin-import-guide-card) {
  padding: clamp(22px, 3vw, 30px) !important;
}

body.admin-import-page :where(.admin-import-upload-card, .admin-import-guide-card, .admin-import-columns-card) :where(h3, strong, label) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

body.admin-import-page :where(.admin-import-upload-card, .admin-import-guide-card, .admin-import-columns-card) :where(p, li, td, th, .muted, .field-note) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  line-height: 1.72 !important;
}

body.admin-import-page .admin-import-form {
  display: grid !important;
  gap: 16px !important;
  padding: 18px !important;
  margin-top: 18px !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 18px !important;
  background: #F5F8FC !important;
}

body.admin-import-page .admin-import-form input[type="file"] {
  min-height: 54px !important;
  padding: 14px !important;
  border: 1px dashed #9EB2C3 !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
}

body.admin-import-page .admin-import-upload-card .hero-actions,
body.admin-import-page .admin-import-columns-card .hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

body.admin-import-page .admin-import-alert {
  padding: 16px 18px !important;
  margin: 0 0 20px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(179,63,54,.22) !important;
  background: #FFF4F2 !important;
  color: #8B2C25 !important;
  font-weight: 800 !important;
}

body.admin-import-page .admin-import-summary .analytics-card {
  min-height: 116px !important;
  display: grid !important;
  align-content: center !important;
  gap: 8px !important;
}

body.admin-import-page .admin-import-summary .analytics-card strong {
  font-size: clamp(32px, 4vw, 46px) !important;
  line-height: 1 !important;
}

body.admin-import-page .admin-import-columns-card {
  padding: 0 !important;
  overflow-x: auto !important;
}

body.admin-import-page .admin-import-columns-card > .admin-top {
  padding: 24px 24px 18px !important;
  margin: 0 !important;
  border-bottom: 1px solid #D8E3EC !important;
}

body.admin-import-page .admin-import-columns-card table {
  min-width: 860px !important;
  width: 100% !important;
  border-collapse: collapse !important;
}

body.admin-import-page .admin-import-columns-card th,
body.admin-import-page .admin-import-columns-card td {
  padding: 16px 18px !important;
  vertical-align: top !important;
  border-bottom: 1px solid #E8EEF4 !important;
}

body.admin-import-page .admin-import-columns-card th {
  color: #10243B !important;
  background: #F5F8FC !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body.admin-import-page .feature-list {
  display: grid !important;
  gap: 12px !important;
  margin: 16px 0 0 !important;
  padding-left: 18px !important;
}

body.admin-import-page .button {
  min-height: 44px !important;
  white-space: nowrap !important;
}

@media (max-width: 900px) {
  body.admin-import-page .admin-import-layout {
    grid-template-columns: 1fr !important;
  }

  body.admin-import-page .admin-import-hero {
    align-items: flex-start !important;
    flex-direction: column !important;
    border-radius: 22px !important;
  }

  body.admin-import-page .admin-import-hero .hero-actions {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}

@media (max-width: 560px) {
  body.admin-import-page .admin-import-main {
    padding-top: 22px !important;
  }

  body.admin-import-page .admin-import-hero {
    padding: 24px 18px !important;
  }

  body.admin-import-page .admin-import-hero .admin-title {
    font-size: 38px !important;
  }

body.admin-import-page .admin-import-hero .hero-actions .button,
  body.admin-import-page .admin-import-upload-card .hero-actions .button {
    width: 100% !important;
  }
}

/* Final admin dashboard full-window audit fix.
   Older theme rules used a 260px grid shell; live admin should behave like a full-width control room. */
body.admin-shell:not(.admin-login-page):not(.admin-import-page) {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 100vh !important;
  margin: 0 !important;
  overflow-x: hidden !important;
  background:
    radial-gradient(circle at 10% 0%, rgba(111, 183, 227, .16), transparent 30%),
    linear-gradient(180deg, #F5F8FC 0%, #FFFFFF 42%, #F5F8FC 100%) !important;
}

body.admin-shell:not(.admin-login-page):not(.admin-import-page) .admin-mock-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 14px clamp(18px, 3vw, 34px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  background: rgba(255, 255, 255, .92) !important;
  border-bottom: 1px solid rgba(216, 227, 236, .95) !important;
  box-shadow: 0 12px 30px rgba(16, 36, 59, .08) !important;
  backdrop-filter: blur(14px) !important;
}

body.admin-shell:not(.admin-login-page):not(.admin-import-page) .admin-mock-menu {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.admin-shell:not(.admin-login-page):not(.admin-import-page) > main.section,
body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(22px, 3vw, 34px) 0 72px !important;
}

body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section > .container,
body.admin-shell:not(.admin-login-page):not(.admin-import-page) .section > .container {
  width: min(100% - 32px, 1760px) !important;
  max-width: 1760px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section > .container > .admin-top:first-child {
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(430px, 58vh, 680px) !important;
  margin: 0 0 24px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 460px) !important;
  align-items: center !important;
  gap: clamp(22px, 4vw, 56px) !important;
  padding: clamp(34px, 5vw, 72px) !important;
  border-radius: 32px !important;
  overflow: hidden !important;
}

body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section > .container > .admin-top:first-child .hero-actions {
  width: 100% !important;
  max-width: 460px !important;
  justify-self: end !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 22px !important;
  border-radius: 24px !important;
  background: rgba(248, 251, 254, .92) !important;
  border: 1px solid rgba(216, 227, 236, .92) !important;
  box-shadow: 0 24px 60px rgba(16, 36, 59, .18) !important;
  backdrop-filter: blur(12px) !important;
}

body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section > .container > .admin-top:first-child .hero-actions .button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 48px !important;
  padding: 0 14px !important;
}

body.admin-shell:not(.admin-login-page):not(.admin-import-page) :where(.admin-report-summary, .admin-action-summary, .admin-control-room-nav, .kpi-row, section, .admin-grid, .analytics-grid, .admin-chart-grid) {
  max-width: 100% !important;
}

body.admin-shell:not(.admin-login-page):not(.admin-import-page) :where(.table-card, .form-card, .analytics-card, .admin-chart-card, .admin-action-card, .admin-cron-box, .dashboard-card, .panel) {
  box-sizing: border-box !important;
}

@media (max-width: 980px) {
  body.admin-shell:not(.admin-login-page):not(.admin-import-page) .admin-mock-nav {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  body.admin-shell:not(.admin-login-page):not(.admin-import-page) .admin-mock-menu {
    justify-content: flex-start !important;
  }

  body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section > .container > .admin-top:first-child {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section > .container > .admin-top:first-child .hero-actions {
    justify-self: stretch !important;
    max-width: none !important;
  }
}

@media (max-width: 620px) {
  body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section > .container,
  body.admin-shell:not(.admin-login-page):not(.admin-import-page) .section > .container {
    width: min(100% - 24px, 1760px) !important;
  }

  body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section > .container > .admin-top:first-child {
    padding: 24px 18px !important;
    border-radius: 22px !important;
  }

  body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section > .container > .admin-top:first-child .admin-title {
    font-size: clamp(38px, 14vw, 54px) !important;
  }

  body.admin-shell:not(.admin-login-page):not(.admin-import-page) main.section > .container > .admin-top:first-child .hero-actions {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }
}

/* Final admin dashboard layout lock: keep the top control room premium and inside the viewport. */
body.admin-shell:not(.admin-login-page) {
  overflow-x: hidden !important;
  background:
    radial-gradient(circle at 8% 0%, rgba(111, 183, 227, .20), transparent 26rem),
    linear-gradient(180deg, #F8FBFE 0%, #EEF5FA 100%) !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 50 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  padding: 14px clamp(18px, 4vw, 48px) !important;
  background: rgba(248, 251, 254, .92) !important;
  border-bottom: 1px solid rgba(16, 36, 59, .10) !important;
  box-shadow: 0 12px 30px rgba(16, 36, 59, .08) !important;
  backdrop-filter: blur(14px) !important;
  overflow: visible !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-brand {
  min-width: 210px !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-brand span,
body.admin-shell:not(.admin-login-page) .admin-mock-brand small {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  white-space: normal !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-menu {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.admin-shell:not(.admin-login-page) .admin-mock-menu a {
  min-height: 38px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
}

body.admin-shell:not(.admin-login-page) main.section {
  padding-top: clamp(26px, 4vw, 46px) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container {
  width: min(100% - 36px, 1180px) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  overflow: visible !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child {
  min-height: clamp(360px, 46vh, 520px) !important;
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px) !important;
  align-items: center !important;
  gap: clamp(24px, 4vw, 46px) !important;
  margin: 0 0 28px !important;
  padding: clamp(30px, 5vw, 56px) !important;
  border: 1px solid rgba(216, 227, 236, .34) !important;
  border-radius: 30px !important;
  background:
    linear-gradient(90deg, rgba(16, 36, 59, .90), rgba(16, 36, 59, .62)),
    url("optimized/hero-3.jpg") center / cover no-repeat !important;
  box-shadow: 0 26px 70px rgba(16, 36, 59, .18) !important;
  overflow: hidden !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child > div:first-child {
  min-width: 0 !important;
  max-width: 720px !important;
  position: relative !important;
  z-index: 1 !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .admin-title {
  max-width: 760px !important;
  margin: 14px 0 16px !important;
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
  font-size: clamp(44px, 6vw, 72px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  text-shadow: 0 16px 36px rgba(0, 0, 0, .28) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .muted {
  max-width: 700px !important;
  color: rgba(248, 251, 254, .92) !important;
  -webkit-text-fill-color: rgba(248, 251, 254, .92) !important;
  font-size: clamp(16px, 1.5vw, 19px) !important;
  line-height: 1.65 !important;
  text-shadow: 0 10px 28px rgba(0, 0, 0, .28) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .eyebrow {
  display: inline-flex !important;
  width: fit-content !important;
  min-height: 30px !important;
  align-items: center !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: rgba(248, 251, 254, .92) !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  letter-spacing: .18em !important;
  text-shadow: none !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .hero-actions {
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 360px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  justify-self: end !important;
  align-self: center !important;
  padding: 22px !important;
  border: 1px solid rgba(255, 255, 255, .52) !important;
  border-radius: 24px !important;
  background: rgba(248, 251, 254, .92) !important;
  box-shadow: 0 20px 46px rgba(16, 36, 59, .18) !important;
  backdrop-filter: blur(16px) !important;
  overflow: hidden !important;
  transform: none !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .hero-actions .button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  text-shadow: none !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-summary {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 24px !important;
  padding: clamp(22px, 3vw, 32px) !important;
  border-radius: 28px !important;
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid #D8E3EC !important;
  box-shadow: 0 16px 42px rgba(16, 36, 59, .08) !important;
  overflow: hidden !important;
}

@media (max-width: 980px) {
  body.admin-shell:not(.admin-login-page) .admin-mock-nav {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  body.admin-shell:not(.admin-login-page) .admin-mock-menu {
    justify-content: flex-start !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .hero-actions {
    justify-self: stretch !important;
    max-width: none !important;
  }
}

@media (max-width: 560px) {
  body.admin-shell:not(.admin-login-page) main.section > .container {
    width: min(100% - 24px, 1180px) !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child {
    padding: 24px !important;
    border-radius: 22px !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .admin-title {
    font-size: clamp(36px, 12vw, 48px) !important;
  }

  body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .hero-actions {
    grid-template-columns: 1fr !important;
    padding: 16px !important;
  }
}

/* Final admin banner readability override */
body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top#admin-top {
  background:
    linear-gradient(90deg, rgba(16, 36, 59, .94) 0%, rgba(16, 36, 59, .82) 46%, rgba(24, 58, 90, .70) 100%),
    url("../assets/hero-2.jpg") center/cover no-repeat !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top#admin-top .admin-title,
body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top#admin-top h1 {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  text-shadow: 0 4px 22px rgba(0, 0, 0, .45) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top#admin-top > div:first-child .muted {
  color: rgba(248, 251, 254, .96) !important;
  -webkit-text-fill-color: rgba(248, 251, 254, .96) !important;
  text-shadow: 0 3px 16px rgba(0, 0, 0, .38) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top#admin-top .eyebrow {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  background: rgba(248, 251, 254, .96) !important;
  text-shadow: none !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top#admin-top .hero-actions {
  background: rgba(248, 251, 254, .94) !important;
  border: 1px solid rgba(216, 227, 236, .75) !important;
  box-shadow: 0 20px 52px rgba(0, 0, 0, .24) !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top#admin-top .hero-actions :where(.button-secondary, .button-secondary *) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  background: #FFFFFF !important;
  text-shadow: none !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top#admin-top .hero-actions :where(.button-primary, .button-premium, .button-primary *, .button-premium *) {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  text-shadow: none !important;
}

/* Admin action summary directly below banner */
body.admin-shell:not(.admin-login-page) .admin-action-summary {
  margin: 22px 0 26px !important;
  padding: clamp(20px, 2.6vw, 30px) !important;
  border: 1px solid rgba(216, 227, 236, .95) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at top left, rgba(111, 183, 227, .18), transparent 34%),
    linear-gradient(135deg, #FFFFFF 0%, #F5F8FC 100%) !important;
  box-shadow: 0 18px 48px rgba(16, 36, 59, .10) !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-summary-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-summary-head h2 {
  margin: 0 !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-size: clamp(28px, 3vw, 42px) !important;
  line-height: 1.08 !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-summary-head .muted {
  max-width: 760px !important;
  margin: 8px 0 0 !important;
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-summary-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-card {
  min-height: 168px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 18px !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, .92) !important;
  box-shadow: 0 12px 30px rgba(16, 36, 59, .08) !important;
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
  text-decoration: none !important;
  transition: transform .26s ease, box-shadow .26s ease, border-color .26s ease !important;
  overflow: hidden !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(111, 183, 227, .75) !important;
  box-shadow: 0 18px 42px rgba(16, 36, 59, .14) !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-card strong {
  display: block !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  letter-spacing: -.01em !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-card small {
  display: block !important;
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-tag {
  min-height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: #F5F8FC !important;
  border: 1px solid #D8E3EC !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-card.is-action .admin-action-tag {
  background: rgba(199, 166, 90, .14) !important;
  border-color: rgba(199, 166, 90, .38) !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-card.is-upload .admin-action-tag {
  background: rgba(111, 183, 227, .16) !important;
  border-color: rgba(111, 183, 227, .42) !important;
}

body.admin-shell:not(.admin-login-page) .admin-report-summary {
  margin: 0 0 22px !important;
  padding: 0 !important;
}

body.admin-shell:not(.admin-login-page) .admin-report-summary > summary {
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  border: 1px solid #D8E3EC !important;
  background: #FFFFFF !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  box-shadow: 0 10px 24px rgba(16, 36, 59, .08) !important;
  font-weight: 800 !important;
  cursor: pointer !important;
  list-style: none !important;
}

body.admin-shell:not(.admin-login-page) .admin-report-summary > summary::-webkit-details-marker {
  display: none !important;
}

body.admin-shell:not(.admin-login-page) .admin-report-summary > summary::after {
  content: "+" !important;
  margin-left: 10px !important;
  color: #6FB7E3 !important;
  -webkit-text-fill-color: #6FB7E3 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

body.admin-shell:not(.admin-login-page) .admin-report-summary[open] > summary::after {
  content: "-" !important;
}

body.admin-shell:not(.admin-login-page) .admin-report-summary[open] > summary {
  margin-bottom: 18px !important;
}

@media (max-width: 1100px) {
  body.admin-shell:not(.admin-login-page) .admin-action-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body.admin-shell:not(.admin-login-page) .admin-action-summary-head {
    flex-direction: column !important;
  }

  body.admin-shell:not(.admin-login-page) .admin-action-summary-grid {
    grid-template-columns: 1fr !important;
  }

  body.admin-shell:not(.admin-login-page) .admin-action-card {
    min-height: auto !important;
  }
}

/* Final readability safety net: keep text visible across cards, tables, pills, and admin/public panels. */
:where(.card, .master-card, .table-card, .form-card, .analytics-card, .job-card, .role-card, .proposal-card, .policy-card, .guide-card, .dashboard-card, .admin-action-card) {
  color: #122033 !important;
  -webkit-text-fill-color: initial !important;
}

:where(.card, .master-card, .table-card, .form-card, .analytics-card, .job-card, .role-card, .proposal-card, .policy-card, .guide-card, .dashboard-card, .admin-action-card)
:where(h1, h2, h3, h4, h5, h6, strong, b, label, th, summary) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

:where(.card, .master-card, .table-card, .form-card, .analytics-card, .job-card, .role-card, .proposal-card, .policy-card, .guide-card, .dashboard-card, .admin-action-card)
:where(p, li, td, small, span, .muted, .field-note, .entry-desc) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

:where(.table-card, .form-card, .analytics-card, .admin-action-summary, .admin-report-summary, .admin-control-room-nav) {
  background-color: #FFFFFF !important;
}

:where(table, thead, tbody, tr, td, th) {
  color: #122033 !important;
  -webkit-text-fill-color: initial !important;
}

:where(td, th) :where(a:not(.button):not(.filter-button), span, small, p, strong) {
  opacity: 1 !important;
  text-shadow: none !important;
}

:where(input, select, textarea) {
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
  background-color: #FFFFFF !important;
  border-color: #D8E3EC !important;
}

:where(input, textarea)::placeholder {
  color: #6B7F95 !important;
  -webkit-text-fill-color: #6B7F95 !important;
  opacity: 1 !important;
}

:where(.button, .filter-button, .pill, .status, .media-pill, .tab, .category-tab, .share-action) {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 16px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  opacity: 1 !important;
}

:where(.button-primary, .button-premium, .filter-button.active, .admin-mock-menu .button-primary) {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  background: linear-gradient(135deg, #10243B, #183A5A) !important;
  border-color: rgba(16, 36, 59, .78) !important;
  text-shadow: none !important;
}

:where(.button-secondary, .button-soft, .filter-button, .pill, .media-pill, .category-tab, .tab) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  background: #FFFFFF !important;
  border: 1px solid #D8E3EC !important;
  text-shadow: none !important;
}

:where(.status, .job-badge, .master-job-badges span) {
  min-height: 32px !important;
  padding: 0 14px !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  background: #F5F8FC !important;
  border: 1px solid #D8E3EC !important;
  text-shadow: none !important;
}

:where(.status-danger) {
  color: #7A1F1F !important;
  -webkit-text-fill-color: #7A1F1F !important;
  background: #FFF1F1 !important;
  border-color: #F4C6C6 !important;
}

:where(.status-blue) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  background: rgba(111, 183, 227, .16) !important;
  border-color: rgba(111, 183, 227, .42) !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .admin-action-card, .admin-cron-box) {
  color: #122033 !important;
  -webkit-text-fill-color: initial !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .admin-action-card, .admin-cron-box)
:where(h1, h2, h3, h4, strong, label, th, summary) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .admin-action-card, .admin-cron-box)
:where(p, td, small, span, .muted, .field-note, code) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  opacity: 1 !important;
}

body.admin-shell:not(.admin-login-page) :where(.admin-cron-box code) {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 34px !important;
  margin: 6px 6px 0 0 !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: #F5F8FC !important;
  border: 1px solid #D8E3EC !important;
  font-family: inherit !important;
}

/* Homepage tickers: keep Live Openings and Just Hired in one matching premium color system. */
.master-ticker,
.master-ticker.live-job-ticker,
.master-ticker.just-hired-ticker {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 10px 0 !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(216, 227, 236, .92) !important;
  border-radius: 999px !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(245, 248, 252, .96)) !important;
  box-shadow: 0 14px 34px rgba(16, 36, 59, .10) !important;
  overflow: hidden !important;
}

.master-ticker .master-ticker-label,
.master-ticker.live-job-ticker .master-ticker-label,
.master-ticker.just-hired-ticker .master-ticker-label {
  min-height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  padding: 0 16px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #10243B, #183A5A) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

.master-ticker .live-job-ticker-track,
.master-ticker.live-job-ticker .live-job-ticker-track,
.master-ticker.just-hired-ticker .live-job-ticker-track {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.master-ticker .live-job-ticker-row,
.master-ticker.live-job-ticker .live-job-ticker-row,
.master-ticker.just-hired-ticker .live-job-ticker-row {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  animation-duration: 28s !important;
}

.master-ticker .ticker-item,
.master-ticker .recently-hired-item,
.master-ticker.live-job-ticker .ticker-item,
.master-ticker.just-hired-ticker .recently-hired-item {
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(216, 227, 236, .95) !important;
  background: #FFFFFF !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: 0 8px 20px rgba(16, 36, 59, .07) !important;
}

.master-ticker .ticker-item:hover {
  border-color: rgba(111, 183, 227, .60) !important;
  color: #183A5A !important;
  -webkit-text-fill-color: #183A5A !important;
  transform: translateY(-1px) !important;
}

/* Just Hired ticker: stronger premium treatment, no pale washed-out strip. */
.master-ticker.just-hired-ticker {
  border-color: rgba(16, 36, 59, .26) !important;
  background:
    radial-gradient(circle at 8% 50%, rgba(111, 183, 227, .22), transparent 34%),
    linear-gradient(135deg, #10243B 0%, #183A5A 58%, #10243B 100%) !important;
  box-shadow: 0 18px 42px rgba(16, 36, 59, .20) !important;
}

.master-ticker.just-hired-ticker .master-ticker-label {
  background: rgba(248, 251, 254, .95) !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  border: 1px solid rgba(248, 251, 254, .72) !important;
}

.master-ticker.just-hired-ticker .recently-hired-item,
.master-ticker.just-hired-ticker .ticker-item {
  background: rgba(248, 251, 254, .10) !important;
  border: 1px solid rgba(248, 251, 254, .28) !important;
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
  box-shadow: none !important;
}

.master-ticker.just-hired-ticker .recently-hired-item::before,
.master-ticker.just-hired-ticker .ticker-item::before {
  content: "";
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #6FB7E3;
  box-shadow: 0 0 0 4px rgba(111, 183, 227, .16);
}

.master-ticker.just-hired-ticker .recently-hired-item:hover,
.master-ticker.just-hired-ticker .ticker-item:hover {
  background: rgba(248, 251, 254, .16) !important;
  border-color: rgba(248, 251, 254, .48) !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

@media (max-width: 680px) {
  .master-ticker,
  .master-ticker.live-job-ticker,
  .master-ticker.just-hired-ticker {
    align-items: flex-start !important;
    flex-direction: column !important;
    border-radius: 22px !important;
    padding: 12px !important;
  }

  .master-ticker .master-ticker-label {
    width: 100% !important;
  }
}

/* Absolute final admin card header fix: every inner card title stays visible. */
body.admin-shell:not(.admin-login-page) main.section .container section .table-card .admin-top,
body.admin-shell:not(.admin-login-page) main.section .container section .form-card .admin-top,
body.admin-shell:not(.admin-login-page) main.section .container article.table-card .admin-top,
body.admin-shell:not(.admin-login-page) main.section .container article.form-card .admin-top {
  min-height: auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 18px !important;
  padding: 0 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid #D8E3EC !important;
  border-radius: 0 !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  transform: none !important;
}

body.admin-shell:not(.admin-login-page) main.section .container section .table-card .admin-top h1,
body.admin-shell:not(.admin-login-page) main.section .container section .table-card .admin-top h2,
body.admin-shell:not(.admin-login-page) main.section .container section .table-card .admin-top h3,
body.admin-shell:not(.admin-login-page) main.section .container section .form-card .admin-top h1,
body.admin-shell:not(.admin-login-page) main.section .container section .form-card .admin-top h2,
body.admin-shell:not(.admin-login-page) main.section .container section .form-card .admin-top h3,
body.admin-shell:not(.admin-login-page) main.section .container article.table-card .admin-top h1,
body.admin-shell:not(.admin-login-page) main.section .container article.table-card .admin-top h2,
body.admin-shell:not(.admin-login-page) main.section .container article.table-card .admin-top h3,
body.admin-shell:not(.admin-login-page) main.section .container article.form-card .admin-top h1,
body.admin-shell:not(.admin-login-page) main.section .container article.form-card .admin-top h2,
body.admin-shell:not(.admin-login-page) main.section .container article.form-card .admin-top h3 {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-family: "Playfair Display", serif !important;
  font-size: clamp(24px, 2.2vw, 32px) !important;
  line-height: 1.14 !important;
  letter-spacing: -.02em !important;
  text-shadow: none !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.admin-shell:not(.admin-login-page) main.section .container section .table-card .admin-top p,
body.admin-shell:not(.admin-login-page) main.section .container section .table-card .admin-top .muted,
body.admin-shell:not(.admin-login-page) main.section .container section .form-card .admin-top p,
body.admin-shell:not(.admin-login-page) main.section .container section .form-card .admin-top .muted,
body.admin-shell:not(.admin-login-page) main.section .container article.table-card .admin-top p,
body.admin-shell:not(.admin-login-page) main.section .container article.table-card .admin-top .muted,
body.admin-shell:not(.admin-login-page) main.section .container article.form-card .admin-top p,
body.admin-shell:not(.admin-login-page) main.section .container article.form-card .admin-top .muted {
  display: block !important;
  margin-top: 8px !important;
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  text-shadow: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.admin-shell:not(.admin-login-page) main.section .container section .table-card .admin-top .hero-actions,
body.admin-shell:not(.admin-login-page) main.section .container section .form-card .admin-top .hero-actions,
body.admin-shell:not(.admin-login-page) main.section .container article.table-card .admin-top .hero-actions,
body.admin-shell:not(.admin-login-page) main.section .container article.form-card .admin-top .hero-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child :where(.button-secondary, .button-secondary *) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child :where(.button-primary, .button-premium, .button-primary *, .button-premium *) {
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

/* Admin readability rescue: live admin must prioritize clarity over decoration. */
body.admin-shell:not(.admin-login-page) {
  font-family: "Inter", sans-serif !important;
  background: #F5F8FC !important;
}

body.admin-shell:not(.admin-login-page) * {
  text-rendering: geometricPrecision;
}

body.admin-shell:not(.admin-login-page) :where(
  .form-card,
  .table-card,
  .analytics-card,
  .admin-chart-card,
  .dashboard-card,
  .panel,
  .card,
  .admin-pipeline-column,
  .admin-pipeline-item,
  .admin-cron-box,
  .admin-live-preview,
  .admin-resume-builder-panel,
  .candidate-pdf-action,
  .launch-readiness-card
) {
  background: #ffffff !important;
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 22px !important;
  padding: clamp(20px, 2.2vw, 30px) !important;
  box-shadow: 0 14px 34px rgba(16, 36, 59, .08) !important;
  overflow: visible !important;
}

body.admin-shell:not(.admin-login-page) :where(
  .form-card,
  .table-card,
  .analytics-card,
  .admin-chart-card,
  .dashboard-card,
  .panel,
  .card,
  .admin-pipeline-column,
  .admin-pipeline-item,
  .admin-cron-box,
  .admin-live-preview,
  .admin-resume-builder-panel,
  .candidate-pdf-action,
  .launch-readiness-card
) :where(h1, h2, h3, h4, h5, h6, strong, b) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  line-height: 1.18 !important;
  overflow-wrap: anywhere !important;
}

body.admin-shell:not(.admin-login-page) :where(
  .form-card,
  .table-card,
  .analytics-card,
  .admin-chart-card,
  .dashboard-card,
  .panel,
  .card,
  .admin-pipeline-column,
  .admin-pipeline-item,
  .admin-cron-box,
  .admin-live-preview,
  .admin-resume-builder-panel,
  .candidate-pdf-action,
  .launch-readiness-card
) :where(p, span, small, em, li, div, label, label span, .muted, .field-note) {
  color: #2E4861 !important;
  -webkit-text-fill-color: #2E4861 !important;
  line-height: 1.65 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.admin-shell:not(.admin-login-page) :where(.jobify-section-head, .section-head) {
  margin-bottom: 18px !important;
}

body.admin-shell:not(.admin-login-page) :where(.jobify-section-head, .section-head) :where(h2, h3) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) :where(.jobify-section-head, .section-head) :where(p, span, .muted) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
}

body.admin-shell:not(.admin-login-page) :where(table, .table) {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 10px !important;
}

body.admin-shell:not(.admin-login-page) :where(th, td) {
  min-height: 48px !important;
  padding: 16px 18px !important;
  line-height: 1.55 !important;
  vertical-align: top !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.admin-shell:not(.admin-login-page) :where(th) {
  background: #10243B !important;
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

body.admin-shell:not(.admin-login-page) :where(td) {
  background: #F8FBFE !important;
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
  border-top: 1px solid #D8E3EC !important;
  border-bottom: 1px solid #D8E3EC !important;
}

body.admin-shell:not(.admin-login-page) :where(td *) {
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
}

body.admin-shell:not(.admin-login-page) :where(.button, .btn, button, input[type="submit"], .status, .pill, .badge, .media-pill, .filter-button) {
  min-height: 42px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.admin-shell:not(.admin-login-page) :where(.button-primary, .button-premium, .btn-gold, button[type="submit"]) {
  background: #10243B !important;
  border: 1px solid #10243B !important;
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

body.admin-shell:not(.admin-login-page) :where(.button-secondary, .btn-ghost, .filter-button, .status, .pill, .badge, .media-pill) {
  background: #F8FBFE !important;
  border: 1px solid #D8E3EC !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) :where(.form-actions, .hero-actions, .admin-actions, .table-actions, .admin-review-actions) {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
}

body.admin-shell:not(.admin-login-page) :where(input, select, textarea) {
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 14px !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
  line-height: 1.4 !important;
}

body.admin-shell:not(.admin-login-page) textarea {
  min-height: 118px !important;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-board {
  gap: 16px !important;
  padding: 6px 2px 14px !important;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-head {
  padding-bottom: 12px !important;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-item {
  margin-bottom: 12px !important;
}

body.admin-shell:not(.admin-login-page) .admin-pipeline-open,
body.admin-shell:not(.admin-login-page) .admin-pipeline-more {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.admin-shell:not(.admin-login-page) .admin-control-room-nav,
body.admin-shell:not(.admin-login-page) .admin-mock-nav {
  overflow: visible !important;
}

body.admin-shell:not(.admin-login-page) .admin-control-room-nav {
  padding: 14px !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child {
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child :where(h1, h2, h3, p, span, small, strong, div) {
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .eyebrow {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

@media (max-width: 768px) {
  body.admin-shell:not(.admin-login-page) :where(
    .form-card,
    .table-card,
    .analytics-card,
    .admin-chart-card,
    .dashboard-card,
    .panel,
    .card,
    .admin-pipeline-column,
    .admin-pipeline-item,
    .admin-cron-box,
    .admin-live-preview,
    .admin-resume-builder-panel,
    .candidate-pdf-action,
    .launch-readiness-card
  ) {
    padding: 18px !important;
    border-radius: 18px !important;
  }

  body.admin-shell:not(.admin-login-page) :where(th, td) {
    padding: 14px !important;
  }
}

/* Admin final contrast for cron/fallback cards, buttons, and status pills. */
body.admin-shell:not(.admin-login-page) .admin-cron-box {
  background: #ffffff !important;
  border: 1px solid #CFE1EF !important;
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
}

body.admin-shell:not(.admin-login-page) .admin-cron-box strong,
body.admin-shell:not(.admin-login-page) .admin-cron-box h3,
body.admin-shell:not(.admin-login-page) .admin-cron-box h4 {
  display: block !important;
  margin: 0 0 12px !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
}

body.admin-shell:not(.admin-login-page) .admin-cron-box code {
  display: block !important;
  width: 100% !important;
  margin: 10px 0 0 !important;
  padding: 13px 15px !important;
  border: 1px solid rgba(16, 36, 59, .16) !important;
  border-radius: 14px !important;
  background: #E9F4FB !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-family: "Inter", sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.admin-shell:not(.admin-login-page) .admin-cron-box form {
  margin-top: 14px !important;
}

body.admin-shell:not(.admin-login-page) :where(.button, .btn, button, input[type="submit"]) {
  border-radius: 999px !important;
  font-weight: 900 !important;
  letter-spacing: .01em !important;
}

body.admin-shell:not(.admin-login-page) :where(.button-primary, .button-premium, .btn-gold, button[type="submit"]) {
  background: #183A5A !important;
  border-color: #183A5A !important;
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
  box-shadow: 0 12px 28px rgba(16, 36, 59, .14) !important;
}

body.admin-shell:not(.admin-login-page) :where(.button-primary, .button-premium, .btn-gold, button[type="submit"]):hover {
  background: #10243B !important;
  border-color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) :where(.button-secondary, .btn-ghost, .filter-button, .admin-control-room-nav a, .admin-mock-menu a) {
  background: #FFFFFF !important;
  border: 1px solid #CFE1EF !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  box-shadow: 0 8px 20px rgba(16, 36, 59, .06) !important;
}

body.admin-shell:not(.admin-login-page) :where(.status, .pill, .badge, .media-pill, .chart-chip, .status-pill) {
  min-height: 34px !important;
  padding: 0 13px !important;
  border-radius: 999px !important;
  background: #E9F4FB !important;
  border: 1px solid #CFE1EF !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-weight: 900 !important;
}

body.admin-shell:not(.admin-login-page) :where(.status-blue, .is-ready .status, .launch-readiness-card.is-ready .status) {
  background: #E7F8F0 !important;
  border-color: #BDE7D2 !important;
  color: #1D6D4B !important;
  -webkit-text-fill-color: #1D6D4B !important;
}

body.admin-shell:not(.admin-login-page) :where(.status-danger, .status-rejected, .needs-attention .status, .launch-readiness-card.needs-attention .status) {
  background: #FFF0EE !important;
  border-color: rgba(179, 63, 54, .26) !important;
  color: #9F3028 !important;
  -webkit-text-fill-color: #9F3028 !important;
}

body.admin-shell:not(.admin-login-page) .field-note code {
  display: inline-flex !important;
  min-height: 28px !important;
  align-items: center !important;
  padding: 0 8px !important;
  border-radius: 8px !important;
  background: #E9F4FB !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-weight: 800 !important;
}

/* Admin inner card headers: fix Candidate Job Alert Demand and similar report headings. */
body.admin-shell:not(.admin-login-page) .table-card > .admin-top,
body.admin-shell:not(.admin-login-page) .form-card > .admin-top,
body.admin-shell:not(.admin-login-page) .dashboard-card > .admin-top,
body.admin-shell:not(.admin-login-page) .panel > .admin-top {
  min-height: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 18px !important;
  padding: 0 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid #D8E3EC !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.admin-shell:not(.admin-login-page) .table-card > .admin-top *,
body.admin-shell:not(.admin-login-page) .form-card > .admin-top *,
body.admin-shell:not(.admin-login-page) .dashboard-card > .admin-top *,
body.admin-shell:not(.admin-login-page) .panel > .admin-top * {
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
  text-shadow: none !important;
  writing-mode: horizontal-tb !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

body.admin-shell:not(.admin-login-page) .table-card > .admin-top h3,
body.admin-shell:not(.admin-login-page) .form-card > .admin-top h3,
body.admin-shell:not(.admin-login-page) .dashboard-card > .admin-top h3,
body.admin-shell:not(.admin-login-page) .panel > .admin-top h3 {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-size: clamp(22px, 2vw, 30px) !important;
  line-height: 1.12 !important;
}

body.admin-shell:not(.admin-login-page) .table-card > .admin-top .muted,
body.admin-shell:not(.admin-login-page) .form-card > .admin-top .muted,
body.admin-shell:not(.admin-login-page) .dashboard-card > .admin-top .muted,
body.admin-shell:not(.admin-login-page) .panel > .admin-top .muted {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
}

body.admin-shell:not(.admin-login-page) .table-card > .admin-top .status,
body.admin-shell:not(.admin-login-page) .form-card > .admin-top .status,
body.admin-shell:not(.admin-login-page) .dashboard-card > .admin-top .status,
body.admin-shell:not(.admin-login-page) .panel > .admin-top .status {
  flex: 0 0 auto !important;
  background: #E9F4FB !important;
  border: 1px solid #CFE1EF !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) #saved-jobs-output,
body.admin-shell:not(.admin-login-page) #saved-jobs-output + .table-card,
body.admin-shell:not(.admin-login-page) #saved-jobs-output ~ .table-card,
body.admin-shell:not(.admin-login-page) #candidate-alerts-output {
  background: #FFFFFF !important;
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
}

body.admin-shell:not(.admin-login-page) #saved-jobs-output .admin-top,
body.admin-shell:not(.admin-login-page) #saved-jobs-output + .table-card .admin-top,
body.admin-shell:not(.admin-login-page) #candidate-alerts-output .admin-top {
  min-height: auto !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 0 0 16px !important;
  margin: 0 0 18px !important;
  background: #FFFFFF !important;
  border: 0 !important;
  border-bottom: 1px solid #D8E3EC !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.admin-shell:not(.admin-login-page) #saved-jobs-output .admin-top h3,
body.admin-shell:not(.admin-login-page) #saved-jobs-output + .table-card .admin-top h3,
body.admin-shell:not(.admin-login-page) #candidate-alerts-output .admin-top h3 {
  display: block !important;
  width: auto !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-size: 26px !important;
  line-height: 1.15 !important;
  letter-spacing: -.02em !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
}

body.admin-shell:not(.admin-login-page) #saved-jobs-output .admin-top p,
body.admin-shell:not(.admin-login-page) #saved-jobs-output + .table-card .admin-top p,
body.admin-shell:not(.admin-login-page) #candidate-alerts-output .admin-top p,
body.admin-shell:not(.admin-login-page) #saved-jobs-output .admin-top span,
body.admin-shell:not(.admin-login-page) #saved-jobs-output + .table-card .admin-top span,
body.admin-shell:not(.admin-login-page) #candidate-alerts-output .admin-top span {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  text-shadow: none !important;
}

/* Any admin-top used inside dashboard content cards must be normal readable header, not hero style. */
body.admin-shell:not(.admin-login-page) section .admin-top,
body.admin-shell:not(.admin-login-page) article .admin-top,
body.admin-shell:not(.admin-login-page) .table-card .admin-top,
body.admin-shell:not(.admin-login-page) .form-card .admin-top {
  min-height: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 18px !important;
  padding: 0 0 16px !important;
  border: 0 !important;
  border-bottom: 1px solid #D8E3EC !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.admin-shell:not(.admin-login-page) section .admin-top *,
body.admin-shell:not(.admin-login-page) article .admin-top *,
body.admin-shell:not(.admin-login-page) .table-card .admin-top *,
body.admin-shell:not(.admin-login-page) .form-card .admin-top * {
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
  text-shadow: none !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.admin-shell:not(.admin-login-page) section .admin-top :where(h1, h2, h3, h4, strong),
body.admin-shell:not(.admin-login-page) article .admin-top :where(h1, h2, h3, h4, strong),
body.admin-shell:not(.admin-login-page) .table-card .admin-top :where(h1, h2, h3, h4, strong),
body.admin-shell:not(.admin-login-page) .form-card .admin-top :where(h1, h2, h3, h4, strong) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-size: clamp(22px, 2.2vw, 30px) !important;
  line-height: 1.15 !important;
}

body.admin-shell:not(.admin-login-page) section .admin-top :where(p, span, small, .muted),
body.admin-shell:not(.admin-login-page) article .admin-top :where(p, span, small, .muted),
body.admin-shell:not(.admin-login-page) .table-card .admin-top :where(p, span, small, .muted),
body.admin-shell:not(.admin-login-page) .form-card .admin-top :where(p, span, small, .muted) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child,
body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child * {
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

body.admin-shell:not(.admin-login-page) main.section > .container > .admin-top:first-child .eyebrow {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}
/* TRUE EOF PRODUCTION LOCK - 2026-07-15. Do not place legacy rules after this block. */

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero) {
  min-height: clamp(560px, 82svh, 820px) !important;
  position: relative !important;
  display: grid !important;
  align-items: center !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: #10243B !important;
  box-shadow: none !important;
}

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero)::before {
  content: "" !important;
  position: absolute !important;
  inset: -6% !important;
  z-index: 0 !important;
  background-image: var(--djp-banner-image, url("/assets/hero-2.jpg")) !important;
  background-size: cover !important;
  background-position: center !important;
  animation: djpLaunchBannerDrift 20s ease-in-out infinite !important;
}

body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero)::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background:
    linear-gradient(96deg, rgba(16, 36, 59, .78) 0%, rgba(16, 36, 59, .54) 46%, rgba(16, 36, 59, .22) 100%),
    radial-gradient(circle at 18% 42%, rgba(111, 183, 227, .22), transparent 34%),
    linear-gradient(180deg, rgba(16, 36, 59, .14), rgba(16, 36, 59, .30)) !important;
}

body:not([data-page="home"]) :where(.page-hero-bg-image, .hero-bg, .job-detail-hero-bg-image) {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  overflow: hidden !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body:not([data-page="home"]) :where(.page-hero-bg-image img, .hero-bg img, .job-detail-hero-bg-image img),
body:not([data-page="home"]) :where(img.page-hero-bg-image) {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  opacity: 1 !important;
  filter: saturate(1.08) contrast(1.06) brightness(.94) !important;
  animation: djpLaunchBannerDrift 20s ease-in-out infinite !important;
}

body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
  position: relative !important;
  z-index: 2 !important;
  width: min(100% - 56px, 1180px) !important;
  max-width: 1180px !important;
  min-height: clamp(560px, 82svh, 820px) !important;
  margin-inline: auto !important;
  padding: clamp(112px, 14vh, 160px) 0 clamp(94px, 11vh, 132px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  text-align: left !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:not([data-page="home"]) :where(.page-hero h1, .hero.compact.jobs-search-hero h1, .job-detail-hero h1, .role-landing-hero h1, .jobify-hero h1) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  max-width: 760px !important;
  text-shadow: 0 4px 12px rgba(0, 0, 0, .76), 0 24px 60px rgba(0, 0, 0, .46) !important;
}

body:not([data-page="home"]) :where(.page-hero p, .hero.compact.jobs-search-hero p, .job-detail-hero p, .role-landing-hero p, .jobify-hero p) {
  color: rgba(248, 251, 254, .96) !important;
  -webkit-text-fill-color: rgba(248, 251, 254, .96) !important;
  max-width: 720px !important;
  line-height: 1.75 !important;
  text-shadow: 0 3px 10px rgba(0, 0, 0, .70), 0 16px 34px rgba(0, 0, 0, .38) !important;
}

:where(.button, .btn, .mini-btn, .filter-button, .pill, .status, .status-pill, .media-pill, .theme-pill, .admin-tab-button, .category-tab, .tab-pill, .job-category-tabs a, .blog-category-tabs a, .pagination a, .pagination span, .nav-button) {
  min-height: 42px !important;
  max-width: 100% !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1 !important;
  border-radius: 999px !important;
}

:where(.share-row a, .share-row button, .job-card-share-actions a, .job-card-share-actions button, .more-share-panel summary) {
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  border: 1px solid #D8E3EC !important;
  box-shadow: 0 10px 22px rgba(16, 36, 59, .10) !important;
}

:where(.share-row a, .share-row button, .job-card-share-actions a, .job-card-share-actions button, .more-share-panel summary) :where(.share-platform-text, > span:not(.share-platform-icon)) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

.share-platform-icon,
.share-platform-icon svg {
  width: 22px !important;
  min-width: 22px !important;
  height: 22px !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #10243B !important;
  fill: none !important;
  stroke: currentColor !important;
}

.share-platform-icon::before {
  content: none !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) {
  color: #122033 !important;
  background: #fff !important;
  border: 1px solid #D8E3EC !important;
  box-shadow: 0 18px 46px rgba(16, 36, 59, .10) !important;
  border-radius: 22px !important;
  padding: clamp(20px, 2.6vw, 30px) !important;
}

body.admin-shell:not(.admin-login-page) :where(.table-card, .form-card, .analytics-card, .dashboard-card, .panel, .admin-cron-box, .admin-action-card, .kpi) * {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 768px) {
  .top-trust-strip {
    display: none !important;
  }

  body:not([data-page="home"]) :where(.page-hero, .hero.compact.jobs-search-hero, .job-detail-hero, .role-landing-hero, .jobify-hero),
  body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
    min-height: clamp(500px, 74svh, 680px) !important;
  }

  body:not([data-page="home"]) :where(.page-hero-shell, .hero-content, .jobs-find-hero, .job-detail-hero-shell, .role-landing-shell, .jobify-hero-shell) {
    width: min(100% - 36px, 1180px) !important;
    padding: 88px 0 86px !important;
  }
}

body[data-page="home"] .master-hero-carousel picture {
  display: block;
  width: 100%;
  height: 100%;
}

@supports (content-visibility: auto) {
  body[data-page="home"] main > section:not(.master-hero) {
    content-visibility: auto;
    contain-intrinsic-size: auto 760px;
  }

  body[data-page="home"] .footer {
    content-visibility: auto;
    contain-intrinsic-size: auto 680px;
  }
}

/* Jobs actions: same-page Quick Apply and an inline share rail without overlays. */
.job-card-quick-actions {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.jobs-quick-apply-card {
  scroll-margin-top: 112px !important;
}

.job-card-inline-share {
  min-width: 0 !important;
  margin-left: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
}

.job-card-inline-share-label {
  color: #385572 !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.job-card-inline-share .job-card-share-actions {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.job-card-inline-share .job-card-share-actions :where(a, button) {
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  background: #F8FBFE !important;
  border: 1px solid #C9D8E5 !important;
  box-shadow: 0 8px 18px rgba(16, 36, 59, .09) !important;
}

.job-card-inline-share .job-card-share-actions :where(a, button):hover,
.job-card-inline-share .job-card-share-actions :where(a, button):focus-visible {
  color: #F8FBFE !important;
  background: #183A5A !important;
  border-color: #183A5A !important;
  transform: translateY(-2px) !important;
}

.job-card-inline-share .share-platform-icon,
.job-card-inline-share .share-platform-icon svg {
  color: currentColor !important;
  stroke: currentColor !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Role pages: one full-bleed role image and explicit high-contrast snapshot typography. */
.role-landing-hero .role-landing-shell {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

.role-landing-hero .role-landing-copy {
  width: min(100%, 780px) !important;
  max-width: 780px !important;
}

.role-snapshot-layout {
  grid-template-columns: minmax(0, 2.35fr) minmax(270px, .8fr) !important;
  gap: 26px !important;
  align-items: start !important;
}

.role-snapshot-card {
  color: #122033 !important;
  background:
    radial-gradient(circle at 96% 0%, rgba(111, 183, 227, .18), transparent 34%),
    #FFFFFF !important;
  border: 1px solid #D8E3EC !important;
  box-shadow: 0 20px 52px rgba(16, 36, 59, .11) !important;
}

.role-snapshot-card > .eyebrow {
  color: #183A5A !important;
  -webkit-text-fill-color: #183A5A !important;
}

.role-snapshot-card > h2 {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

.role-snapshot-brief {
  color: #F8FBFE !important;
  background:
    radial-gradient(circle at 88% 8%, rgba(111, 183, 227, .26), transparent 34%),
    linear-gradient(135deg, #10243B, #183A5A) !important;
  border: 1px solid rgba(248, 251, 254, .14) !important;
}

.role-snapshot-brief span {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  background: #F5F8FC !important;
}

.role-snapshot-brief strong {
  color: #FFFFFF !important;
  -webkit-text-fill-color: #FFFFFF !important;
}

.role-snapshot-brief p,
.role-snapshot-brief > p {
  color: rgba(248, 251, 254, .94) !important;
  -webkit-text-fill-color: rgba(248, 251, 254, .94) !important;
}

.role-snapshot-results {
  background: #FFFFFF !important;
  border: 1px solid #D8E3EC !important;
}

.role-snapshot-row dt {
  color: #48647C !important;
  -webkit-text-fill-color: #48647C !important;
}

.role-snapshot-row dd {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
}

@media (max-width: 900px) {
  .role-snapshot-layout {
    grid-template-columns: 1fr !important;
  }

  .job-card-inline-share {
    width: 100% !important;
    margin-left: 0 !important;
    padding-top: 12px !important;
    border-top: 1px solid #E4ECF3 !important;
  }

  .job-card-inline-share-label {
    display: none !important;
  }

  .job-card-inline-share .job-card-share-actions {
    width: 100% !important;
    justify-content: space-between !important;
    overflow-x: auto !important;
    padding: 2px 0 4px !important;
    scrollbar-width: none !important;
  }

  .job-card-inline-share .job-card-share-actions::-webkit-scrollbar {
    display: none !important;
  }
}

/* Mobile performance: preserve functionality while avoiding costly decorative motion. */
@media (max-width: 768px) {
  .reveal,
  .reveal.is-visible,
  .job-card,
  .premium-card,
  .category-card,
  .review-card,
  .master-testimonial-slide {
    opacity: 1 !important;
    transform: none !important;
    transition-property: color, background-color, border-color, box-shadow !important;
    transition-duration: 0.2s !important;
  }

  .master-hero-carousel img,
  .inner-banner img,
  .page-hero img {
    animation: none !important;
    transform: none !important;
  }
}
/* Consent preferences: compact, readable and mobile-safe. */
.cookie-consent {
  position: fixed;
  z-index: 1200;
  right: 22px;
  bottom: 22px;
  left: 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  max-width: 920px;
  margin-left: auto;
  padding: 20px 22px;
  color: #122033;
  background: rgba(248, 251, 254, 0.98);
  border: 1px solid rgba(16, 36, 59, 0.16);
  border-radius: 20px;
  box-shadow: 0 18px 50px rgba(16, 36, 59, 0.22);
  backdrop-filter: blur(14px);
}

.cookie-consent[hidden] {
  display: none !important;
}

.cookie-consent-copy {
  min-width: 0;
}

.cookie-consent-copy strong {
  display: block;
  margin-bottom: 5px;
  color: #10243b;
  font-size: 1rem;
}

.cookie-consent-copy p {
  margin: 0 0 5px;
  color: #385572;
  line-height: 1.55;
}

.cookie-consent-copy a,
.footer-cookie-settings {
  color: #183a5a;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-consent-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.footer-cookie-settings {
  min-height: 36px;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.employer-replacement-boundary {
  margin: 14px 0 0;
  padding: 12px 14px;
  color: #183a5a;
  background: #f5f8fc;
  border: 1px solid #d8e3ec;
  border-radius: 12px;
}

@media (max-width: 720px) {
  .cookie-consent {
    right: 14px;
    bottom: 14px;
    left: 14px;
    align-items: stretch;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
  }

  .cookie-consent-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .cookie-consent-actions .button {
    width: 100%;
  }
}

/* July 2026 component audit: consistent boundaries, contrast, and responsive disclosure. */
*,
*::before,
*::after {
  box-sizing: border-box;
}

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(111, 183, 227, .72) !important;
  outline-offset: 3px !important;
}

.breadcrumbs-shell {
  padding: 14px 0 !important;
  color: #385572 !important;
  background: #F5F8FC !important;
  border-bottom: 1px solid #D8E3EC !important;
}

.breadcrumbs-shell .breadcrumbs {
  min-height: 42px !important;
  align-items: center !important;
  gap: 9px !important;
  padding-block: 4px !important;
}

.breadcrumbs-shell :where(a, span) {
  color: #183A5A !important;
  -webkit-text-fill-color: #183A5A !important;
  opacity: 1 !important;
  font-weight: 750 !important;
}

/* Role landing pages */
.jobify-section .jobify-section-head {
  align-items: flex-end !important;
  gap: 24px !important;
  margin-bottom: 28px !important;
}

.jobify-section .jobify-section-head > :where(div, p) {
  min-width: 0 !important;
}

.jobify-section .jobify-section-head :where(.eyebrow, h2, p) {
  opacity: 1 !important;
  visibility: visible !important;
}

.jobify-section .jobify-section-head .eyebrow,
.role-seo-grid .eyebrow,
.role-authority-copy .eyebrow,
.jobify-cta-card .eyebrow,
.jobify-contact-card .eyebrow {
  color: #183A5A !important;
  -webkit-text-fill-color: #183A5A !important;
}

.jobify-contact-card,
.role-salary-card,
.role-trust-card,
.role-authority-copy,
.jobify-process-card,
.jobify-cta-card,
.role-faq-list details,
.role-related-links a {
  min-width: 0 !important;
  padding: clamp(24px, 3vw, 36px) !important;
  color: #122033 !important;
  background: #FFFFFF !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 46px rgba(16, 36, 59, .09) !important;
  overflow: hidden !important;
}

:where(.jobify-contact-card, .role-salary-card, .role-trust-card, .role-authority-copy, .jobify-process-card, .jobify-cta-card, .role-faq-list details, .role-related-links a)
  :where(h2, h3, strong, summary) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  opacity: 1 !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere !important;
}

:where(.jobify-contact-card, .role-salary-card, .role-trust-card, .role-authority-copy, .jobify-process-card, .jobify-cta-card, .role-faq-list details, .role-related-links a)
  :where(p, li, span:not(.button)) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  opacity: 1 !important;
  line-height: 1.72 !important;
  overflow-wrap: anywhere !important;
}

.jobify-contact-card .button,
.jobify-cta-card .button,
.role-related-links .button {
  max-width: 100% !important;
  min-height: 46px !important;
  padding: 12px 18px !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

.jobify-current-grid {
  gap: 24px !important;
  align-items: stretch !important;
}

.jobify-role-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

.jobify-role-card {
  display: flex !important;
  min-width: 0 !important;
  min-height: 230px !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
  padding: clamp(24px, 3vw, 34px) !important;
  color: #122033 !important;
  background: #FFFFFF !important;
  border: 1px solid #D8E3EC !important;
  border-top: 4px solid #6FB7E3 !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 46px rgba(16, 36, 59, .09) !important;
  overflow: hidden !important;
}

.jobify-role-card > span {
  display: inline-flex !important;
  min-height: 34px !important;
  max-width: 100% !important;
  align-items: center !important;
  padding: 8px 13px !important;
  color: #183A5A !important;
  -webkit-text-fill-color: #183A5A !important;
  background: #EAF4FB !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  overflow-wrap: anywhere !important;
}

.jobify-role-card > strong {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-size: clamp(1.2rem, 2vw, 1.52rem) !important;
  line-height: 1.22 !important;
  overflow-wrap: anywhere !important;
}

.jobify-role-card > p {
  margin: 0 !important;
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  line-height: 1.7 !important;
}

.jobify-role-card:hover,
.jobify-role-card:focus-visible {
  border-color: #6FB7E3 !important;
  transform: translateY(-4px) !important;
  box-shadow: 0 24px 58px rgba(16, 36, 59, .14) !important;
}

.jobify-current-card {
  display: flex !important;
  min-width: 0 !important;
  min-height: 100% !important;
  flex-direction: column !important;
  gap: 14px !important;
  padding: 18px !important;
  color: #122033 !important;
  background: #FFFFFF !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

.jobify-current-media {
  position: relative !important;
  margin: -18px -18px 2px !important;
  overflow: hidden !important;
  border-radius: 21px 21px 0 0 !important;
}

.jobify-current-media img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}

.jobify-current-media > span,
.jobify-current-badge {
  min-height: 34px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

.jobify-current-badge {
  align-self: flex-start !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  background: #EAF4FB !important;
  border: 1px solid #C9DDEB !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.jobify-current-card > strong {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  font-size: clamp(1.15rem, 2vw, 1.42rem) !important;
  line-height: 1.25 !important;
}

.jobify-current-card .job-result-summary,
.jobify-current-card .job-facts-grid {
  margin: 0 !important;
  color: #385572 !important;
}

.jobify-current-footer {
  margin-top: auto !important;
  padding-top: 14px !important;
  border-top: 1px solid #E3EBF2 !important;
}

.jobify-current-footer span {
  display: inline-flex !important;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 18px !important;
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
  background: #183A5A !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
}

.role-seo-grid,
.role-detail-grid,
.jobify-cta-split {
  gap: 24px !important;
  align-items: stretch !important;
}

.role-detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.role-salary-card > strong {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  line-height: 1.12 !important;
}

.jobify-process-card > span {
  display: inline-flex !important;
  width: 44px !important;
  height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
  background: #183A5A !important;
  border-radius: 14px !important;
  font-weight: 900 !important;
}

.jobify-cta-card.jobify-cta-dark {
  color: #F8FBFE !important;
  background: linear-gradient(135deg, #10243B, #183A5A) !important;
  border-color: rgba(248, 251, 254, .14) !important;
}

.jobify-cta-card.jobify-cta-dark :where(.eyebrow, h2, p, li) {
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
}

.role-faq-list {
  display: grid !important;
  gap: 14px !important;
}

.role-faq-list details {
  padding: 0 !important;
}

.role-faq-list summary {
  min-height: 58px !important;
  padding: 18px 22px !important;
  cursor: pointer !important;
}

.role-faq-list details > p {
  margin: 0 !important;
  padding: 0 22px 22px !important;
}

.role-related-links,
.jobify-logo-row {
  gap: 14px !important;
}

.jobify-logo-row span {
  display: inline-flex !important;
  min-height: 42px !important;
  max-width: 100% !important;
  align-items: center !important;
  padding: 10px 16px !important;
  color: #183A5A !important;
  -webkit-text-fill-color: #183A5A !important;
  background: #FFFFFF !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 999px !important;
  overflow-wrap: anywhere !important;
}

/* Jobs search and apply boundaries */
body[data-page="jobs"] :where(.premium-search, .jobs-search-panel, .jobs-quick-apply-card) {
  min-width: 0 !important;
  border-radius: 24px !important;
}

body[data-page="jobs"] .premium-search {
  padding: clamp(20px, 3vw, 34px) !important;
  overflow: hidden !important;
}

body[data-page="jobs"] .premium-search > strong,
body[data-page="jobs"] .jobs-quick-apply-card > :where(.eyebrow, h2, h3) {
  display: block !important;
  margin-bottom: 14px !important;
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  opacity: 1 !important;
  line-height: 1.2 !important;
}

body[data-page="jobs"] .jobs-search-panel {
  padding: clamp(18px, 2.5vw, 28px) !important;
  gap: 14px !important;
}

body[data-page="jobs"] .jobs-search-panel :where(input, select) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 50px !important;
  padding: 12px 14px !important;
  color: #122033 !important;
  -webkit-text-fill-color: #122033 !important;
  background: #FFFFFF !important;
  border: 1px solid #C9D8E5 !important;
  border-radius: 13px !important;
}

body[data-page="jobs"] .job-card {
  min-width: 0 !important;
  padding: clamp(22px, 3vw, 30px) !important;
  color: #122033 !important;
  background: #FFFFFF !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 22px !important;
  box-shadow: 0 16px 42px rgba(16, 36, 59, .09) !important;
  overflow: hidden !important;
}

body[data-page="jobs"] .job-card > * {
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-page="jobs"] .job-card :where(h2, h3, strong) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  line-height: 1.22 !important;
  overflow-wrap: anywhere !important;
}

body[data-page="jobs"] .job-card :where(p, li, .muted, .field-note) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  line-height: 1.68 !important;
  overflow-wrap: anywhere !important;
}

body[data-page="jobs"] :where(.job-badge, .master-job-badges span, .job-card-badge, .status) {
  min-height: 34px !important;
  max-width: 100% !important;
  padding: 8px 14px !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body[data-page="jobs"] .jobs-quick-tabs {
  gap: 10px !important;
  margin: 18px 0 0 !important;
}

body[data-page="jobs"] .jobs-quick-tabs a {
  min-height: 42px !important;
  padding: 10px 16px !important;
  line-height: 1.15 !important;
}

.jobs-quick-apply-card {
  padding: clamp(24px, 3vw, 34px) !important;
  overflow: hidden !important;
}

.jobs-quick-apply-card > form {
  width: 100% !important;
  min-width: 0 !important;
  gap: 16px !important;
}

.jobs-quick-apply-card :where(input, select, textarea) {
  width: 100% !important;
  max-width: 100% !important;
}

.job-card-inline-share-label {
  display: none !important;
}

.job-card-inline-share .job-card-share-actions {
  flex-wrap: wrap !important;
}

/* Employer portal headings and plan/dashboard cards. */
body[data-page="employers"] :where(.employer-plan-card, .candidate-command-card) {
  min-width: 0 !important;
  padding: clamp(22px, 3vw, 32px) !important;
  color: #122033 !important;
  background: #FFFFFF !important;
  border: 1px solid #D8E3EC !important;
  border-radius: 22px !important;
  overflow: hidden !important;
}

body[data-page="employers"] :where(.employer-plan-card, .candidate-command-card) :where(strong, h2, h3) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  line-height: 1.2 !important;
}

body[data-page="employers"] :where(.employer-plan-card, .candidate-command-card) :where(p, span) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  line-height: 1.65 !important;
  overflow-wrap: anywhere !important;
}

/* Admin reports and progressive disclosure. */
body.admin-shell:not(.admin-login-page) .admin-action-summary .eyebrow,
body.admin-shell:not(.admin-login-page) .admin-chart-section .eyebrow {
  color: #183A5A !important;
  -webkit-text-fill-color: #183A5A !important;
  opacity: 1 !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-summary-head :where(h2, p),
body.admin-shell:not(.admin-login-page) .admin-action-card :where(strong, small, span) {
  opacity: 1 !important;
  visibility: visible !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-card {
  min-width: 0 !important;
  padding: 20px !important;
  border: 1px solid #D8E3EC !important;
  border-top: 3px solid #6FB7E3 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-card :where(strong, h3) {
  color: #10243B !important;
  -webkit-text-fill-color: #10243B !important;
  overflow-wrap: anywhere !important;
}

body.admin-shell:not(.admin-login-page) .admin-action-card :where(small, span:not(.admin-action-tag)) {
  color: #385572 !important;
  -webkit-text-fill-color: #385572 !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere !important;
}

body.admin-shell:not(.admin-login-page) :where(.analytics-card, .admin-chart-card, .table-card, .form-card) {
  border: 1px solid #D8E3EC !important;
  border-top: 3px solid #6FB7E3 !important;
  overflow: hidden !important;
}

body.admin-shell:not(.admin-login-page) :where(.analytics-card, .admin-chart-card) {
  min-height: 170px !important;
  align-content: start !important;
}

body.admin-shell:not(.admin-login-page) .mini-bars {
  display: grid !important;
  gap: 15px !important;
  margin-top: 18px !important;
}

body.admin-shell:not(.admin-login-page) .mini-bar label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  margin-bottom: 7px !important;
  color: #10243B !important;
}

body.admin-shell:not(.admin-login-page) .mini-bar-track {
  height: 9px !important;
  overflow: hidden !important;
  background: #E7EFF5 !important;
  border-radius: 999px !important;
}

body.admin-shell:not(.admin-login-page) .mini-bar-fill {
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  background: linear-gradient(90deg, #183A5A, #6FB7E3) !important;
  border-radius: inherit !important;
}

.admin-collapse-trigger {
  min-height: 42px !important;
  margin: 14px 0 4px !important;
  padding: 10px 16px !important;
  color: #F8FBFE !important;
  -webkit-text-fill-color: #F8FBFE !important;
  background: #183A5A !important;
  border: 1px solid #183A5A !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.admin-collapse-trigger:hover,
.admin-collapse-trigger:focus-visible,
.admin-collapse-trigger[aria-expanded="true"] {
  background: #10243B !important;
  transform: translateY(-1px) !important;
}

.admin-collapsible-body {
  padding-top: 16px !important;
}

.admin-collapsible-body[hidden] {
  display: none !important;
}

@media (max-width: 980px) {
  .role-seo-grid,
  .role-detail-grid,
  .jobify-cta-split,
  .role-related-links,
  .jobify-role-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 768px) {
  .container,
  .breadcrumbs-shell .container {
    width: min(100% - 32px, 1180px) !important;
  }

  .section,
  .jobify-section {
    padding-block: clamp(54px, 11vw, 76px) !important;
  }

  .jobify-section .jobify-section-head {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  .jobify-section .jobify-section-head .button {
    width: 100% !important;
  }

  .jobify-current-grid {
    grid-template-columns: 1fr !important;
  }

  body[data-page="jobs"] .premium-search,
  body[data-page="jobs"] .jobs-search-panel,
  .jobs-quick-apply-card,
  .jobify-contact-card,
  .role-salary-card,
  .role-trust-card,
  .role-authority-copy,
  .jobify-process-card,
  .jobify-cta-card {
    padding: 20px !important;
  }

  .job-card-inline-share .job-card-share-actions {
    justify-content: flex-start !important;
    gap: 9px !important;
  }

  body.admin-shell:not(.admin-login-page) :where(.analytics-card, .admin-chart-card) {
    min-height: 0 !important;
  }
}
