/* Manual preselection controls shared by the campaign and report CV viewers. */
.candidate-preselection {
  flex: 0 0 auto;
  margin: 14px 22px;
  padding: 16px;
  border: 1px solid #c7e5dd;
  border-radius: 12px;
  background: #f3faf7;
  color: #173e35;
  font-size: 14px;
  overflow-wrap: anywhere;
}
.candidate-preselection-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.candidate-preselection-heading p, .candidate-preselection-warning p { margin: 6px 0 0; line-height: 1.45; }
.candidate-preselect-button { flex: none; min-height: 44px; padding: 10px 16px; border: 0; border-radius: 8px; background: #137964; color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.candidate-preselect-button:hover { background: #0c6050; }
.candidate-preselect-button:disabled { opacity: .55; cursor: default; }
.candidate-preselect-button:focus-visible { outline: 3px solid #2243a2; outline-offset: 3px; }
.candidate-promotion-control { display: inline-flex; flex: none; }
.candidate-promotion-control:focus-visible { outline: 3px solid #2243a2; outline-offset: 3px; border-radius: 8px; }
.candidate-promotion-control > button:disabled { pointer-events: none; }
.candidate-preselection-warning { margin-top: 14px; padding: 12px; border-left: 3px solid #b45a27; border-radius: 6px; background: #fff6ed; color: #763616; }
.candidate-preselection-warning summary { cursor: pointer; }
.candidate-preselection-warning ul { padding-left: 20px; margin: 8px 0; max-height: 130px; overflow-y: auto; }
.candidate-preselection-warning li { margin: 5px 0; line-height: 1.45; }
.candidate-preselection-warning li span { display: inline-block; font-weight: 700; }
.candidate-preselection > small { display: block; margin-top: 10px; }
@media (max-width: 980px) {
  .report-cv-dialog[open], .mobile-portal .report-cv-dialog[open] { overflow-y: auto; }
  .report-cv-dialog .report-cv-layout { flex: 0 0 auto; overflow: visible; }
}
@media (max-width: 700px) {
  .candidate-preselection { margin: 12px; padding: 12px; }
  .candidate-preselection-heading { align-items: stretch; flex-direction: column; gap: 10px; }
  .candidate-preselect-button { width: 100%; }
}
