.cv-vacancy {
  display: grid;
  gap: 14px;
  margin: 0 0 24px;
  padding: 18px;
  border: 1px solid #ded6ef;
  border-radius: 12px;
  background: #fcfaff;
  overflow-wrap: anywhere;
}
.cv-vacancy[hidden] { display: none; }
.cv-vacancy h2, .cv-vacancy h3, .cv-vacancy p { margin: 0; }
.cv-vacancy-fields {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  min-width: 0;
  border: 0;
}
.cv-vacancy-fields > button { justify-self: start; }
.cv-vacancy-import {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}
.cv-vacancy .cv-field { margin: 0; }
.cv-vacancy-result {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 10px;
  background: #fff;
}
.cv-vacancy-score { display: flex; align-items: center; gap: 12px; }
.cv-vacancy-score > strong { color: #56339f; font-size: 30px; }
.cv-vacancy-score h3 { font-size: 16px; }
.cv-vacancy-score p { color: #535b70; font-size: 13px; }
.cv-vacancy-result meter { width: 100%; height: 12px; }
.cv-vacancy-requirements { display: grid; gap: 12px; margin: 0; padding-left: 18px; }
.cv-vacancy-requirements small { display: block; color: #535b70; }
@media (max-width: 660px) {
  .cv-vacancy-import { grid-template-columns: minmax(0, 1fr); }
  .cv-vacancy-import button { justify-self: start; }
}
