:root {
  --bg: #f7f7f5;
  --ink: #090909;
  --muted: #666;
  --line: #e4e4de;
  --panel: #fff;
  --soft: #f4f4f1;
  --red: #d71920;
  --red-dark: #a90f14;
  --red-soft: #fff0f1;
  --black: #090909;
  --shadow: 0 16px 42px rgba(9, 9, 9, .08);
  --shadow-soft: 0 8px 24px rgba(9, 9, 9, .045);
  --display-title-size: clamp(29px, 3vw, 40px);
  --page-title-size: clamp(25px, 2.4vw, 34px);
  --section-title-size: clamp(18px, 1.6vw, 24px);
  --panel-title-size: clamp(14px, 1.08vw, 18px);
  --listing-title-size: clamp(13px, 1.16vw, 18px);
  --job-tag-size: 9px;
  --metric-title-size: clamp(22px, 2.2vw, 32px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: radial-gradient(circle at 12% 0%, #fff 0, var(--bg) 32%); color: var(--ink); font-family: "Unbounded", Arial, sans-serif; -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
main { overflow: clip; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
::selection { background: var(--red); color: #fff; }

.site-header, .admin-header {
  align-items: center;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 22px rgba(9, 9, 9, .035);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 14px clamp(18px, 4vw, 64px);
  position: sticky;
  top: 0;
  z-index: 20;
}

.brand { align-items: center; display: inline-flex; gap: 12px; }
.brand-logo { display: block; height: 40px; width: auto; }
.brand small { border-left: 1px solid var(--line); color: var(--muted); display: block; font-size: 11px; font-weight: 800; line-height: 1; padding-left: 12px; }
nav { display: flex; gap: 6px; }
nav a, .text-button { border-radius: 8px; color: #202020; font-size: 12px; font-weight: 800; padding: 10px 13px; transition: background-color .18s, border-color .18s, color .18s, transform .18s; }
nav a:hover, nav a.active, .admin-menu a.active { background: var(--black); color: #fff; }
.text-button { background: transparent; border: 0; color: var(--red); cursor: pointer; }

.hero, .admin-hero, .job-page-hero {
  display: grid;
  gap: clamp(22px, 4vw, 48px);
  padding: clamp(34px, 5vw, 58px) clamp(18px, 5vw, 84px);
}
.hero {
  align-items: center;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .88) 36%, rgba(255, 255, 255, .24) 63%, rgba(9, 9, 9, .16) 100%),
    var(--hero-image) center / cover no-repeat,
    #fff;
  border-bottom: 1px solid var(--line);
  grid-template-columns: minmax(0, 1fr);
  min-height: clamp(540px, 70vh, 720px);
  position: relative;
}
.admin-hero { align-items: end; background: linear-gradient(135deg, #090909 0%, #161616 100%); border-bottom: 3px solid var(--red); color: #fff; display: flex; justify-content: space-between; }
.job-page-hero {
  background: linear-gradient(180deg, #fff 0%, #fbfbf8 100%);
  border-bottom: 1px solid var(--line);
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
}
h1 { font-size: var(--page-title-size); line-height: 1.12; margin: 0 0 18px; max-width: 820px; }
.hero h1 { font-size: var(--display-title-size); }
.job-page-hero h1 { font-size: var(--page-title-size); max-width: 760px; overflow-wrap: anywhere; }
.admin-hero h1 { font-size: var(--page-title-size); }
h2, h3 { font-weight: 800; line-height: 1.18; margin-top: 0; }
h2 { font-size: var(--section-title-size); }
h3 { font-size: var(--panel-title-size); }
.section-heading h2 { font-size: var(--section-title-size); line-height: 1.14; margin-bottom: 0; }
p, li, small { font-family: Arial, Helvetica, sans-serif; }
.hero p, .job-page-hero p, .section-heading > p { color: #333; font-size: 16px; line-height: 1.7; max-width: 760px; }
.eyebrow { color: var(--red); font-size: 12px; font-weight: 800; letter-spacing: .1em; margin: 0 0 12px; text-transform: uppercase; }

.primary-button, .secondary-button, .job-actions button, .job-actions a {
  align-items: center;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  justify-content: center;
  min-height: 44px;
  padding: 12px 16px;
  transition: background-color .18s, border-color .18s, box-shadow .18s, color .18s, transform .18s;
}
.primary-button { background: var(--red); border: 1px solid var(--red); box-shadow: 0 10px 22px rgba(215, 25, 32, .18); color: #fff; }
.secondary-button { background: #fff; border: 1px solid rgba(9, 9, 9, .72); color: var(--black); }
.primary-button:hover, .secondary-button:hover, .job-actions button:hover, .job-actions a:hover { box-shadow: 0 14px 28px rgba(9, 9, 9, .11); transform: translateY(-1px); }
.primary-button:focus-visible, .secondary-button:focus-visible, .text-link-button:focus-visible, nav a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(215, 25, 32, .28); outline-offset: 2px; }
.wide { grid-column: 1 / -1; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

.hero-copy { max-width: 860px; position: relative; z-index: 1; }

.job-page-summary {
  background: var(--black);
  border-radius: 8px;
  color: #fff;
  overflow: hidden;
}
.job-page-summary { align-self: start; box-shadow: 0 18px 34px rgba(9, 9, 9, .14); }
.job-page-summary div { border-bottom: 1px solid rgba(255, 255, 255, .14); padding: 15px 18px; }
.job-page-summary span { color: #cfcfcf; display: block; font-size: 11px; font-weight: 800; letter-spacing: .08em; margin-bottom: 8px; text-transform: uppercase; }
.job-page-summary strong { display: block; font-size: 16px; }

.workbench, .admin-page, .job-page-layout, .hiring-strip { padding: clamp(28px, 5vw, 56px) clamp(18px, 5vw, 84px); }
.split-heading { align-items: end; display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr) minmax(280px, 420px); margin-bottom: 22px; }
.jobs-heading { margin-bottom: 22px; }
.filters, .admin-panel-toolbar {
  align-items: end;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 240px) auto;
  margin-bottom: 22px;
  padding: 16px;
}
label span { color: #232323; display: block; font-size: 12px; font-weight: 800; margin-bottom: 8px; }
input, select, textarea { background: #fff; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); font-family: Arial, Helvetica, sans-serif; font-size: 14px; min-height: 46px; outline: none; padding: 11px 13px; transition: border-color .18s, box-shadow .18s, background-color .18s; width: 100%; }
input:focus, select:focus, textarea:focus { border-color: var(--red); box-shadow: 0 0 0 4px rgba(215, 25, 32, .12); }
textarea { line-height: 1.55; resize: vertical; }

.hiring-strip {
  background: var(--black);
  color: #fff;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-bottom: 0;
  padding-top: 0;
}
.hiring-strip article {
  background: #111;
  border-left: 1px solid rgba(255, 255, 255, .08);
  padding: 22px;
  transition: background-color .18s;
}
.hiring-strip article:hover { background: #151515; }
.hiring-strip span {
  color: var(--red);
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 10px;
}
.hiring-strip strong {
  display: block;
  font-size: 15px;
  line-height: 1.35;
  margin-bottom: 7px;
}
.hiring-strip small {
  color: #cfcfcf;
  display: block;
  line-height: 1.5;
}

.roles-console {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
  margin-bottom: 14px;
  padding: 16px;
}
.job-search-panel {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  margin-bottom: 14px;
}
.department-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.department-pills a,
.text-link-button {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #242424;
  display: inline-flex;
  font-size: 10px;
  font-weight: 800;
  gap: 8px;
  min-height: 34px;
  padding: 8px 11px;
  transition: background-color .18s, border-color .18s, color .18s, transform .18s;
}
.department-pills a:hover, .text-link-button:hover { border-color: rgba(9, 9, 9, .32); transform: translateY(-1px); }
.department-pills a strong {
  align-items: center;
  background: var(--soft);
  border-radius: 999px;
  color: var(--muted);
  display: inline-flex;
  font-size: 9px;
  height: 20px;
  justify-content: center;
  min-width: 20px;
  padding: 0 6px;
}
.department-pills a.active {
  background: var(--black);
  border-color: var(--black);
  color: #fff;
}
.department-pills a.active strong {
  background: var(--red);
  color: #fff;
}

.results-bar {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-family: Arial, Helvetica, sans-serif;
  gap: 10px;
  justify-content: space-between;
  margin: 0 0 12px;
}
.results-bar strong {
  color: var(--ink);
  font-family: "Unbounded", Arial, sans-serif;
  font-size: 13px;
}
.results-bar span {
  font-size: 13px;
  line-height: 1.45;
}

.role-list { display: grid; gap: 12px; }
.role-row {
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 210px);
  padding: clamp(18px, 3vw, 26px);
  position: relative;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.role-row::before {
  background: var(--red);
  border-radius: 8px 0 0 8px;
  content: "";
  inset: -1px auto -1px -1px;
  opacity: 0;
  position: absolute;
  transition: opacity .2s;
  width: 4px;
}
.role-row:hover {
  border-color: rgba(215, 25, 32, .34);
  box-shadow: var(--shadow);
  transform: translateY(-2px);
}
.role-row:hover::before { opacity: 1; }
.role-row-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.role-row-meta span {
  background: var(--red-soft);
  border: 1px solid rgba(215, 25, 32, .14);
  border-radius: 999px;
  color: var(--red-dark);
  font-size: var(--job-tag-size);
  font-weight: 800;
  padding: 6px 8px;
  text-transform: uppercase;
}
.role-row h3 {
  font-size: var(--listing-title-size);
  line-height: 1.16;
  margin: 0 0 10px;
  max-width: 1040px;
  overflow-wrap: anywhere;
}
.role-row p {
  color: #3b3b3b;
  font-size: 14px;
  line-height: 1.65;
  margin: 0 0 10px;
  max-width: 880px;
}
.role-row small {
  color: var(--muted);
  display: block;
  line-height: 1.45;
}
.role-row-actions {
  align-content: center;
  border-left: 1px solid var(--line);
  display: grid;
  gap: 9px;
  padding-left: 18px;
}
.role-facts {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 16px 0 0;
  padding-top: 14px;
}
.role-facts dt {
  color: var(--muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 5px;
  text-transform: none;
}
.role-facts dd {
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 600;
  margin: 0;
  overflow-wrap: anywhere;
}
.job-empty {
  align-items: start;
  display: grid;
  gap: 9px;
}
.job-empty strong {
  color: var(--ink);
  font-family: "Unbounded", Arial, sans-serif;
  font-size: 16px;
}
.job-empty span {
  display: block;
  line-height: 1.5;
}

.job-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.job-card-link, .admin-panel-card, .job-management, .analytics-panel, .job-content-panel, .job-apply-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: clamp(18px, 3vw, 28px);
}
.job-card-link, .admin-panel-card, .job-management, .analytics-panel, .job-content-panel, .job-apply-card, .roles-console, .role-row { background-clip: padding-box; }
.job-card-link span, .detail-topline span { color: var(--red); font-size: var(--job-tag-size); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.job-card-link h3 { font-size: var(--listing-title-size); line-height: 1.16; margin: 12px 0; overflow-wrap: anywhere; }
.job-card-link p, .job-card-link small { color: var(--muted); display: block; line-height: 1.5; }
.job-card-link .primary-button { margin-top: 18px; width: 100%; }

.job-page-layout { align-items: start; display: grid; gap: clamp(20px, 3vw, 34px); grid-template-columns: minmax(0, 1fr) minmax(320px, 400px); }
.job-content-panel { box-shadow: var(--shadow-soft); display: grid; gap: 20px; }
.job-content-panel section { border-top: 1px solid var(--line); padding-top: 20px; }
.job-content-panel section:not(.job-share) h2 { border-left: 4px solid var(--red); padding-left: 12px; }
.job-content-panel h2, .job-apply-card h2 { font-size: var(--panel-title-size); }
.job-content-panel p, .job-content-panel li, .job-apply-card p { color: #3b3b3b; font-size: 15px; line-height: 1.68; }
.job-content-panel ul { display: grid; gap: 9px; margin: 0; padding-left: 22px; }
.job-apply-card { box-shadow: var(--shadow-soft); position: sticky; top: 96px; }
.pill-row, .detail-topline { display: flex; flex-wrap: wrap; gap: 6px; margin: 16px 0; }
.pill-row span, .detail-topline span { background: var(--red-soft); border: 1px solid rgba(215, 25, 32, .16); border-radius: 999px; padding: 6px 8px; }
.job-back-link { border-bottom: 2px solid var(--red); display: inline-flex; font-size: 12px; font-weight: 800; margin-bottom: 18px; padding-bottom: 5px; }
.job-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.job-section-nav {
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
  padding-top: 16px;
}
.job-section-nav a {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #242424;
  font-size: 10px;
  font-weight: 800;
  padding: 8px 10px;
}
.job-section-nav a:hover {
  background: var(--black);
  border-color: var(--black);
  color: #fff;
}
.job-share {
  align-items: end;
  background: var(--black);
  border: 1px solid var(--black);
  border-radius: 8px;
  color: #fff;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr);
  margin-top: 4px;
  padding: clamp(18px, 3vw, 26px);
}
.job-share .eyebrow { color: var(--red); margin-bottom: 8px; }
.job-share h2 { color: #fff; font-size: var(--panel-title-size); margin-bottom: 8px; }
.job-share p { color: #d8d8d8; margin: 0; max-width: 760px; }
.job-share label span { color: #e8e8e8; }
.job-share input { border-color: rgba(255, 255, 255, .2); }
.job-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.job-actions button, .job-actions a { background: #fff; border: 1px solid #fff; color: var(--black); min-height: 40px; white-space: nowrap; }
.job-actions button:first-child { background: var(--red); border-color: var(--red); color: #fff; }
.submission-preview-page {
  background: linear-gradient(180deg, #fff 0%, var(--bg) 100%);
  min-height: calc(100vh - 69px);
}
.submission-preview-hero {
  align-items: end;
  background: var(--black);
  border-bottom: 4px solid var(--red);
  color: #fff;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  padding: clamp(32px, 5vw, 64px) clamp(18px, 5vw, 84px);
}
.submission-preview-hero h1 {
  color: #fff;
  font-size: var(--page-title-size);
  margin-bottom: 12px;
}
.submission-preview-hero p:not(.eyebrow) {
  color: #ececec;
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
  max-width: 760px;
}
.submission-reference-card {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  padding: 18px;
}
.submission-reference-card span,
.preview-definition-grid dt,
.preview-definition-list dt {
  color: var(--muted);
  display: block;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.submission-reference-card span { color: #bfbfbf; }
.submission-reference-card strong {
  color: #fff;
  display: block;
  font-size: clamp(18px, 2.1vw, 28px);
  margin: 8px 0;
}
.submission-reference-card small { color: #d7d7d7; line-height: 1.5; }
.submission-preview-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  padding: clamp(24px, 4vw, 46px) clamp(18px, 5vw, 84px);
}
.submission-preview-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
  padding: clamp(18px, 2.6vw, 28px);
}
.application-overview-card {
  grid-row: span 2;
}
.preview-card-head {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 8px;
}
.submission-preview-card h2 {
  font-size: var(--section-title-size);
  line-height: 1.18;
  margin-bottom: 20px;
}
.preview-definition-grid,
.preview-definition-list {
  display: grid;
  gap: 12px;
  margin: 0;
}
.preview-definition-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 22px;
}
.preview-definition-grid div,
.preview-definition-list div {
  border-top: 1px solid var(--line);
  padding-top: 12px;
}
.preview-definition-grid dd,
.preview-definition-list dd {
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
  margin: 5px 0 0;
  overflow-wrap: anywhere;
}
.preview-definition-list a {
  color: var(--red);
}
.cv-preview-chip {
  align-items: center;
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  gap: 14px;
  padding: 14px;
}
.cv-preview-chip > span {
  align-items: center;
  background: var(--black);
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  flex: 0 0 52px;
  font-size: 11px;
  font-weight: 900;
  height: 52px;
  justify-content: center;
  text-transform: uppercase;
}
.cv-preview-chip strong {
  display: block;
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.cv-preview-chip small,
.privacy-copy {
  color: var(--muted);
  line-height: 1.5;
}
.privacy-copy {
  font-size: 13px;
  margin: 14px 0 0;
}
.document-preview-card {
  grid-column: 1 / -1;
}
.document-preview-card .preview-card-head {
  align-items: end;
  margin-bottom: 14px;
}
.document-preview-card h2 {
  font-size: var(--panel-title-size);
  margin: 0;
  overflow-wrap: anywhere;
}
.document-preview-frame {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  height: clamp(420px, 58vh, 720px);
  overflow: hidden;
}
.document-preview-frame iframe,
.document-preview-frame object {
  background: #fff;
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}
.document-preview-frame.compact { height: 420px; }
.admin-document-preview .preview-card-head {
  align-items: start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 12px;
}
.admin-document-preview h3 { margin-bottom: 6px; }
.admin-document-preview p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  overflow-wrap: anywhere;
}
.admin-document-preview .candidate-profile-link { margin-top: 12px; }
.submission-timeline {
  counter-reset: preview-step;
  display: grid;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.submission-timeline li {
  border-left: 3px solid var(--line);
  padding-left: 14px;
  position: relative;
}
.submission-timeline li.complete {
  border-left-color: var(--red);
}
.submission-timeline strong {
  display: block;
  font-family: "Unbounded", Arial, sans-serif;
  font-size: 13px;
  line-height: 1.35;
}
.submission-timeline span {
  color: var(--muted);
  display: block;
  font-size: 13px;
  line-height: 1.55;
  margin-top: 4px;
}
.note-preview-card {
  grid-column: 1 / -1;
}
.note-preview-card p:not(.eyebrow) {
  color: #333;
  line-height: 1.7;
  margin: 0;
}
.submission-next-actions {
  align-items: center;
  background: #fff;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 24px clamp(18px, 5vw, 84px) 44px;
}
.submission-next-actions h2 {
  font-size: var(--section-title-size);
  margin-bottom: 8px;
}
.submission-next-actions p {
  color: #444;
  line-height: 1.65;
  margin: 0;
  max-width: 720px;
}
.apply-checklist { background: var(--soft); border-left: 4px solid var(--red); border-radius: 8px; margin: 18px 0; padding: 14px 16px; }
.apply-role-context {
  background: var(--black);
  border-radius: 8px;
  color: #fff;
  margin-top: 18px;
  padding: 15px;
}
.apply-role-context span {
  color: var(--red);
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  margin-bottom: 8px;
}
.apply-role-context strong {
  display: block;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 7px;
}
.apply-role-context small {
  color: #d8d8d8;
  display: block;
  line-height: 1.45;
}
.apply-checklist span { display: block; font-size: 12px; font-weight: 800; margin-bottom: 8px; }
.apply-checklist ul { display: grid; gap: 6px; margin: 0; padding-left: 18px; }
.apply-checklist li { color: #414141; font-size: 13px; line-height: 1.5; }
.application-form, .job-editor-form { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.application-form.compact { gap: 12px; grid-template-columns: 1fr; margin-top: 18px; }
.checkbox { align-items: start; display: flex; gap: 10px; }
.checkbox input { flex: 0 0 18px; height: 18px; min-height: 18px; width: 18px; }
.upload small { color: var(--muted); display: block; font-size: 12px; margin-top: 7px; }
.form-message { border-radius: 8px; font-family: Arial, Helvetica, sans-serif; font-weight: 700; line-height: 1.45; margin: 0 0 14px; padding: 14px; }
.form-message.sent { background: #f1fff0; color: #175a16; }
.form-message.error { background: var(--red-soft); color: var(--red-dark); }
.empty-state { background: #fff; border: 1px dashed var(--line); border-radius: 8px; color: var(--muted); margin: 0; padding: 22px; }

.login-page { align-items: center; background: linear-gradient(135deg, var(--black) 0 42%, var(--bg) 42% 100%); display: grid; min-height: 100vh; padding: 24px; }
.login-panel { background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); display: grid; gap: 24px; margin: 0 auto; max-width: 560px; padding: clamp(24px, 5vw, 44px); width: 100%; }
.login-form { display: grid; gap: 16px; }
.error-page {
  align-items: center;
  background: linear-gradient(135deg, var(--black) 0 44%, var(--bg) 44% 100%);
  display: grid;
  min-height: 100vh;
  padding: 24px;
}
.error-panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 24px;
  margin: 0 auto;
  max-width: 680px;
  padding: clamp(24px, 5vw, 44px);
  width: 100%;
}
.error-panel h1 {
  font-size: var(--page-title-size);
  margin-bottom: 12px;
}
.error-panel p:not(.eyebrow) {
  color: #333;
  line-height: 1.7;
  margin: 0;
}
.error-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-page { padding-top: 18px; }
.admin-panel-card, .job-management, .analytics-panel { margin-top: 26px; }
.admin-message { margin: 22px clamp(18px, 5vw, 84px) 0; }
.admin-panel-heading { align-items: end; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 22px; }
.candidate-summary, .report-grid, .analytics-summary, .analytics-layout { display: grid; gap: 14px; }
.candidate-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 22px; }
.report-grid { grid-template-columns: repeat(5, 1fr); margin-top: -34px; position: relative; z-index: 1; }
.analytics-summary { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-bottom: 18px; }
.analytics-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.candidate-summary article, .report-grid article, .analytics-summary article, .analytics-card { background: var(--soft); border: 1px solid var(--line); border-radius: 8px; padding: 16px; }
.candidate-summary span, .candidate-summary small, .report-grid span, .analytics-summary span, .analytics-summary small, .analytics-card span, .analytics-card small { color: var(--muted); display: block; font-size: 12px; line-height: 1.45; }
.candidate-summary strong, .report-grid strong, .analytics-summary strong { color: var(--red); display: block; font-size: var(--metric-title-size); line-height: 1; margin: 10px 0 7px; }
.chart-card { background: #fff; box-shadow: var(--shadow-soft); }
.wide-chart { grid-column: 1 / -1; }
.chart-card-head {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin: -2px 0 14px;
  padding-bottom: 12px;
}
.chart-card-head h3 { font-size: 15px; margin: 0; }
.chart-card-head > span {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: #333;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 800;
  padding: 7px 9px;
  white-space: nowrap;
}
.funnel-chart, .next-action-chart { display: grid; gap: 11px; }
.chart-row {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(160px, .45fr) minmax(180px, 1fr) 44px;
}
.chart-row > div:first-child,
.rank-chart-row > div:first-child,
.mini-bar {
  min-width: 0;
}
.chart-row span,
.rank-chart-row span,
.mini-bar span {
  color: #333;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.chart-row strong,
.rank-chart-row strong,
.mini-bar strong {
  color: var(--red);
  font-size: 12px;
  margin: 4px 0 0;
}
.chart-row small { color: var(--muted); font-size: 11px; font-weight: 800; text-align: right; }
.chart-track {
  background: #eeeeea;
  border-radius: 999px;
  height: 11px;
  overflow: hidden;
  position: relative;
}
.chart-track i {
  background: linear-gradient(90deg, var(--red), var(--red-dark));
  border-radius: inherit;
  display: block;
  height: 100%;
  min-width: 3px;
}
.chart-track.dark i { background: var(--black); }
.chart-track.red i { background: var(--red); }
.compact-chart-row {
  grid-template-columns: minmax(120px, .55fr) minmax(120px, 1fr);
  margin-bottom: 12px;
}
.rank-chart-row {
  display: grid;
  gap: 8px;
  margin-bottom: 13px;
}
.rank-chart-row > div:first-child,
.mini-bar {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}
.next-action-chart {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.mini-bar {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 10px;
}
.mini-bar strong { color: var(--ink); font-family: "Unbounded", Arial, sans-serif; }
.admin-section-tabs { background: var(--soft); border: 1px solid var(--line); border-radius: 8px; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 8px; }
.admin-section-tabs a { background: transparent; border: 1px solid transparent; border-radius: 8px; color: #333; font-size: 12px; font-weight: 900; padding: 11px 13px; }
.admin-section-tabs a.active { background: var(--black); color: #fff; }
.admin-section-tabs a:hover:not(.active) { background: #fff; border-color: var(--line); }
.candidate-accordion-list { display: grid; gap: 12px; }
.candidate-accordion-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  transition: border-color .18s, box-shadow .18s;
}
.candidate-accordion-card[open] {
  border-color: rgba(215, 25, 32, .22);
  box-shadow: var(--shadow);
}
.candidate-accordion-card > summary {
  align-items: center;
  cursor: pointer;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(230px, 1.2fr) minmax(210px, 1fr) minmax(190px, .85fr) minmax(160px, .7fr) auto;
  list-style: none;
  padding: 16px;
}
.candidate-accordion-card > summary::-webkit-details-marker { display: none; }
.candidate-accordion-card > summary:hover { background: #fffafa; }
.candidate-accordion-card > summary em {
  align-items: center;
  background: var(--black);
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  justify-content: center;
  min-height: 38px;
  padding: 10px 12px;
  text-transform: uppercase;
}
.candidate-accordion-card[open] > summary em {
  background: var(--red);
}
.candidate-accordion-person {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 34px minmax(0, 1fr);
}
.candidate-accordion-person strong,
.candidate-panel-section h3 {
  display: block;
  font-size: 13px;
  line-height: 1.35;
  margin-bottom: 5px;
}
.candidate-accordion-card small,
.candidate-accordion-role small,
.candidate-accordion-next small,
.candidate-panel-section p,
.candidate-panel-section a,
.candidate-panel-section small {
  color: var(--muted);
  display: block;
  font-size: 12px;
  line-height: 1.45;
}
.candidate-accordion-role span,
.candidate-accordion-next span {
  display: block;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.candidate-accordion-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.candidate-accordion-panel {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(220px, .75fr) minmax(320px, 1.25fr) minmax(220px, .8fr);
  padding: 16px;
}
.candidate-panel-section {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
}
.candidate-panel-section h3 { margin-bottom: 12px; }
.candidate-panel-section dl { display: grid; gap: 9px; margin: 0 0 12px; }
.candidate-panel-section dt {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.candidate-panel-section dd {
  font-size: 12px;
  font-weight: 800;
  margin: 3px 0 0;
  overflow-wrap: anywhere;
}
.candidate-panel-section form { display: grid; gap: 9px; }
.next-step-grid { display: grid; gap: 9px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.next-step-grid .wide { grid-column: 1 / -1; }
.review-note-input { min-height: 82px; resize: vertical; }
.due-pill { background: var(--soft); border: 1px solid var(--line); border-radius: 8px; color: #444 !important; display: inline-flex !important; font-weight: 800; padding: 8px 10px; }
.due-pill.late { background: var(--red-soft); border-color: #ffc6c6; color: var(--red-dark) !important; }
.owner-chip, .duplicate-chip { border: 1px solid var(--line); border-radius: 999px; display: inline-flex; font-size: 10px; font-weight: 900; margin: 3px 5px 8px 0; padding: 6px 8px; text-transform: uppercase; }
.owner-chip { background: var(--soft); color: #444; }
.duplicate-chip { background: var(--red-soft); border-color: #ffc6c6; color: var(--red-dark); }
.candidate-profile-link { color: var(--red) !important; font-size: 11px !important; font-weight: 900 !important; margin: 2px 0 8px; text-transform: uppercase; }
.cv-link { background: var(--black); border-radius: 8px; color: #fff !important; display: inline-flex !important; justify-content: center; margin-bottom: 8px; min-height: 40px; padding: 11px 14px; width: 100%; }
.cv-link.disabled { background: var(--soft); color: var(--muted) !important; }
.danger-button { background: #fff; border: 1px solid #ffc6c6; border-radius: 8px; color: var(--red-dark); cursor: pointer; display: inline-flex; font-family: inherit; font-size: 12px; font-weight: 900; justify-content: center; min-height: 42px; padding: 12px 16px; text-transform: uppercase; width: 100%; }
.interview-quick-panel { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 10px; }
.interview-quick-panel summary { cursor: pointer; font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.interview-quick-panel .next-step-grid { margin-top: 10px; }
.candidate-detail { margin-top: 10px; }
.candidate-detail summary { cursor: pointer; font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.candidate-detail-panel { background: var(--soft); border: 1px solid var(--line); border-radius: 8px; margin-top: 9px; padding: 12px; }
.candidate-detail-panel dl { display: grid; gap: 8px; margin: 0 0 12px; }
.candidate-detail-panel dt { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.candidate-detail-panel dd { font-size: 12px; font-weight: 800; margin: 3px 0 0; }
.duplicate-note { background: #fff; border: 1px solid #ffc6c6; border-radius: 8px; color: var(--red-dark) !important; font-weight: 800; margin: 0 0 12px !important; padding: 9px; }
.activity-timeline { display: grid; gap: 9px; }
.activity-timeline > strong { font-size: 12px; }
.activity-timeline article { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 9px; }
.activity-timeline article span { color: var(--muted); display: block; font-size: 10px; font-weight: 800; margin-bottom: 5px; }
.activity-timeline article p { color: #222; margin: 0; }
.empty-state.compact { padding: 12px; }
.candidate-profile-hero { align-items: end; background: var(--black); color: #fff; display: flex; gap: 22px; justify-content: space-between; padding: clamp(28px, 5vw, 58px) clamp(18px, 5vw, 84px); }
.candidate-profile-hero .text-button { color: #fff; }
.candidate-profile-hero h1 { color: #fff; font-size: var(--page-title-size); margin: 7px 0 12px; }
.candidate-profile-hero p { color: #e8e8e8; margin: 0; max-width: 820px; }
.candidate-profile-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.candidate-profile-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); padding: 26px clamp(18px, 5vw, 84px) 54px; }
.candidate-profile-card, .candidate-profile-sidebar article { background: #fff; border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow); padding: clamp(18px, 3vw, 28px); }
.candidate-profile-sidebar { display: grid; gap: 16px; }
.candidate-profile-sidebar h3 { font-size: 16px; margin-bottom: 13px; }
.candidate-profile-sidebar dl { display: grid; gap: 10px; margin: 0; }
.candidate-profile-sidebar dt { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.candidate-profile-sidebar dd { font-size: 13px; font-weight: 800; margin: 4px 0 0; overflow-wrap: anywhere; }
.candidate-profile-sidebar p { color: #333; font-size: 13px; line-height: 1.6; margin: 0; }
.data-protection-card form { margin-top: 14px; }
.scorecard-grid { border: 1px solid var(--line); border-radius: 8px; display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px; }
.scorecard-grid .wide { grid-column: 1 / -1; }
.read-only-profile dl { display: grid; gap: 12px; margin: 16px 0 0; }
.read-only-profile dt { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.read-only-profile dd { font-size: 13px; font-weight: 800; margin: 4px 0 0; }
.pipeline-page { padding: 0; }
.pipeline-hero { padding-bottom: 36px; }
.pipeline-hero p { color: #e8e8e8; margin: 0; max-width: 760px; }
.pipeline-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.pipeline-command-panel {
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 18px;
  padding: 22px clamp(18px, 5vw, 84px);
}
.pipeline-filter-form {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(220px, 1fr) minmax(160px, 220px) minmax(160px, 220px) auto auto;
}
.pipeline-health-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.pipeline-health-grid article {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
}
.pipeline-health-grid article.needs-attention { background: var(--red-soft); border-color: #ffc6c6; }
.pipeline-health-grid span {
  color: var(--muted);
  display: block;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 7px;
  text-transform: uppercase;
}
.pipeline-health-grid strong { display: block; font-size: 22px; line-height: 1; margin-bottom: 7px; }
.pipeline-health-grid small { color: #555; line-height: 1.45; }
.pipeline-board-shell { padding: 26px clamp(18px, 5vw, 84px) 54px; }
.pipeline-board-head {
  align-items: end;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 16px;
}
.pipeline-board-head h2 { font-size: var(--section-title-size); margin-bottom: 0; }
.pipeline-board-head > span {
  background: var(--black);
  border-radius: 999px;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  padding: 9px 12px;
  white-space: nowrap;
}
.pipeline-board { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); padding-bottom: 8px; }
.pipeline-column { background: var(--soft); border: 1px solid var(--line); border-radius: 8px; min-height: 520px; padding: 10px; }
.pipeline-column-head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 10px; }
.pipeline-column-head h2 { font-size: 13px; margin: 0 0 3px; }
.pipeline-column-head small { color: var(--muted); display: block; font-size: 10px; font-weight: 800; }
.pipeline-column-head span { align-items: center; background: var(--black); border-radius: 999px; color: #fff; display: inline-flex; font-size: 10px; font-weight: 900; height: 25px; justify-content: center; min-width: 25px; padding: 0 8px; }
.pipeline-column-body { display: grid; gap: 10px; }
.pipeline-card {
  background: #fff;
  border: 1px solid var(--line);
  border-left: 4px solid transparent;
  border-radius: 8px;
  box-shadow: var(--shadow-soft);
  padding: 12px;
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.pipeline-card:hover { border-color: rgba(215, 25, 32, .26); box-shadow: var(--shadow); transform: translateY(-1px); }
.pipeline-card.overdue { border-left-color: var(--red); }
.pipeline-card.due-soon { border-left-color: #f0ad00; }
.pipeline-card.scheduled { border-left-color: #111; }
.pipeline-card-top { align-items: start; display: grid; gap: 10px; grid-template-columns: 34px minmax(0, 1fr); }
.candidate-avatar {
  align-items: center;
  background: var(--black);
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-size: 10px;
  font-weight: 900;
  height: 34px;
  justify-content: center;
  width: 34px;
}
.pipeline-card strong { display: block; font-size: 13px; line-height: 1.35; margin-bottom: 5px; overflow-wrap: anywhere; }
.pipeline-card small { color: var(--muted); display: block; font-size: 11px; line-height: 1.45; }
.pipeline-card dl { border-top: 1px solid var(--line); display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 12px 0; padding-top: 12px; }
.pipeline-card dt { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.pipeline-card dd { font-size: 11px; font-weight: 800; margin: 3px 0 0; overflow-wrap: anywhere; }
.pipeline-interview { background: var(--red-soft); border: 1px solid #ffc6c6; border-radius: 8px; color: var(--red-dark); font-size: 10px; font-weight: 900; margin: 0 0 9px; padding: 8px; }
.pipeline-activity { background: #f8f8f5; border-radius: 8px; color: #444; font-size: 12px; line-height: 1.5; margin: 0 0 10px; padding: 9px; }
.pipeline-quick-edit {
  border: 1px solid var(--line);
  border-radius: 8px;
  margin: 10px 0;
  overflow: hidden;
}
.pipeline-quick-edit summary {
  background: var(--soft);
  cursor: pointer;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  list-style: none;
  padding: 9px 10px;
  text-transform: uppercase;
}
.pipeline-quick-edit summary::-webkit-details-marker { display: none; }
.pipeline-quick-edit form { display: grid; gap: 9px; padding: 10px; }
.pipeline-quick-edit label span { font-size: 10px; margin-bottom: 5px; }
.pipeline-quick-edit input,
.pipeline-quick-edit select { font-size: 12px; min-height: 38px; padding: 8px 10px; }
.pipeline-quick-edit .primary-button { min-height: 38px; width: 100%; }
.pipeline-card-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between; }

@media (min-width: 1180px) {
  .pipeline-board { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

.candidate-profile-link.muted { color: #555 !important; }
.compact-management { padding: 0; }
.job-create-panel {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}
.job-create-panel > summary,
.job-edit-panel > summary,
.user-edit-panel > summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  list-style: none;
}
.job-create-panel > summary { padding: 20px clamp(18px, 3vw, 28px); }
.job-create-panel > summary::-webkit-details-marker,
.job-edit-panel > summary::-webkit-details-marker,
.user-edit-panel > summary::-webkit-details-marker { display: none; }
.job-create-panel > summary span,
.job-edit-panel > summary span,
.user-edit-panel > summary span {
  display: grid;
  gap: 5px;
}
.job-create-panel > summary small,
.job-edit-panel > summary small,
.user-edit-panel > summary small {
  color: var(--muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.4;
}
.job-create-panel > summary strong,
.job-edit-panel > summary span,
.user-edit-panel > summary span {
  color: var(--ink);
  font-size: 15px;
  font-style: normal;
  font-weight: 900;
}
.job-create-panel > summary em,
.job-edit-panel > summary::after,
.user-edit-panel > summary::after {
  align-items: center;
  background: var(--black);
  border-radius: 999px;
  color: #fff;
  content: "+";
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  justify-content: center;
  min-height: 34px;
  padding: 0 14px;
}
.job-create-panel[open] > summary,
.job-edit-panel[open] > summary,
.user-edit-panel[open] > summary {
  border-bottom: 1px solid var(--line);
}
.job-create-panel[open] > summary em { background: var(--red); }
.job-edit-panel[open] > summary::after, .user-edit-panel[open] > summary::after { background: var(--red); content: "-"; }
.job-editor-form-sectioned {
  padding: clamp(18px, 3vw, 28px);
}
.access-role-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 18px;
}
.access-role-grid article {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
}
.access-role-grid span {
  color: var(--red);
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.access-role-grid p { color: #444; font-size: 13px; line-height: 1.55; margin: 0; }
.users-admin-list { display: grid; gap: 12px; }
.users-admin-list article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  padding: 14px;
}
.user-admin-summary strong { display: block; font-size: 16px; margin: 10px 0 6px; }
.user-admin-summary small,
.user-admin-summary em {
  color: var(--muted);
  display: block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}
.user-edit-panel { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.user-edit-panel > summary { background: var(--soft); padding: 14px; }
.user-editor-form {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: clamp(18px, 3vw, 24px);
}
.user-editor-form.compact { padding: 14px; }
.delete-form { border-top: 1px solid var(--line); padding: 14px; }
.form-section {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 14px;
  padding: 14px;
}
.form-section > span {
  color: var(--red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.form-footer {
  align-items: center;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding-top: 4px;
}
.form-footer .primary-button { min-width: 180px; }
.jobs-admin-list { display: grid; gap: 12px; margin-top: 20px; }
.jobs-admin-list article { align-items: start; background: #fff; border: 1px solid var(--line); border-radius: 8px; display: grid; gap: 18px; grid-template-columns: minmax(240px, .78fr) minmax(280px, 1.22fr) minmax(130px, auto); padding: 16px; transition: border-color .18s, box-shadow .18s; }
.jobs-admin-list article:hover { border-color: rgba(215, 25, 32, .2); box-shadow: var(--shadow-soft); }
.jobs-admin-list strong { display: block; font-size: 16px; margin: 8px 0 6px; }
.job-admin-link { color: var(--red); display: inline-flex; font-family: Arial, Helvetica, sans-serif; font-size: 12px; font-weight: 700; margin-top: 8px; overflow-wrap: anywhere; }
.job-edit-panel {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.job-edit-panel > summary { padding: 13px 14px; }
.job-edit-panel .job-editor-form { margin: 0; }
.jobs-admin-list > article > form { align-self: start; }
.settings-layout { align-items: start; display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr) minmax(300px, 460px); }
.settings-form { display: grid; gap: 14px; grid-template-columns: 1fr; }
.settings-preview {
  background: var(--soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  padding: 14px;
}
.settings-preview span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.settings-preview img {
  aspect-ratio: 16 / 10;
  border-radius: 8px;
  display: block;
  object-fit: cover;
  width: 100%;
}
.settings-preview small { color: var(--muted); line-height: 1.5; }
.status-pill { background: var(--soft); border-radius: 999px; color: #444; display: inline-flex; font-size: 11px; font-weight: 800; padding: 8px 10px; }
.status-pill.active { background: var(--red-soft); color: var(--red-dark); }
.funnel-row { display: grid; gap: 8px; margin-bottom: 13px; }
.funnel-row div { align-items: center; display: flex; justify-content: space-between; }
.funnel-row strong { color: var(--red); font-size: 15px; }
meter { appearance: none; background: var(--soft); border: 0; border-radius: 999px; height: 10px; overflow: hidden; width: 100%; }
meter::-webkit-meter-bar { background: var(--soft); border: 0; border-radius: 999px; }
meter::-webkit-meter-optimum-value { background: var(--red); border-radius: 999px; }

@media (max-width: 980px) {
  .hero, .job-page-hero, .job-page-layout, .split-heading, .jobs-heading, .filters, .job-search-panel, .admin-panel-toolbar, .job-editor-form, .application-form, .candidate-summary, .report-grid, .analytics-layout, .settings-layout, .hiring-strip, .role-row, .pipeline-filter-form, .access-role-grid, .users-admin-list article, .user-editor-form, .submission-preview-hero, .submission-preview-grid, .candidate-accordion-panel { grid-template-columns: 1fr; }
  .job-apply-card { position: static; }
  .application-overview-card { grid-row: auto; }
  .hero { background-position: center; min-height: clamp(520px, 82vh, 700px); }
  .candidate-accordion-card > summary { grid-template-columns: minmax(0, 1fr) auto; }
  .candidate-accordion-role, .candidate-accordion-meta, .candidate-accordion-next { grid-column: 1 / -1; }
  .jobs-admin-list article { grid-template-columns: 1fr; }
  .form-footer { align-items: stretch; flex-direction: column; }
  .form-footer .primary-button { width: 100%; }
  .admin-header, .site-header, .admin-hero, .candidate-profile-hero, .submission-next-actions { align-items: stretch; flex-direction: column; }
  .candidate-profile-grid { grid-template-columns: 1fr; }
  .pipeline-health-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pipeline-board { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .next-action-chart { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .role-row-actions { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; padding-top: 16px; }
  .role-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  nav { flex-wrap: wrap; width: 100%; }
  nav a { background: var(--soft); flex: 1 1 42%; text-align: center; }
  h1 { font-size: clamp(24px, 6vw, 30px); }
  .section-heading h2, .job-page-hero h1, .admin-hero h1, .candidate-profile-hero h1 { font-size: clamp(22px, 5.4vw, 28px); }
  .job-content-panel h2, .job-apply-card h2, .job-share h2, h3 { font-size: clamp(14px, 3.4vw, 16px); }
  .role-row h3, .job-card-link h3 { font-size: clamp(13px, 3.5vw, 17px); }
  .candidate-summary strong, .report-grid strong, .analytics-summary strong { font-size: clamp(21px, 6vw, 28px); }
  .primary-button, .secondary-button { width: 100%; }
  .job-share { grid-template-columns: 1fr; }
  .next-step-grid { grid-template-columns: 1fr; }
  .job-actions { display: grid; grid-template-columns: 1fr; }
  .job-hero-actions { display: grid; grid-template-columns: 1fr; }
  .role-row-actions { grid-template-columns: 1fr; }
  .hiring-strip { padding-left: 0; padding-right: 0; }
  .role-facts { grid-template-columns: 1fr; }
  .results-bar { align-items: start; flex-direction: column; }
  .job-search-panel { gap: 10px; }
  .department-pills a { flex: 1 1 46%; justify-content: space-between; }
  .pipeline-command-panel, .pipeline-board-shell { padding-left: 14px; padding-right: 14px; }
  .pipeline-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pipeline-board { grid-template-columns: 1fr; }
  .pipeline-board-head { align-items: start; flex-direction: column; }
  .pipeline-card dl { grid-template-columns: 1fr; }
  .chart-row, .compact-chart-row { grid-template-columns: 1fr; }
  .chart-row small { text-align: left; }
  .next-action-chart { grid-template-columns: 1fr; }
  .chart-card-head { align-items: start; flex-direction: column; }
  .preview-definition-grid { grid-template-columns: 1fr; }
  .cv-preview-chip { align-items: flex-start; }
  .document-preview-card .preview-card-head { align-items: start; flex-direction: column; }
  .document-preview-frame { height: 520px; }
}

@media print {
  .site-header, .job-share, .job-apply-card, .submission-next-actions, .document-preview-frame { display: none; }
  body, .job-page-hero, .job-content-panel { background: #fff; }
  .job-page-hero, .job-page-layout { display: block; padding: 0; }
  .job-content-panel { border: 0; box-shadow: none; padding: 0; }
  .submission-preview-hero, .submission-preview-grid { display: block; padding: 0; }
  .submission-preview-card, .submission-reference-card { border: 1px solid #ddd; box-shadow: none; margin-bottom: 14px; }
}
