/**
 * @file guest-affiliations.css
 * @description Editor de vínculos do convidado (instituições com cargo e comunidades), na gestão e
 * no Portal (09/11/2026). Linhas empilham no celular.
 */
.guest-affiliations { display: grid; gap: 1.25rem; }
.aff-section__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: .5rem; margin-bottom: .5rem; }
.aff-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.aff-row { display: flex; align-items: flex-start; gap: .75rem; padding: .65rem .75rem; border: 1px solid var(--app-border, #dee2e6); border-radius: var(--app-radius, .5rem); background: var(--app-surface-raised, #fff); }
.aff-row:has([data-aff-primary]:checked) { border-color: var(--app-primary, #0d6efd); box-shadow: inset 3px 0 0 var(--app-primary, #0d6efd); }
.aff-row--invalid { border-color: var(--app-danger, #dc3545) !important; }
.aff-primary { display: flex; flex-direction: column; align-items: center; gap: .15rem; font-size: .72rem; font-weight: 600; color: var(--app-text-muted, #6c757d); padding-top: 1.6rem; min-width: 3.5rem; cursor: pointer; }
.aff-fields { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: .5rem; }
.aff-field { min-width: 0; }
.aff-field--full { grid-column: 1 / -1; }
.aff-remove { margin-top: 1.6rem; flex: 0 0 auto; }
.aff-empty { margin: .25rem 0 0; }
.aff-footer { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; border-top: 1px solid var(--app-border, #dee2e6); padding-top: .75rem; }
@media (max-width: 767.98px) {
  .aff-row { flex-wrap: wrap; position: relative; padding-right: 3rem; }
  .aff-fields { grid-template-columns: 1fr; width: 100%; order: 2; }
  .aff-primary { flex-direction: row; padding-top: 0; order: 1; }
  .aff-remove { position: absolute; top: .5rem; right: .5rem; margin-top: 0; }
}
