.form[data-form-id="candidate_profile"] .field,
.form[data-form-id="candidate_quick"] .field { display: flex; flex-direction: column; min-width: 0; }
.form[data-form-id="candidate_profile"] .field > *,
.form[data-form-id="candidate_quick"] .field > * { order: 2; min-width: 0; }
.form[data-form-id="candidate_profile"] .field > .field-label,
.form[data-form-id="candidate_quick"] .field > .field-label,
.form[data-form-id="candidate_profile"] .field > .check,
.form[data-form-id="candidate_quick"] .field > .check { order: 1; }
.form[data-form-id="candidate_profile"] .field > .field-help,
.form[data-form-id="candidate_quick"] .field > .field-help { order: 3; margin: var(--s2) 0 0; }
.form[data-form-id="candidate_profile"] .field > .field-error,
.form[data-form-id="candidate_quick"] .field > .field-error { order: 4; }
.form[data-form-id="candidate_profile"] .choice-group,
.form[data-form-id="candidate_quick"] .choice-group { display: flex; flex-direction: column; min-width: 0; }
.form[data-form-id="candidate_profile"] .choice-group > .choices,
.form[data-form-id="candidate_quick"] .choice-group > .choices { order: 2; }
.form[data-form-id="candidate_profile"] .choice-group > .field-help,
.form[data-form-id="candidate_quick"] .choice-group > .field-help { order: 3; margin: var(--s2) 0 0; }
.form[data-form-id="candidate_profile"] .choice-group > .field-error,
.form[data-form-id="candidate_quick"] .choice-group > .field-error { order: 4; }
.form[data-form-id="candidate_profile"] .choice,
.form[data-form-id="candidate_quick"] .choice,
.form[data-form-id="candidate_profile"] .check,
.form[data-form-id="candidate_quick"] .check { min-height: var(--tap); }
.form[data-form-id="candidate_profile"] .dropzone-tools .btn,
.form[data-form-id="candidate_profile"] .file-remove,
.form[data-form-id="candidate_quick"] .btn { min-height: var(--tap); }
.choice-text, .check-text, .field-label, .field-help, .field-error { overflow-wrap: anywhere; }
@media (max-width: 359px) {
  .form[data-form-id="candidate_profile"] .money { grid-template-columns: auto minmax(0, 1fr); }
  .form[data-form-id="candidate_profile"] .money-unit { grid-column: 1 / -1; border-left: 1.5px solid var(--field-line); border-top: 0; border-radius: 0 0 var(--r-sm) var(--r-sm); }
  .form[data-form-id="candidate_profile"] .money-input { border-radius: 0 var(--r-sm) 0 0; }
  .form[data-form-id="candidate_profile"] .money-symbol { border-radius: var(--r-sm) 0 0 0; }
}
.form-shell .stepper-item { min-height: var(--tap); }
@media (max-width: 639px) {
  .form-shell .stepper-item:not(.is-current) { display: none; }
  .form-shell .stepper { justify-content: flex-start; }
  .form-shell .stepper-item.is-current { flex: 1 1 auto; justify-content: flex-start; min-width: 0; }
  .form-shell .stepper-item.is-current .stepper-label { display: block; }
}
.fb-fortschritt { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--s2); margin: var(--s2) 0 var(--s5); min-width: 0; }
.fb-fortschritt .progress-text { margin: 0; }
.fb-stepname { font-size: var(--fs-small); font-weight: 650; color: var(--navy); min-width: 0; overflow-wrap: anywhere; }
.fb-stepname:empty { display: none; }
.fb-stepname::before { content: "·"; margin-right: var(--s2); color: var(--muted); font-weight: 400; }
.fb-fehler, .fb-entwurf { margin: 0 0 var(--s5); min-height: var(--tap); }
.fb-fehler-titel { margin: 0 0 var(--s2); font-weight: 700; }
.fb-fehler-liste { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--s1); }
.fb-fehler-liste a { display: flex; align-items: center; min-height: var(--tap); overflow-wrap: anywhere; text-decoration: underline; }
.fb-fehler-liste a:focus-visible { outline: none; box-shadow: var(--focus); border-radius: var(--r-sm); }
.fb-entwurf p { margin: 0 0 var(--s2); }
.fb-entwurf-knoepfe { display: flex; flex-wrap: wrap; gap: var(--s2); margin: 0; }
.fb-entwurf-knoepfe .btn { min-height: var(--tap); }
.fb-vorschauen { display: flex; flex-wrap: wrap; gap: var(--s2); margin: var(--s2) 0 0; }
.fb-vorschau { margin: 0; padding: var(--s1); border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--bg); }
.fb-vorschau img { display: block; max-height: 96px; max-width: 100%; width: auto; height: auto; border-radius: calc(var(--r-sm) - 4px); }
@media (max-width: 899px) {
  .form[data-form-id="candidate_profile"] .form-actions,
  .form[data-form-id="candidate_quick"] .form-actions {
    position: sticky; bottom: 0; z-index: 5;
    flex-wrap: nowrap; gap: var(--s2);
    margin-inline: calc(-1 * var(--s5)); padding: var(--s3) var(--s5) calc(var(--s3) + env(safe-area-inset-bottom));
    background: var(--bg); border-top: 1px solid var(--line);
  }
  .form[data-form-id="candidate_profile"] .form-actions .btn,
  .form[data-form-id="candidate_quick"] .form-actions .btn { flex: 1 1 0; min-width: 0; min-height: var(--tap); margin-left: 0; order: 0; padding-inline: var(--s3); }
  .form[data-form-id="candidate_profile"] .form-actions .btn-step-prev,
  .form[data-form-id="candidate_quick"] .form-actions .btn-step-prev { order: 0; }
  .form[data-form-id="candidate_profile"] .form-actions .btn-submit,
  .form[data-form-id="candidate_quick"] .form-actions .btn-submit { flex: 2 1 0; }
  .form[data-form-id="candidate_profile"] .form-actions .btn span,
  .form[data-form-id="candidate_quick"] .form-actions .btn span { white-space: normal; overflow-wrap: break-word; text-align: center; line-height: 1.25; }
}
@media (min-width: 640px) and (max-width: 899px) {
  .form[data-form-id="candidate_profile"] .form-actions,
  .form[data-form-id="candidate_quick"] .form-actions { margin-inline: calc(-1 * var(--s7)); padding-inline: var(--s7); }
}
.tl { display: grid; gap: var(--s5); min-width: 0; }
.tl > * { min-width: 0; }
.tl-kopf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s4); }
.tl-kopf h2 { margin: 0; }
.tl-kopf-text { flex: 1 1 14rem; min-width: 0; }
.tl-kopf-text p { margin: var(--s1) 0 0; color: var(--muted); }
.tl-kopf .progress-ring { width: 96px; height: 96px; margin: 0; }
.tl-kopf .progress-ring-value strong { font-size: 1.5rem; }
.tl-sonder { margin: 0; }
.tl-stufen { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.tl-stufe { position: relative; display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: var(--s3); padding-bottom: var(--s4); }
.tl-stufe:last-child { padding-bottom: 0; }
.tl-stufe::before { content: ""; position: absolute; left: 13px; top: 28px; bottom: 0; width: 2px; background: var(--line); }
.tl-stufe:last-child::before { display: none; }
.tl-stufe.is-done::before { background: var(--ok); }
.tl-zeichen { position: relative; z-index: 1; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; border: 2px solid var(--field-line); background: var(--bg); }
.tl-zeichen .icon { width: 16px; height: 16px; }
.tl-stufe.is-done .tl-zeichen { border-color: var(--ok); background: var(--ok); color: var(--white); }
.tl-stufe.is-current .tl-zeichen { border-color: var(--navy); background: var(--bg); }
.tl-stufe.is-current .tl-zeichen::after { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--navy); }
.tl-text { min-width: 0; padding-top: 2px; }
.tl-titel { display: block; font-weight: 650; color: var(--ink); overflow-wrap: anywhere; }
.tl-stufe.is-next .tl-titel { color: var(--muted); font-weight: 600; }
.tl-stufe.is-current .tl-titel { color: var(--navy); font-weight: 750; }
.tl-satz { margin: var(--s1) 0 0; color: var(--muted); font-size: var(--fs-small); line-height: 1.5; overflow-wrap: anywhere; }
.tl-stufe.is-current .tl-satz { color: var(--ink); font-size: var(--fs-body); }
.tl-stufe.is-highlight .tl-titel { color: var(--ok-ink); }
.tl-termine { margin: var(--s3) 0 0; padding: var(--s3) var(--s4); border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--bg-soft); display: grid; gap: var(--s3); }
.tl-termin { display: grid; gap: var(--s1); min-width: 0; }
.tl-termin > * { min-width: 0; overflow-wrap: anywhere; }
.tl-termin-zeit { font-weight: 650; color: var(--navy); }
.tl-termin-alt, .tl-termin-art { font-size: var(--fs-small); color: var(--muted); }
.tl-termin .cluster .btn { min-height: var(--tap); }
.tl-fehlt { display: grid; gap: var(--s3); }
.tl-fehlt h3, .tl-kontakt h3 { margin: 0; font-size: 1.0625rem; }
.tl-gruppe { display: grid; gap: 0; min-width: 0; }
.tl-gruppe-titel { margin: 0 0 var(--s1); font-size: var(--fs-label); font-weight: 700; letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--muted); }
.tl-liste { list-style: none; margin: 0; padding: 0; }
.tl-eintrag { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); min-height: 56px; padding: var(--s2) 0; border-bottom: 1px solid var(--line); }
.tl-eintrag:last-child { border-bottom: 0; }
.tl-eintrag-text { flex: 1 1 12rem; min-width: 0; overflow-wrap: anywhere; }
.tl-eintrag-titel { display: block; font-weight: 600; }
.tl-eintrag-note { display: block; font-size: var(--fs-small); color: var(--muted); }
.tl-eintrag .btn { min-height: var(--tap); margin-left: auto; }
.tl-eintrag > .icon { flex: none; color: var(--gold-600); }
.tl-eintrag.is-da > .icon { color: var(--ok); }
.tl-schon { border-top: 1px solid var(--line); padding-top: var(--s2); }
.tl-schon summary { display: flex; align-items: center; min-height: var(--tap); cursor: pointer; font-weight: 600; color: var(--navy); }
.tl-schon summary:focus-visible { outline: none; box-shadow: var(--focus); border-radius: var(--r-sm); }
.tl-nichts { margin: 0; color: var(--ok-ink); font-weight: 600; }
.tl-kontakt { display: grid; gap: var(--s3); }
.tl-kontakt-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s3); }
@media (min-width: 640px) { .tl-kontakt-liste { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); } }
.tl-person { display: grid; gap: var(--s2); padding: var(--s3) var(--s4); border: 1px solid var(--line); border-radius: var(--r-sm); min-width: 0; }
.tl-person > * { min-width: 0; overflow-wrap: anywhere; }
.tl-person-rolle { font-size: var(--fs-label); font-weight: 700; letter-spacing: var(--ls-label); text-transform: uppercase; color: var(--muted); }
.tl-person-rolle.tl-person-firma { text-transform: none; letter-spacing: normal; }
.tl-person-name { font-weight: 650; color: var(--navy); }
.tl-person .btn { justify-self: start; min-height: var(--tap); }
.tl-wege { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s1); }
.tl-wege a { display: inline-flex; align-items: center; gap: var(--s2); min-height: var(--tap); overflow-wrap: anywhere; }
.file-item .fb-vorschau { flex: none; padding: 2px; }
.file-item .fb-vorschau img { max-height: 48px; }
@media (prefers-reduced-motion: no-preference) {
  .tl-zeichen { transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease); }
}
@media print {
  .fb-entwurf, .fb-fehler, .tl-kontakt .btn, .tl-eintrag .btn { display: none !important; }
}
