/* U4-A: the job's Parties card (visit-parties.js). Uses the shop.css tokens. */
.vp-row { padding: 8px 0; border-bottom: 1px solid var(--hair); }
.vp-row:last-of-type { border-bottom: 0; }
.vp-who { margin: 0; font-size: 14px; display: flex; flex-wrap: wrap; gap: 2px 8px; align-items: baseline; }
.vp-label { color: var(--ink-2); font-size: 12.5px; min-width: 120px; }
.vp-limit { color: var(--ink-2); font-size: 13px; }
.vp-signers { margin: 4px 0 0; padding-left: 18px; font-size: 13.5px; }
.vp-src, .vp-sees { margin: 2px 0 0; color: var(--ink-2); font-size: 12.5px; }
.vp-rule { margin: 8px 0 0; color: var(--ink-2); font-size: 12.5px; }
.vp-edit { margin-top: 6px; font-size: 13px; }
.vp-form { display: grid; gap: 6px; margin-top: 6px; }
.vp-form select, .vp-form input { min-height: 34px; font-size: 14px; width: 100%; box-sizing: border-box; }
.vp-form button { justify-self: start; }
.vp-msg { margin: 4px 0 0; font-size: 13px; }
.vp-msg:empty { display: none; }
.vp-signed { margin: 0 0 6px; font-size: 13.5px; }
/* U36-B g (472): the driver's pickup status page, under the Driver row */
.vp-ds { margin-top: 8px; padding: 8px 10px; border-radius: 10px; background: var(--bg-2, rgba(0,0,0,.03)); font-size: 13px; }
.vp-ds p { margin: 2px 0; }
.vp-ds-list { margin: 6px 0 0; padding-left: 18px; }
.vp-ds-link { margin: 2px 0; overflow-wrap: anywhere; }
.vp-ds-why { color: var(--ink-2); }
.vp-ds-new { margin: 6px 0; }
.vp-ds-copy { display: flex; gap: 6px; }
.vp-ds-copy input { flex: 1; min-width: 0; min-height: 34px; font-size: 13px; }
.vp-check { display: flex; gap: 6px; align-items: center; }
.vp-check input { width: auto; min-height: 0; }
