/* Paperwork and records: agreements, lien waivers, photos, ratings (slice 3). */
@layer components {
  .signature-checklist { list-style: none; padding: 0; display: grid; gap: var(--space-1); }
  .signature-checklist li::before { content: "○ "; color: var(--color-muted); }
  .signature-checklist li.is-done::before { content: "✓ "; color: var(--color-success); }

  .document-links { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); padding: 0; list-style: none; margin-block: var(--space-3); }

  .photo-grid { display: grid; gap: var(--space-2); grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr)); margin-block: var(--space-2) var(--space-4); }
  .photo-grid figure { margin: 0; }
  .photo-grid img { inline-size: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); }
  .photo-grid figcaption { font-size: 0.8rem; }
  .photo-form { margin-block-start: var(--space-4); padding-block-start: var(--space-4); border-block-start: 1px solid var(--color-line); }

  .stars { color: var(--color-warning); letter-spacing: 0.1em; }
  .rating__overall { font-size: 1.25rem; margin: 0 0 var(--space-2); }
  .rating__reply { padding: var(--space-3); border-inline-start: 3px solid var(--color-line); margin-block: var(--space-3); }

  .score-field { border: 0; padding: 0; margin: 0; }
  .score-choices { display: flex; gap: var(--space-2); }
  .score-choice { position: relative; display: grid; place-items: center; min-inline-size: var(--tap); min-block-size: var(--tap);
    border: 1px solid var(--color-line); border-radius: var(--radius); cursor: pointer; }
  .score-choice input { position: absolute; opacity: 0; }
  .score-choice:has(input:checked) { background: var(--color-ink); color: var(--color-surface); border-color: var(--color-ink); }
  .score-choice:has(input:focus-visible) { outline: 2px solid var(--color-ink); outline-offset: 2px; }

  .unit-filter { max-inline-size: 20rem; margin-block-end: var(--space-4); }
  .esign-form .checkbox span { font-size: 0.95rem; }
}
