/* Request form saving controls. */
.lab-tools { margin: 0 0 24px; padding: 16px 20px; border: 1px solid var(--color-border); border-radius: 8px; background: #fff; }
#lab-save-status { font-size: 14px; color: var(--color-primary-deep); font-weight: 600; margin: 0; }
#lab-save-status[data-state="error"] { color: #9b2c20; }
.lab-tools button { margin-top: 12px; padding: 8px 14px; border: 1px solid var(--color-border); border-radius: 6px; font-size: 13px; min-height: 40px; }
#lab-history { margin-top: 12px; font-size: 13px; }
/* Same button toggle as the staff workspace (staff.css "Toggles"): no native triangle. */
#lab-history > summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; width: fit-content; max-width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid #8aa77e; border-radius: 5px; background: #fff; color: #2c5a1c; font: 600 14px/1.35 Arial, Helvetica, sans-serif; cursor: pointer; user-select: none; overflow-wrap: anywhere; }
#lab-history > summary::-webkit-details-marker { display: none; }
#lab-history > summary::marker { content: ""; }
#lab-history > summary::after { content: ""; flex: none; width: 7px; height: 7px; margin: -4px 2px 0 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s ease; }
#lab-history[open] > summary::after { margin-top: 4px; transform: rotate(-135deg); }
#lab-history > summary:hover { background: #eef3ea; border-color: #3d7325; color: #1f3d14; }
#lab-history > summary:focus-visible { outline: 3px solid #b87800; outline-offset: 2px; }
#lab-history[open] > summary { margin-bottom: 10px; background: #f3f6f1; }
@media (prefers-reduced-motion: reduce) { #lab-history > summary::after { transition: none; } }
#lab-history p { margin: 8px 0; color: var(--color-text-muted); }
#lab-events { list-style: none; padding: 0; max-height: 360px; overflow: auto; margin-top: 12px; }
#lab-events li { padding: 10px 0; border-bottom: 1px solid var(--color-divider); overflow-wrap: anywhere; }
#lab-events strong, #lab-events span { display: block; }
#lab-events span { color: var(--color-text-muted); margin-top: 3px; white-space: pre-wrap; }
.lab-tools [hidden] { display: none !important; }
/* Submit step (capture path only): Edit left, Submit right; stacked on phones. */
.vacancy-page .vacancy-submit-actions { margin-top: 0; }
.vacancy-submit-error { margin: 12px 0 0; font-size: 14px; line-height: 1.5; color: #9b2c20; overflow-wrap: anywhere; }
#request-confirmation h2 { font-size: 26px; margin-bottom: 12px; }
.vacancy-confirmation-note { font-size: 15px; line-height: 1.6; margin-bottom: 24px; }
.vacancy-confirmation-note .vacancy-confirmation-address { font-weight: 600; overflow-wrap: anywhere; }
/* Estimated price (or the follow-up line) between the note and What Happens Next. */
#request-confirmation .vacancy-price { margin: 0 0 24px; }
#request-confirmation .vacancy-price[data-shown="range"] { padding: 18px 20px; border: 1px solid #c9dcbb; border-left: 4px solid var(--color-primary-active); border-radius: 8px; background: var(--color-primary-soft); }
#request-confirmation .vacancy-price-title { font-size: 13px; line-height: 1.4; letter-spacing: .04em; font-weight: 700; color: var(--color-primary-deep); margin: 0 0 6px; }
#request-confirmation .vacancy-price-range { font-size: 24px; line-height: 1.3; font-weight: 700; color: var(--color-text); margin: 0 0 8px; overflow-wrap: anywhere; }
#request-confirmation .vacancy-price-note, #request-confirmation .vacancy-price-follow-up { font-size: 15px; line-height: 1.6; margin: 0; }
#request-confirmation .vacancy-price-note { color: var(--color-text-muted); font-size: 14px; line-height: 1.5; }
/* An hourly range under the monthly one (kitting without hours), and several notes in a row. */
#request-confirmation .vacancy-price-range.vacancy-price-hourly { font-size: 18px; }
#request-confirmation .vacancy-price-note + .vacancy-price-note { margin-top: 4px; }
@media (max-width: 480px) { #request-confirmation .vacancy-price[data-shown="range"] { padding: 16px; } #request-confirmation .vacancy-price-range { font-size: 21px; } #request-confirmation .vacancy-price-range.vacancy-price-hourly { font-size: 17px; } }
/* What happens next: three numbered steps between the note and the button. */
#request-confirmation .vacancy-next-title { font-size: 17px; line-height: 1.4; margin: 0 0 10px; }
#request-confirmation .vacancy-next-steps { list-style: decimal; margin: 0 0 24px; padding: 0 0 0 1.4em; font-size: 15px; line-height: 1.6; }
#request-confirmation .vacancy-next-steps li { display: list-item; margin: 0 0 6px; padding-left: 4px; overflow-wrap: anywhere; }
#request-confirmation .vacancy-next-steps li:last-child { margin-bottom: 0; }
@media (max-width: 480px) {
  .vacancy-page .vacancy-submit-actions { flex-direction: column-reverse; align-items: stretch; gap: 12px; }
  .vacancy-page .vacancy-submit-actions button, #request-confirmation .vacancy-primary { width: 100%; margin-right: 0; }
}
