/* formrender.css: kit lane K7, form renderer partials (forms/...). Tokens only, mobile first, no print styles (the PDF is the printout). */
.fr-section { margin: 0 0 var(--space-5); }
.fr-section[hidden] { display: none; }
.fr-section-title { font-size: var(--fs-4); margin: 0 0 var(--space-3); color: var(--ink); }
.fr-heading { font-size: var(--fs-3); margin: var(--space-3) 0 var(--space-2); color: var(--ink); }
.fr-text { margin: 0 0 var(--space-3); color: var(--ink); line-height: 1.5; }
.fr-list { margin: 0 0 var(--space-3); padding-left: var(--space-5); line-height: 1.5; }
.fr-list li { margin-bottom: var(--space-1); }
.fr-group { border: 0; padding: 0; margin: 0; min-width: 0; }
.fr-group > legend { font-weight: 600; color: var(--ink); padding: 0; margin-bottom: var(--space-2); }
.fr-check-cols { display: grid; grid-template-columns: 1fr; gap: var(--space-2) var(--space-5); }
.fr-check-item { display: grid; gap: var(--space-1); align-content: start; }
.fr-pair-label { font-weight: 500; color: var(--ink); }
.fr-pair { display: inline-flex; gap: var(--space-4); }
.fr-extra { display: grid; }
.fr-qty { max-width: 6rem; }
.fr-signature-img { display: block; max-width: 100%; height: auto; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.fr-repeater { display: grid; gap: var(--space-3); }
.fr-row { display: grid; gap: var(--space-2); padding: var(--space-3); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.fr-row .field { margin-bottom: 0; }
.fr-row > button { justify-self: start; }
.fr-clinic-block { display: grid; gap: 0 var(--space-4); }
.fr-block-title { font-size: var(--fs-3); margin: 0 0 var(--space-2); color: var(--ink); }
.fr-calc:empty { display: none; }
.fr-calc { padding: var(--space-3); border-radius: var(--radius-md); background: var(--surface-2); margin-bottom: var(--space-4); }
.fr-buttons { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
.fr-field .input-wrap { display: flex; align-items: center; gap: var(--space-2); }
.fr-field .input-wrap input { flex: 1; min-width: 0; }
@media (min-width: 640px) {
  .fr-check-cols { grid-template-columns: repeat(2, 1fr); }
  .fr-clinic-block { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
  .fr-check-cols { grid-template-columns: repeat(3, 1fr); }
}

/* R6 (SRR-05). */
.fr-checkgroup { min-width: 0; }
.fr-row-add { margin-top: var(--space-2); }
.fr-signature { min-width: 0; }
