.eolia-result-filters { margin: 18px 0 17px; }
.eolia-result-filters__controls {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.eolia-result-filters label { display: grid; min-width: 0; gap: 7px; color: #42536a; font-size: 11px; font-weight: 700; }
.eolia-result-filters select {
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid #dbe3ed;
  border-radius: 10px;
  background: #f9fbfd;
  color: #112751;
  font: inherit;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.eolia-result-filters select:hover { border-color: #b8c8db; background: #fff; }
.eolia-result-filters select:focus-visible { border-color: #b8d431; outline: 2px solid rgba(184, 212, 49, .3); outline-offset: 1px; }
.eolia-result-filters__footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 30px; margin-top: 8px; }
.eolia-result-filters__reset {
  min-height: 30px;
  padding: 3px 0;
  border: 0;
  background: transparent;
  color: #314a75;
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.eolia-result-filters__reset:disabled { opacity: .48; text-decoration: none; cursor: default; }
.eolia-result-filters__count { flex: 0 0 auto; color: #526684; font-size: 11px; font-weight: 650; }
.eolia-result-filters__count[hidden] { display: none !important; }
.eolia-result-filters__empty { padding: 16px; border-radius: 10px; background: #f5f7fa; color: #42536a; }
[data-cv-filter-card][hidden], .eolia-result-filters__empty[hidden] { display:none !important; }
.eolia-preferences { margin:14px 0; padding:12px; border:1px solid #e1e5eb; border-radius:10px; font-size:12px; }
.eolia-preferences summary { cursor:pointer; font-weight:600; }
.eolia-preferences p { font-size:12px; line-height:1.5; }
.eolia-preferences label { display:grid; gap:5px; margin:10px 0; }
.eolia-preferences select, .eolia-preferences input { width:100%; max-width:100%; min-height:38px; padding:7px; border:1px solid #d7dce3; border-radius:7px; background:#fff; color:#263044; }
.eolia-preferences button { padding:8px 12px; border:1px solid #d7dce3; border-radius:7px; background:#fff; color:var(--eolia-cv-primary); cursor:pointer; }
.eolia-preferences [hidden] { display:none !important; }
.eolia-metrics-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; }
.eolia-metrics-grid > div { display:grid; gap:8px; padding:16px; border:1px solid #e1e5eb; border-radius:10px; background:#fff; }
.eolia-metrics-grid strong { font-size:26px; }
.eolia-metrics-grid span { font-size:12px; color:#50575e; }
.eolia-health__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; margin-top:16px; }
.eolia-health__item { display:grid; align-content:start; gap:8px; padding:16px; border:1px solid #dce4ef; border-radius:12px; background:#fff; }
.eolia-health__label { color:#52627b; font-size:13px; }
.eolia-health__value { color:#142a55; font-size:16px; line-height:1.35; }
.eolia-health__value--warning { color:#845600; }
.eolia-health__progress { margin-top:20px; padding:16px; border:1px solid #dce4ef; border-radius:12px; background:#fff; }
.eolia-health__progress h3 { margin:0 0 8px; }
.eolia-health__progress p { margin:0 0 10px; }
.eolia-health__progress progress { width:100%; height:12px; accent-color:#142a55; }

/* The panel fits the viewport; only its body scrolls, never its close button. */
.eolia-cv-matcher--floating {
  --cv-panel-gap: 20px;
  --cv-admin-height: 0px;
  --cv-panel-top: calc(var(--cv-panel-gap) + var(--cv-admin-height) + env(safe-area-inset-top, 0px));
  --cv-panel-bottom: calc(var(--cv-panel-gap) + env(safe-area-inset-bottom, 0px));
  top: var(--cv-panel-top);
  bottom: var(--cv-panel-bottom);
  height: calc(100vh - var(--cv-panel-top) - var(--cv-panel-bottom));
  height: calc(100dvh - var(--cv-panel-top) - var(--cv-panel-bottom));
  min-height: 0;
}
body.admin-bar .eolia-cv-matcher--floating { --cv-admin-height: 32px; }
.eolia-cv-matcher--floating .eolia-cv-matcher__card {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  max-height: 100%;
  min-height: 0;
  padding: 0;
  overflow: hidden;
}
.eolia-cv-matcher--floating.is-collapsed .eolia-cv-matcher__card { display: none; }
.eolia-cv-matcher--floating .eolia-cv-matcher__header {
  flex: 0 0 auto;
  margin: 0;
  padding: 16px 18px;
  background: var(--eolia-cv-surface-strong);
}
.eolia-cv-matcher--floating .eolia-cv-matcher__body {
  min-height: 0;
  padding: 0 18px 18px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
.eolia-cv-matcher--floating .eolia-cv-matcher__results-list,
.eolia-cv-matcher--floating.has-analysis .eolia-cv-matcher__results-list {
  max-height: none;
  overflow: visible;
  padding-right: 0;
}
@media (max-width: 900px) {
  .eolia-cv-matcher--floating { --cv-panel-gap: 12px; }
}
@media (max-width: 782px) {
  body.admin-bar .eolia-cv-matcher--floating { --cv-admin-height: 46px; }
}
.eolia-admin-tabs { display:flex; flex-wrap:wrap; gap:6px; padding:6px; background:#e8ebef; border-radius:12px; }
.eolia-admin-tabs button { border:0; padding:12px 18px; background:transparent; color:#374151; border-radius:8px; font-weight:600; cursor:pointer; }
.eolia-admin-tabs button[aria-selected="true"] { background:#fff; color:#174b85; box-shadow:0 2px 5px #0001; }
.eolia-cv-matcher-admin [role="tabpanel"][hidden] { display:none !important; }
.eolia-admin-tabs button:focus-visible,
.eolia-cv-matcher :is(button,a,input,select,summary):focus-visible,
.eolia-cv-matcher-page-results :is(button,a,input,select,summary):focus-visible { outline:3px solid #1a65b1; outline-offset:3px; }
.eolia-cv-matcher { --eolia-cv-muted:#60646c; }
.eolia-cv-matcher__toggle { min-width:36px; min-height:36px; }
@media (prefers-reduced-motion:reduce) {
 .eolia-cv-matcher *, .eolia-cv-matcher-page-results * { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
}
.eolia-cv-matcher .eolia-field-format--badge,
.eolia-cv-matcher-page-results .eolia-field-format--badge { display:inline-block; padding:4px 10px; border-radius:20px; background:#eaf2ff; color:#164c89; font-weight:600; }

/* A quieter visual hierarchy for the candidate experience. */
.eolia-cv-matcher {
  --eolia-cv-shadow: 0 24px 70px rgba(19, 28, 43, .16), 0 4px 18px rgba(19, 28, 43, .06);
}
.eolia-cv-matcher .eolia-cv-matcher__card {
  border: 1px solid rgba(29, 29, 31, .09);
  border-radius: 20px;
  background: #fff;
  box-shadow: var(--eolia-cv-shadow);
}
.eolia-cv-matcher--floating .eolia-cv-matcher__header {
  padding: 21px 22px;
  background: #fff;
}
.eolia-cv-matcher--floating .eolia-cv-matcher__body { padding: 0 22px 22px; }
.eolia-cv-matcher .eolia-cv-matcher__icon {
  border: 0;
  border-radius: 12px;
}
.eolia-cv-matcher.has-analysis .eolia-cv-matcher__icon { display: none; }
.eolia-cv-matcher.has-analysis .eolia-cv-matcher__header-main { align-items: center; }
.eolia-cv-matcher.has-analysis .eolia-cv-matcher__title { margin: 0; font-size: 21px; letter-spacing: -.035em; }
.eolia-cv-matcher .eolia-cv-matcher__title { font-size: 20px; letter-spacing: -.025em; }
.eolia-cv-matcher .eolia-cv-matcher__dropzone {
  border: 1px dashed var(--eolia-cv-border-strong);
  border-radius: 14px;
  background: #fafbfc;
}
.eolia-cv-matcher__mode-switch {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  margin-top: 16px;
  padding: 4px;
  border: 1px solid #e4e9ef;
  border-radius: 12px;
  background: #f5f7fa;
}
.eolia-cv-matcher__mode-switch button {
  min-height: 40px;
  padding: 8px 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #52617a;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.eolia-cv-matcher__mode-switch button[aria-pressed="true"] {
  background: #fff;
  color: #112751;
  box-shadow: 0 2px 9px rgba(17, 39, 81, .1);
}
.eolia-cv-matcher__profile-form { display: grid; gap: 10px; margin-top: 18px; }
.eolia-cv-matcher__profile-form label { color: #112751; font-size: 13px; font-weight: 700; }
.eolia-cv-matcher__profile-form textarea {
  width: 100%;
  max-width: 100%;
  min-height: 94px;
  padding: 13px 14px;
  border: 1px solid #d9e1eb;
  border-radius: 12px;
  background: #fff;
  color: #112751;
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
  resize: vertical;
}
.eolia-cv-matcher__profile-form textarea:focus-visible { outline: 2px solid #a7c722; outline-offset: 2px; border-color: #112751; }
.eolia-cv-matcher__profile-form textarea::placeholder { color: #718099; }
.eolia-cv-matcher__profile-suggestions { display: grid; gap: 7px; margin-top: 2px; }
.eolia-cv-matcher__profile-suggestions > span { color: #61718a; font-size: 11px; font-weight: 600; }
.eolia-cv-matcher__profile-suggestion-list { display: flex; flex-wrap: wrap; gap: 6px; }
.eolia-cv-matcher__profile-suggestion-list button {
  max-width: 100%;
  padding: 6px 10px;
  border: 1px solid #d9e1eb;
  border-radius: 999px;
  background: #f8fafc;
  color: #112751;
  font: inherit;
  font-size: 11px;
  line-height: 1.3;
  cursor: pointer;
}
.eolia-cv-matcher__profile-suggestion-list button:hover { border-color: #112751; background: #eef3f9; }
.eolia-cv-matcher__profile-suggestion-list button:focus-visible { outline: 2px solid #a7c722; outline-offset: 2px; }
.eolia-cv-matcher__profile-form .eolia-cv-matcher__submit { margin-top: 4px; }
.eolia-cv-matcher.has-analysis .eolia-cv-matcher__profile-form,
.eolia-cv-matcher.has-analysis .eolia-cv-matcher__mode-switch { display: none; }
.eolia-cv-matcher[data-match-mode="profile"] .eolia-cv-matcher__icon { display: none; }
.eolia-cv-matcher[data-match-mode="profile"] [data-cv-progress-step="upload"] { display: none; }
.eolia-cv-matcher .eolia-cv-matcher__submit {
  border-radius: 11px;
  box-shadow: none;
}
.eolia-cv-matcher.has-analysis .eolia-cv-matcher__results-link {
  justify-content: space-between;
  min-height: 50px;
  padding: 12px 16px;
  border: 1px solid #dce4ef;
  border-radius: 12px;
  background: #fff;
  color: #112751;
  font-size: 13px;
  font-weight: 700;
  text-align: left;
  box-shadow: none;
}
.eolia-cv-matcher.has-analysis .eolia-cv-matcher__results-link::after { content: '→'; margin-left: 12px; font-size: 19px; font-weight: 400; line-height: 1; }
.eolia-cv-matcher.has-analysis .eolia-cv-matcher__results-link:hover {
  border-color: #b8d431;
  background: #f8faef;
  color: #112751;
  transform: none;
  box-shadow: none;
}
.eolia-cv-matcher__more-note {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-left: 3px solid #b8d431;
  border-radius: 0 10px 10px 0;
  background: #f7faee;
  color: #263c60;
  font-size: 12px;
  line-height: 1.45;
}
.eolia-cv-matcher__more-note a { color: #112751; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.eolia-cv-matcher .eolia-cv-matcher__results-summary {
  padding: 12px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.eolia-cv-matcher .eolia-cv-matcher__results-count { font-size: 16px; letter-spacing: -.015em; }
.eolia-cv-matcher .eolia-cv-matcher__results-list { gap: 10px; }
.eolia-cv-matcher .eolia-cv-matcher__result {
  padding: 17px 17px 16px 50px;
  border: 1px solid rgba(29, 29, 31, .09);
  border-radius: 14px;
  background: #fff;
}
.eolia-cv-matcher .eolia-cv-matcher__result:hover {
  border-color: var(--eolia-cv-primary);
  box-shadow: 0 10px 28px rgba(19, 28, 43, .08);
}
.eolia-cv-matcher .eolia-cv-matcher__result-rank { top: 17px; left: 17px; }
.eolia-cv-matcher .eolia-cv-matcher__result-title { font-size: 15px; letter-spacing: -.01em; }
.eolia-cv-matcher .eolia-ai-meter,
.eolia-cv-matcher-page-results .eolia-ai-meter {
  margin: 16px 0 8px;
  padding: 13px 0 0;
  border: 0;
  border-top: 1px solid rgba(29, 29, 31, .1);
  border-radius: 0;
  background: transparent;
}
.eolia-cv-matcher .eolia-ai-meter__heading,
.eolia-cv-matcher-page-results .eolia-ai-meter__heading { margin-bottom: 9px; }
.eolia-cv-matcher .eolia-ai-meter__label,
.eolia-cv-matcher-page-results .eolia-ai-meter__label {
  color: var(--eolia-cv-text);
  font-size: 12px;
  font-weight: 600;
}
.eolia-cv-matcher .eolia-ai-meter__value,
.eolia-cv-matcher-page-results .eolia-ai-meter__value {
  color: var(--eolia-cv-title);
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.035em;
}
.eolia-cv-matcher .eolia-ai-meter__track,
.eolia-cv-matcher-page-results .eolia-ai-meter__track { height: 4px; }
.eolia-cv-matcher__matched-terms {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 12px;
}
.eolia-cv-matcher__matched-term {
  max-width: 100%;
  padding: 5px 9px;
  border: 1px solid #dbe6c6;
  border-radius: 999px;
  background: #f7faef;
  color: #274354;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.eolia-cv-matcher-page-results__card { border-radius: 16px; }
.eolia-cv-matcher-page-results__rank { border-radius: 8px; }
.eolia-cv-matcher__consent-panel[hidden] { display: none !important; }
.eolia-cv-matcher__consent-panel { padding: 20px 0; color: var(--eolia-cv-title); }
.eolia-cv-matcher.is-awaiting-consent .eolia-cv-matcher__form,
.eolia-cv-matcher.is-awaiting-consent .eolia-preferences,
.eolia-cv-matcher.is-awaiting-consent .eolia-cv-matcher__cv-summary,
.eolia-cv-matcher.is-awaiting-consent .eolia-cv-matcher__status,
.eolia-cv-matcher.is-awaiting-consent .eolia-cv-matcher__recovery,
.eolia-cv-matcher.is-awaiting-consent .eolia-cv-matcher__results-shell { display: none !important; }
.eolia-cv-matcher__consent-eyebrow {
  color: var(--eolia-cv-primary);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.eolia-cv-matcher .eolia-cv-matcher__consent-panel h3 {
  margin: 13px 0 12px;
  color: var(--eolia-cv-title);
  font-size: clamp(25px, 5vw, 31px);
  line-height: 1.16;
  letter-spacing: -.035em;
}
.eolia-cv-matcher .eolia-cv-matcher__consent-panel p {
  margin: 0 0 16px;
  color: var(--eolia-cv-text);
  font-size: 15px;
  line-height: 1.55;
}
.eolia-cv-matcher__consent-file {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
  padding: 12px 14px;
  border: 1px solid var(--eolia-cv-border-strong);
  border-radius: 12px;
  background: #f7f9fc;
}
.eolia-cv-matcher__consent-file-details { flex: 1; min-width: 0; }
.eolia-cv-matcher__consent-file-label,
.eolia-cv-matcher__consent-file-details small {
  display: block;
  color: var(--eolia-cv-muted);
  font-size: 11px;
  line-height: 1.35;
}
.eolia-cv-matcher__consent-file-details strong {
  display: block;
  margin: 3px 0;
  color: var(--eolia-cv-title);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.eolia-cv-matcher__consent-change {
  flex: 0 0 auto;
  padding: 5px 0;
  border: 0;
  background: none;
  color: var(--eolia-cv-primary);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.eolia-cv-matcher__consent-privacy {
  display: inline-block;
  margin-top: 12px;
  color: var(--eolia-cv-primary);
  font-size: 12px;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.eolia-cv-matcher__consent-change:focus-visible,
.eolia-cv-matcher__consent-privacy:focus-visible {
  outline: 2px solid var(--eolia-cv-primary);
  outline-offset: 3px;
  border-radius: 3px;
}
.eolia-cv-matcher__consent-choice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--eolia-cv-border-strong);
  border-radius: 12px;
  background: #fafbfc;
  color: var(--eolia-cv-title);
  font-size: 14px;
  line-height: 1.45;
  cursor: pointer;
}
.eolia-cv-matcher__consent-choice input {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  margin: 1px 0 0;
  accent-color: var(--eolia-cv-primary);
}
.eolia-cv-matcher__consent-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }
.eolia-cv-matcher__consent-actions button {
  min-height: 45px;
  padding: 10px 17px;
  border-radius: 10px;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.eolia-cv-matcher__consent-cancel { border: 1px solid var(--eolia-cv-border-strong); background: #fff; color: var(--eolia-cv-title); }
.eolia-cv-matcher__consent-confirm { border: 1px solid var(--eolia-cv-primary); background: var(--eolia-cv-primary); color: #fff; }
.eolia-cv-matcher__consent-confirm:disabled { opacity: .48; cursor: not-allowed; }
@media (max-width: 480px) {
  .eolia-cv-matcher__consent-file { align-items: flex-start; }
  .eolia-cv-matcher__consent-actions { flex-direction: column-reverse; }
  .eolia-cv-matcher__consent-actions button { width: 100%; }
}
@media (max-width: 480px) {
  .eolia-cv-matcher--floating .eolia-cv-matcher__header { padding: 17px; }
  .eolia-cv-matcher--floating .eolia-cv-matcher__body { padding: 0 17px 17px; }
}
