#vacancy-public-form-fields,
#vacancy-public-form-fields * { box-sizing: border-box; min-width: 0; letter-spacing: 0; }
.vfp-fields { display: grid; gap: 14px; margin: 18px 0 0; padding: 18px 0 0; border: 0; border-top: 1px solid #e2e8f0; }
.vfp-fields > legend { width: 100%; padding: 0; color: #172033; font-size: 17px; font-weight: 750; }
.vfp-fields > p { margin: -8px 0 0; color: #64748b; font-size: 13px; line-height: 1.5; }
.vfp-field { display: grid; gap: 6px; margin: 0; }
.vfp-field > span, .vfp-field > legend { color: #334155; font-size: 13px; font-weight: 650; }
.vfp-field em { color: #dc2626; font-style: normal; }
.vfp-field input:not([type="checkbox"]), .vfp-field textarea, .vfp-field select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #172033; font: inherit; }
.vfp-field textarea { min-height: 98px; resize: vertical; }
.vfp-field input:focus, .vfp-field textarea:focus, .vfp-field select:focus { border-color: #2563eb; outline: 0; box-shadow: 0 0 0 3px rgba(37, 99, 235, .12); }
.vfp-field small { color: #718096; font-size: 11px; line-height: 1.4; }
.vfp-options { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.vfp-options > label, .vfp-checkbox { display: flex; grid-template-columns: none; align-items: flex-start; gap: 8px; color: #334155; font-size: 13px; cursor: pointer; }
.vfp-options input, .vfp-checkbox input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 1px; }
.vfp-options.is-invalid { padding: 9px; border: 1px solid #ef4444; border-radius: 6px; background: #fff5f5; }
