:root {
  --nomina-ink: #172033;
  --nomina-muted: #687386;
  --nomina-line: #e5e9f0;
  --nomina-accent: #315efb;
  --nomina-accent-soft: #eef2ff;
}

.form-shell { max-width: 1180px; margin: 0 auto; }
.form-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-end; }
.eyebrow, .section-kicker { color: var(--nomina-accent); text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; font-weight: 700; }
.form-heading h1 { color: var(--nomina-ink); letter-spacing: -.035em; }
.person-chip { display: flex; align-items: center; gap: .7rem; padding: .65rem .85rem; background: #fff; border: 1px solid var(--nomina-line); border-radius: 1rem; box-shadow: 0 .4rem 1.5rem rgba(23, 32, 51, .06); }
.person-chip span:last-child { display: grid; gap: .1rem; }
.person-chip small { color: var(--nomina-muted); }
.person-chip__avatar { width: 2.4rem; height: 2.4rem; display: grid; place-items: center; border-radius: 50%; background: var(--nomina-accent-soft); color: var(--nomina-accent); font-weight: 700; }
.form-stepper { position: sticky; top: 1.5rem; display: grid; gap: .35rem; }
.form-stepper__item { display: flex; align-items: center; gap: .65rem; padding: .7rem .85rem; color: var(--nomina-muted); text-decoration: none; border-left: 2px solid var(--nomina-line); font-size: .9rem; transition: .2s ease; }
.form-stepper__item span { font-size: .7rem; font-weight: 700; color: #9aa4b5; }
.form-stepper__item:hover, .form-stepper__item.is-active { color: var(--nomina-accent); border-color: var(--nomina-accent); background: var(--nomina-accent-soft); }
.form-stepper__item.is-active span { color: var(--nomina-accent); }
.form-card { scroll-margin-top: 1.25rem; background: #fff; border: 1px solid var(--nomina-line); border-radius: 1rem; padding: clamp(1.25rem, 3vw, 2rem); margin-bottom: 1.2rem; box-shadow: 0 .45rem 1.8rem rgba(23, 32, 51, .045); }
.form-card__header { border-bottom: 1px solid var(--nomina-line); margin-bottom: 1.35rem; padding-bottom: 1rem; }
.form-card__header h2 { color: var(--nomina-ink); font-size: 1.15rem; margin: .25rem 0 .3rem; }
.form-card__header p { color: var(--nomina-muted); font-size: .9rem; margin: 0; }
.form-field .form-label { color: #344054; font-size: .84rem; font-weight: 650; margin-bottom: .4rem; }
.form-field .form-control, .form-field .form-select { border-color: #d9dee8; min-height: 2.65rem; border-radius: .6rem; }
.form-field textarea.form-control { min-height: 6rem; }
.form-field .form-control:focus, .form-field .form-select:focus { border-color: var(--nomina-accent); box-shadow: 0 0 0 .2rem rgba(49, 94, 251, .12); }
.required-mark { color: #d92d20; margin-left: .2rem; }
.has-error .form-control, .has-error .form-select { border-color: #dc3545; }
.salary-highlight { background: linear-gradient(135deg, #f4f6ff, #fff); border: 1px solid #dce3ff; border-radius: .8rem; padding: 1rem; }
.salary-highlight .form-label { color: #243b9b; }
.field-switch { padding: .85rem 1rem .85rem 3.2rem; border: 1px solid var(--nomina-line); border-radius: .65rem; background: #fafbfc; }
.field-switch .form-check-input { margin-left: -2.2rem; }
.form-actions { display: flex; align-items: center; gap: .75rem; padding-top: .5rem; }

@media (max-width: 991.98px) {
  .form-heading { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .form-stepper { position: static; display: flex; overflow-x: auto; padding-bottom: .35rem; }
  .form-stepper__item { min-width: max-content; border-left: 0; border-bottom: 2px solid var(--nomina-line); }
}

@media (max-width: 575.98px) {
  .form-actions { align-items: stretch; flex-direction: column; }
  .form-actions .btn { width: 100%; }
  .person-chip { width: 100%; }
}
