/* Additional styling is scoped to the pictured Job Setup controls. */
#jobSetupRetainedControls[hidden], #setupForm [hidden] { display: none !important; }
#setupForm .job-dwr-unavailable { align-items: center; }
#setupAutoDwrHelp { display: block; margin: -4px 0 12px; }
#setupForm .job-photo-slot { border-bottom: 1px solid var(--line); margin-bottom: 16px; padding-bottom: 12px; }
#setupForm .job-photo-slot:last-child { border-bottom: 0; margin-bottom: 0; }
#setupForm .job-photo-preview:empty { display: none; }
#setupForm .job-photo-preview img { display: block; width: auto; max-width: 100%; max-height: 260px; border-radius: 10px; margin: 10px 0; }
#setupForm .job-signature-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-weight: 700; }
#jobSignaturePreview img { display: block; max-width: 100%; max-height: 150px; margin: 12px 0; }
#setupForm .job-photo-actions { display: flex; flex-wrap: wrap; }
#submitJobSetup { margin-left: auto; }
@media (max-width: 720px) {
  #setupForm .job-photo-actions { display: grid; grid-template-columns: 1fr 1fr; }
  #submitJobSetup { grid-column: 1 / -1; width: 100%; margin: 0; }
}

/* Compact protection controls; retain the app's existing colors and typography. */
#setupForm .job-protection-panel { border: 1px solid var(--line); border-radius: 8px; margin-top: 8px; }
#setupForm .job-protection-panel > summary { cursor: pointer; font-weight: 700; padding: 10px 12px; }
#setupForm .job-protection-panel > summary:focus-visible, #setupForm .job-flag-group > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
#setupForm .job-protection-content { padding: 0 10px 10px; }
#setupForm .job-protection-content label { min-width: 0; margin-bottom: 6px; font-size: .88rem; gap: 3px; }
#setupForm .job-protection-content input:not([type=checkbox]), #setupForm .job-protection-content select, #setupForm .job-protection-content textarea { max-width: 100%; min-height: 36px; padding: 7px 9px; font-size: .92rem; }
#setupForm .job-protection-content .grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#setupForm .job-protection-content legend { font-weight: 600; padding: 0 4px; font-size: .88rem; }
#setupForm .job-flag-group { border: 1px solid var(--line); border-radius: 6px; margin: 0 0 6px; min-width: 0; }
#setupForm .job-flag-group > summary { padding: 9px 10px; font-weight: 600; cursor: pointer; font-size: .9rem; }
#setupForm .job-flag-group > summary small { display: block; font-size: .78rem; font-weight: 400; opacity: .8; margin: 3px 0 0 14px; overflow-wrap: anywhere; }
#setupForm .job-flag-group > summary small:empty { display: none; }
#setupForm .job-flag-group-body { padding: 0 9px 9px; }
#setupForm .job-flag-location { border: 0; border-top: 1px solid var(--line); margin: 0 0 7px; padding: 7px 0 0; min-width: 0; }
#setupForm .job-flag-location > legend { font-weight: 400; font-size: .8rem; }
#setupForm .job-track-checks { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 7px; }
#setupForm .job-track-checks .check { margin: 0; gap: 4px; padding: 5px 7px; border: 1px solid var(--line); border-radius: 5px; min-height: 32px; font-size: .8rem; cursor: pointer; }
#setupForm .job-track-checks .check:has(input:checked) { background: color-mix(in srgb, currentColor 9%, transparent); font-weight: 700; }
#setupForm .job-track-checks input { margin: 0; }
#setupForm .job-track-checks .track-available { background: #e3f3e8; border-color: #168344; color: #0d6533; box-shadow: inset 0 0 0 1px #168344; font-weight: 800; }
#setupForm .job-track-checks .track-unavailable { background: #e7ebf0; border-color: #c6ced8; color: #718096; opacity: .52; cursor: not-allowed; }
#setupForm .job-track-checks .track-unavailable input { filter: grayscale(1); }
#setupForm .job-track-checks .track-conflict { background: #fff0ef; border-color: #b42318; color: #8a1c13; }
#setupForm .job-track-availability-status { flex-basis: 100%; margin: -2px 0 8px; font-size: .76rem; color: #52647b; line-height: 1.35; }
#setupForm .job-track-availability-status[data-state="resolved"] { color: #0d6533; }
#setupForm .job-track-availability-status[data-state="conflict"] { color: #8a1c13; font-weight: 700; }
#setupForm .job-time-limits { margin: 0 0 8px; padding: 6px 8px 0; min-width: 0; border: 1px solid var(--line); border-radius: 6px; }
#setupForm .job-switch-row { padding: 3px 0; margin: 0; border-bottom: 1px solid var(--line); }
#setupForm .job-switch-row:last-of-type { border: 0; margin-bottom: 5px; }
#setupForm .job-location-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#setupForm .job-location-actions .compact, #setupForm .job-flag-group-body > .compact { min-height: 32px; padding: 6px 9px; font-size: .78rem; }
#setupForm .job-flag-map-panel { padding: 8px; border: 1px solid var(--line); border-radius: 6px; margin-top: 7px; }
#setupForm .job-flag-map-status { font-size: .82rem; margin: 0 0 7px; }
#setupForm .job-google-map-link { display: inline-block; margin-bottom: 8px; padding: 8px 10px; }
#setupForm .job-flag-map-panel .field-help { font-size: .77rem; margin: 3px 0; }
#setupForm .job-flag-map-panel [data-flag-pin-feedback]:empty { display: none; }
@media (max-width: 440px) {
  #setupForm .job-protection-content .grid2 { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 6px; }
  #setupForm .job-protection-content { padding: 0 7px 7px; }
  #setupForm .job-track-checks .check { padding: 5px; }
}

/* Fitted pictures retain their aspect ratio and never overflow the job form. */
#setupForm .job-photo-slot { min-width: 0; }
#setupForm .job-photo-controls { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; }
#setupForm .job-photo-controls button { min-height: 42px; }
#setupForm .job-photo-open { display: block; padding: 0; margin: 10px 0; width: 100%; max-width: 560px; background: transparent; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
#setupForm .job-photo-preview img { width: 100%; height: 230px; max-width: 100%; max-height: 35vh; object-fit: contain; margin: 0; }
#setupForm [data-job-photo-status] { display: block; overflow-wrap: anywhere; margin: 5px 0 10px; }
#jobCameraDialog, #jobPhotoViewDialog { width: min(640px, calc(100vw - 28px)); max-width: calc(100vw - 28px); max-height: 90vh; max-height: 90dvh; box-sizing: border-box; }
#jobCameraDialog [hidden], #jobPhotoViewDialog [hidden] { display: none !important; }
#jobCameraVideo { display: block; width: 100%; max-height: 54vh; object-fit: contain; background: #101820; border-radius: 10px; }
#jobCameraDialog .job-camera-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
#jobCameraDialog .job-camera-actions button { min-height: 44px; }
#jobCameraStatus { overflow-wrap: anywhere; }
#jobPhotoFullImage { display: block; max-width: 100%; width: 100%; max-height: 72vh; object-fit: contain; }
@media (max-width: 480px) {
  #setupForm .job-photo-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #setupForm .job-photo-controls button { min-width: 0; padding: 9px 8px; }
}

#jobEvidenceReview details{border-top:1px solid #d7dee6;padding:.55rem 0}#jobEvidenceReview summary{cursor:pointer;font-weight:600}#jobEvidenceReview blockquote{margin:.3rem 0;white-space:pre-wrap;font-size:.85rem}#jobEvidenceReview li{margin:.35rem 0}.job-review-table{max-height:24rem;overflow:auto}.job-review-table table{width:100%;border-collapse:collapse}.job-review-table td,.job-review-table th{padding:.5rem;text-align:left;border-bottom:1px solid #d7dee6;vertical-align:top;overflow-wrap:anywhere}#jobMissingItems{max-height:18rem;overflow:auto}
