/* U32-A: P1 "Prepare the booked job" (visit-readiness.js): the visit's card and the store's booked-visits list. shop.css tokens. */
.vr-card[data-empty="1"], .vr-list[data-empty="1"], .vr-job[data-empty="1"] { display: none; }
.vr-card { display: grid; gap: 6px; margin: 10px 0; }
.vr-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; }
.vr-head h3 { margin: 0; font-size: 15px; }
.vr-missing { margin: 0; font-size: 13.5px; font-weight: 600; color: var(--bad, #b42318); }
.vr-note, .vr-checks, .vr-by, .vr-now { margin: 0; color: var(--ink-2); font-size: 12.5px; }
.vr-steps { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; }
.vr-step { padding: 8px 0; border-bottom: 1px solid var(--hair); display: grid; gap: 2px; }
.vr-step-h { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: baseline; font-size: 13.5px; }
.vr-words { margin: 0; font-size: 13.5px; overflow-wrap: anywhere; }
.vr-acts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.vr-acts button { min-height: 36px; }
.vr-msg { margin: 0; font-size: 13px; }
.vr-msg:empty { display: none; }
.vr-list { margin: 12px 0; }
.vr-day h3 { margin: 6px 0 4px; font-size: 14px; }
.vr-visits { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.vr-visits li { display: flex; flex-wrap: wrap; gap: 2px 8px; align-items: baseline; font-size: 13.5px; padding: 6px 0; border-bottom: 1px solid var(--hair); }
.vr-visits .vr-what { color: var(--ink-2); font-size: 12.5px; flex-basis: 100%; }
.vr-visits .vr-missing { flex-basis: 100%; font-size: 12.5px; }
.bays + .vr-list.band-panel, .vr-list.band-panel { margin: 12px 0 16px; }
