.vcr-wizard { --vcr-accent: var(--corp-brand-accent-bright, #b8926a); }
.vcr-q-hidden { display: none !important; }
.vcr-q-progress {
  font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  color: #64748b; margin-bottom: .75rem;
}
.vcr-q-card {
  border: 1px solid #e2e8f0; border-radius: .85rem; background: #fff;
  padding: 1.25rem 1.35rem; margin-bottom: 1rem; min-height: 12rem;
}
.vcr-q-title { font-size: 1.125rem; font-weight: 700; color: #1a1e24; margin: 0 0 .35rem; line-height: 1.35; }
.vcr-q-sub { font-size: .875rem; color: #64748b; margin: 0 0 1rem; }
.vcr-q-nav { display: flex; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.vcr-q-nav__end { display: flex; align-items: center; gap: .65rem; margin-left: auto; flex-wrap: wrap; }
.vcr-q-choices { display: grid; gap: .65rem; }
@media (min-width: 480px) { .vcr-q-choices { grid-template-columns: 1fr 1fr; } }
.vcr-q-choice {
  display: flex; flex-direction: column; align-items: flex-start; gap: .2rem;
  border: 2px solid #e2e8f0; border-radius: .75rem; background: #fafafa;
  padding: .85rem 1rem; cursor: pointer; text-align: left;
}
.vcr-q-choice.is-selected { border-color: var(--vcr-accent); background: #f8f3ea; }
.vcr-q-choice__label { font-size: .9375rem; font-weight: 800; color: #1a1e24; }
.vcr-q-choice__hint { font-size: .75rem; color: #64748b; }
.vcr-q-yn { display: flex; gap: .65rem; }
.vcr-q-yn-btn {
  flex: 1; border: 2px solid #e2e8f0; border-radius: .65rem; background: #fff;
  padding: .7rem 1rem; font-size: .9375rem; font-weight: 800; cursor: pointer;
}
.vcr-q-yn-btn.is-selected { border-color: var(--vcr-accent); background: #f8f3ea; color: #0f766e; }
.vcr-q-photos { margin-top: .75rem; }
.vcr-score-badge {
  display: inline-flex; align-items: baseline; gap: .35rem;
  border-radius: .75rem; border: 2px solid var(--vcr-accent);
  background: linear-gradient(180deg, #fff 0%, #f8f3ea 100%);
  padding: .65rem 1rem; font-weight: 800;
}
.vcr-score-badge__value { font-size: 1.75rem; line-height: 1; color: #1a1e24; }
.vcr-score-badge__max { font-size: .875rem; color: #64748b; }
.vcr-score-badge__band { font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--vcr-accent); }
.vcr-inop-btn {
  flex-shrink: 0;
  border-radius: .55rem;
  border: 1px solid #cbd5e1;
  background: #fff;
  color: #475569;
  padding: .55rem .85rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  cursor: pointer;
}
.vcr-inop-btn.is-active {
  border-color: #dc2626;
  background: #fef2f2;
  color: #b91c1c;
}
.vcr-inop-btn.is-pending {
  border-color: #dc2626;
  background: #f8f3ea;
  color: #8c6b3d;
}
.vcr-inop-diagnosis-panel[hidden] { display: none !important; }
.vcr-inop-diagnosis-panel {
  margin-bottom: 1rem;
  padding: .85rem 1rem;
  border-radius: .65rem;
  border: 1px solid #fecaca;
  background: #fff7f7;
}
.vcr-inop-diagnosis-panel__title {
  margin: 0 0 .65rem;
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #b91c1c;
}
.vcr-diagnosis-row {
  padding: .65rem 0;
  border-bottom: 1px solid #e2e8f0;
}
.vcr-diagnosis-row:last-of-type { border-bottom: 0; }
.vcr-diagnosis-readonly { list-style: disc; padding-left: 1.25rem; margin: 0; }
.vcr-diagnosis-readonly li + li { margin-top: .35rem; }
.vcr-panel__head .vcr-inop-btn { margin-left: auto; }
.vcr-yesno { border: 0; margin: 0; padding: 0; }
.vcr-yesno__legend {
  font-size: .875rem; font-weight: 600; color: #1a1e24; margin-bottom: .65rem; padding: 0;
}
.vcr-yesno__option {
  display: inline-flex; align-items: center; gap: .45rem;
  margin-right: 1rem; font-size: .875rem; color: #334155; cursor: pointer;
}
.vcr-yesno__option input { width: 1rem; height: 1rem; accent-color: var(--vcr-accent); }
.vcr-panel { border: 1px solid #e2e8f0; border-radius: .85rem; background: #fff; margin-bottom: 1rem; overflow: hidden; }
.vcr-panel__head {
  display: flex; align-items: center; justify-content: space-between; gap: .75rem;
  padding: .75rem 1rem; background: #f8fafc; border-bottom: 1px solid #e2e8f0;
  font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #475569;
}
.vcr-panel__body { padding: 1rem; }
.vcr-finding {
  display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .5rem;
  border: 1px solid #e2e8f0; border-radius: .65rem; padding: .65rem .85rem; margin-bottom: .5rem;
}
.vcr-finding__meta { font-size: .875rem; color: #1a1e24; }
.vcr-finding__pts { font-size: .75rem; font-weight: 800; color: #b45309; }
.vcr-finding__photos { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .35rem; }
.vcr-finding__photos img { width: 56px; height: 56px; object-fit: cover; border-radius: .35rem; border: 1px solid #cbd5e1; }
.vcr-modal {
  position: fixed; inset: 0; z-index: 80; display: none; align-items: flex-end; justify-content: center;
  background: rgba(26, 24, 22, .45); padding: 1rem;
}
.vcr-modal.is-open { display: flex; }
@media (min-width: 640px) { .vcr-modal { align-items: center; } }
.vcr-modal__sheet {
  width: 100%; max-width: 32rem; max-height: 90vh; overflow: auto;
  border-radius: 1rem; background: #fff; padding: 1.25rem; box-shadow: 0 25px 50px rgba(15,23,42,.2);
}
.vcr-field { margin-bottom: .85rem; }
.vcr-field label { display: block; font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #64748b; margin-bottom: .35rem; }
.vcr-field select, .vcr-field input, .vcr-field textarea {
  width: 100%; border-radius: .55rem; border: 1px solid #cbd5e1; padding: .55rem .65rem; font-size: .875rem;
}
.vcr-btn { border-radius: 999px; padding: .5rem 1rem; font-size: .8125rem; font-weight: 800; cursor: pointer; }
.vcr-btn--primary { background: var(--vcr-accent); color: #fff; border: none; }
.vcr-btn--ghost { background: #fff; border: 1px solid #cbd5e1; color: #334155; }
.vcr-mechanical { display: grid; gap: .5rem; }
@media (min-width: 640px) { .vcr-mechanical { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.vcr-check { display: flex; align-items: center; gap: .5rem; font-size: .875rem; }
.vcr-ratings { display: grid; gap: .65rem; }
@media (min-width: 640px) { .vcr-ratings { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.vcr-rating-row {
  display: flex; flex-direction: column; gap: .65rem;
  border: 1px solid #e2e8f0; border-radius: .65rem; padding: .65rem .75rem; background: #fafafa;
}
.vcr-rating-row__main { display: flex; flex-direction: column; gap: .35rem; }
.vcr-rating-row__label { font-size: .8125rem; font-weight: 600; color: #1a1e24; line-height: 1.3; }
.vcr-rating-row__select { width: 100%; border-radius: .55rem; border: 1px solid #cbd5e1; padding: .45rem .55rem; font-size: .8125rem; background: #fff; }
.vcr-rating-photos {
  display: grid; gap: .5rem;
  border-top: 1px dashed #e2e8f0; padding-top: .65rem;
}
@media (min-width: 640px) {
  .vcr-rating-row[data-rating-key="overall_condition"] .vcr-rating-photos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.vcr-rating-photo-slot {
  border: 1px solid #e2e8f0; border-radius: .55rem; padding: .5rem .6rem; background: #fff;
}
.vcr-rating-photo-slot.has-photo { border-color: #e7d3b0; background: #f8f3ea; }
.vcr-rating-photo-slot.is-uploading { opacity: .65; pointer-events: none; }
.vcr-rating-photo-slot__label {
  display: block; font-size: .68rem; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase; color: #64748b; margin-bottom: .35rem;
}
.vcr-rating-photo-preview { min-height: 2.5rem; margin-bottom: .35rem; }
.vcr-rating-photo-preview img {
  width: 72px; height: 72px; object-fit: cover; border-radius: .4rem; border: 1px solid #cbd5e1;
}
.vcr-rating-photo-upload { display: inline-block; cursor: pointer; }
.vcr-rating-photo-upload__btn { display: inline-flex; padding: .35rem .75rem; font-size: .75rem; }
/* Mobile: hide native picker behind "Add photo" button */
.vcr-q-rating-photo-input,
#vcr-q-parts-photo-input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .vcr-rating-photo-upload__btn { display: none; }
  .vcr-rating-photo-upload { display: block; cursor: default; }
  .vcr-q-rating-photo-input,
  #vcr-q-parts-photo-input {
    position: static;
    width: 100%;
    max-width: 100%;
    height: auto;
    opacity: 1;
    overflow: visible;
    font-size: .8125rem;
  }
}
.vcr-rating-photo-slot.needs-evidence { border-color: #fca5a5; background: #fff7f7; }
.vcr-rating-photo-slot.needs-evidence .vcr-rating-photo-slot__label::after {
  content: " *"; color: #dc2626;
}
.vcr-rating-notes { border-top: 1px dashed #e2e8f0; padding-top: .55rem; margin-top: .15rem; }
.vcr-rating-notes__label {
  display: flex; flex-wrap: wrap; align-items: center; gap: .35rem;
  font-size: .68rem; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase; color: #64748b; margin-bottom: .35rem;
}
.vcr-evidence-required-tag {
  font-size: .62rem; font-weight: 800; color: #dc2626;
  text-transform: uppercase; letter-spacing: .04em;
}
.vcr-evidence-optional-tag {
  font-size: .62rem; font-weight: 700; color: #94a3b8;
  text-transform: uppercase; letter-spacing: .04em;
}
.vcr-rating-row.needs-evidence { border-color: #fca5a5; }
.vcr-rating-row.needs-evidence .vcr-evidence-optional-tag { display: none; }
.vcr-rating-row:not(.needs-evidence) .vcr-evidence-required-tag { display: none; }
.vcr-rating-notes-input {
  width: 100%; border-radius: .55rem; border: 1px solid #cbd5e1;
  padding: .5rem .6rem; font-size: .8125rem; resize: vertical;
}
.vcr-rating-row.needs-evidence .vcr-rating-notes-input:not(:focus):placeholder-shown {
  border-color: #fca5a5;
}
.vcr-rating-photo-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.vcr-custom-damage-form { border-top: 1px dashed #e2e8f0; padding-top: 1rem; }
