.career-cv { display: grid; gap: .5rem; min-width: 0; margin-top: 1rem; }
.career-cv > label { font-size: .875rem; font-weight: 500; }
.career-cv-dropzone {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .375rem;
  padding: 1.5rem 1rem;
  border: 2px dashed var(--primary);
  border-radius: 1rem;
  background: var(--background);
  text-align: center;
  transition: background-color .15s, border-color .15s;
}
.career-cv-dropzone:hover,
.career-cv-dropzone[data-dragging="true"] { background: var(--primary-soft); border-style: solid; }
.career-cv-dropzone:focus-within { outline: 2px solid var(--primary); outline-offset: 3px; }
.career-cv-dropzone[data-invalid="true"] { border-color: var(--destructive); }
.career-cv-dropzone[data-disabled="true"] { opacity: .6; }
.career-cv-icon { width: 1.75rem; height: 1.75rem; margin-bottom: .25rem; color: var(--primary); }
.career-cv-title { font-weight: 500; line-height: 1.5; }
.career-cv-pick, .career-cv-help { font-size: .875rem; color: var(--muted-foreground); }
.career-cv-pick > span { font-weight: 500; color: var(--primary); text-decoration: underline; text-underline-offset: .2em; }
.career-cv .career-cv-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.career-cv .career-cv-input:disabled { cursor: wait; }
.career-cv-selection { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1rem; font-size: .875rem; }
.career-cv-selection:empty { display: none; }
.career-cv-filename { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.career-cv-remove { min-height: 2.75rem; padding: .5rem; color: var(--primary); text-decoration: underline; cursor: pointer; }
.career-cv-remove:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; border-radius: .25rem; }
.career-cv-error { font-size: .875rem; color: var(--destructive); }
@media (prefers-reduced-motion: reduce) { .career-cv-dropzone { transition: none; } }
