/* Request 243A: customer approval panel and sheets in the job workspace (shop.css tokens). */
.ja .ja-sub { font-size: 13px; color: var(--ink-2); margin: -4px 0 10px; }
.shop-on .ja-btn { min-height: 34px; border-radius: var(--r-s); background: var(--fill); font-weight: 500; }
.ja-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-top: 10px; }
.ja-items { list-style: none; margin: 0; padding: 0; }
.ja-items li { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; padding: 7px 0; border-top: 1px solid var(--hair); font-size: 13.5px; align-items: baseline; }
.ja-items li:first-child { border-top: 0; }
.ja-dec { font-size: 12px; font-weight: 600; color: var(--ink-3); }
.d-approved .ja-dec { color: var(--green); } .d-declined .ja-dec { color: var(--ink-2); } .d-declined .ja-name { color: var(--ink-2); text-decoration: line-through; }
.ja-amt { text-align: right; min-width: 64px; }
.ja-total { display: flex; justify-content: space-between; padding-top: 10px; border-top: 1px solid var(--hair); margin-top: 4px; }
.ja-linkbox { background: var(--surface-2); border-radius: var(--r-m); padding: 10px; margin-bottom: 10px; box-shadow: 0 0 0 .5px var(--hair); }
.ja-link { width: 100%; font-size: 12.5px; }
.ja-hint { font-size: 12px; color: var(--ink-2); margin: 8px 0 0; }
.ja-open { font-size: 13px; }
.ja-wrap { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 16px; }
.ja-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, .35); }
.ja-sheet { position: relative; width: min(520px, 100%); max-height: 88vh; overflow: auto; background: var(--surface); border-radius: var(--r-l); box-shadow: var(--shadow-pop); padding: 20px 22px; }
.ja-sheet h2 { font-size: 18px; margin: 0 0 6px; }
.ja-sheet .primary { width: 100%; min-height: 42px; margin-top: 12px; }
.ja-recs { list-style: none; margin: 8px 0; padding: 0; }
.ja-rec { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; padding: 10px 0; border-top: 1px solid var(--hair); font-size: 14px; }
.ja-rec:first-child { border-top: 0; }
.ja-choices { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.shop-on .ja-choice { border-radius: var(--r-s); min-height: 36px; }
.shop-on .ja-choice[aria-pressed="true"] { background: var(--accent); color: var(--accent-ink); }
.ja-label { display: block; margin: 12px 0 4px; }
.ja-sheet input[type="text"] { width: 100%; }
@media (max-width: 640px) { .ja-wrap { place-items: end center; padding: 0; } .ja-sheet { border-radius: var(--r-l) var(--r-l) 0 0; width: 100%; } }
/* Oct 20: before-you-send checks */
.ja-before { margin: 8px 0 12px; padding: 10px 12px; border-radius: 10px; background: var(--amber-soft); color: var(--ink); font-size: 14px; }
.ja-before ul { margin: 4px 0 0; padding-left: 18px; }
.ja-before li { margin: 2px 0; }
/* S1 (187): the customer answered an earlier version; kept, not applied */
.ja-late { margin: 8px 0 12px; padding: 10px 12px; border-radius: 10px; background: var(--amber-soft); color: var(--ink); font-size: 14px; }
.ja-late-t { margin: 0 0 6px; }
.ja-late-items { margin: 0; padding-left: 18px; color: var(--ink-2); }
/* 206: good/better/best options */
.ja-opts { display: grid; gap: 12px; margin: 8px 0; }
.ja-opt { border: 1px solid var(--hair); border-radius: 10px; padding: 10px; display: grid; gap: 8px; }
.ja-opt ul, .ja-opt-new ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.ja-opt li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ja-opt li input { width: 8.5em; }
.ja-rec-group .ja-choices { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; }
.d-not_chosen .ja-dec { color: var(--ink-2); }
/* Oct 22: a service heading over its own lines (not an item to decide); its lines sit under it */
.ja-rec-head .ja-choices { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 6px; }
.ja-rec-line { padding-left: 14px; }
.ja-items li.ja-head { display: block; font-weight: 600; }
.ja-items li.ja-in .ja-name { padding-left: 12px; }
.ja-signed { color: var(--green); font-size: 13px; font-weight: 600; text-align: right; }   /* U6-B: a diagnostic already signed stays as signed */
/* U20-C (408): a required group recorded as one decision */
.ja-req-lines { color: var(--ink-2); font-weight: 400; }
.ja-more { margin-left: 6px; padding: 2px 6px; font-size: 12.5px; }
.ja-inc { margin: 4px 0 0; padding-left: 18px; font-size: 13px; color: var(--ink-2); }

/* U23: explicit approval method and unsigned, exact-revision selection copy. */
.ja-methods { display: grid; gap: 8px; }
.ja-methods button { min-height: 42px; }
.ja-print-document { display: none; }
@media print {
  body.ja-printing > :not(.ja-print-document) { display: none !important; }
  body.ja-printing { display: block !important; background: white !important; color: black !important; overflow: visible !important; }
  body.ja-printing > .ja-print-document { display: block !important; font: 12pt/1.4 sans-serif; padding: 12mm; color: black; background: white; }
  .ja-print-document h1 { font-size: 18pt; }
  .ja-print-document h2 { font-size: 14pt; margin-top: 16pt; }
  .ja-print-document li { margin-bottom: 8pt; break-inside: avoid; }
  .ja-print-document .ja-signature { margin-top: 32pt; break-inside: avoid; }
}
