.fi-heading { margin-bottom: 16px; }
.fi-heading p, .fi-card-head p { margin-top: 5px; font-size: .875rem; line-height: 1.5; color: var(--muted, #6b5c63); }
#invite-sharing { scroll-margin-top: 80px; }
.fi-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; max-width: 740px; margin-bottom: 14px; }
.fi-tabs .btn { min-width: 0; min-height: 44px; padding-inline: 8px; white-space: normal; line-height: 1.25; }
.fi-detail { max-width: 740px; min-width: 0; }
.fi-partner { --fi-tint: #f8f0e4; --fi-accent: #87502a; }
.fi-member { --fi-tint: #f9edf1; --fi-accent: #923e60; }
.fi-card { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: 14px; }
.fi-card-head { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.fi-symbol { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--fi-tint); color: var(--fi-accent); }
.fi-field { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 8px; margin-top: 9px; }
.fi-field label { min-width: 0; font-size: .8125rem; }
.fi-field input { width: 100%; margin-top: 4px; padding: 8px; min-height: 40px; font-size: .875rem; text-overflow: ellipsis; }
.fi-field .btn, .fi-save-qr { min-height: 40px; white-space: nowrap; }
.fi-save-qr { margin-top: 12px; }
.fi-poster-body { padding-block: 12px; }
.fi-poster { width: min(100%, 340px); width: min(100%, 340px, 53svh); margin-inline: auto; text-align: center; border-radius: 16px; background: var(--fi-tint, #f5ecee); }
.fi-poster [data-fi-poster-fallback] { padding: 16px; color: var(--fi-accent); }
.fi-poster-role { font-size: .8125rem; margin-bottom: 4px; }
.fi-poster-headline { margin-top: 9px; font-weight: 600; }
.fi-poster-code { display: block; width: min(100%, 232px); height: auto; margin: 8px auto; background: #fff; }
.fi-poster-image { display: block; width: 100%; height: auto; border-radius: inherit; }
.fi-poster-status { margin-top: 9px; font-size: .8125rem; text-align: center; }
.fi-poster-actions { justify-content: center; padding-block: 10px; }
@media (max-width: 480px) {
  .fi-card { padding: 12px; }
  .fi-field .btn, .fi-save-qr { min-height: 44px; padding-inline: 10px; }
  .fi-field input { min-height: 44px; }
}
@media (max-width: 380px) {
  .psych-share .fi-field { grid-template-columns: minmax(0, 1fr); }
  .psych-share .fi-field .btn { justify-self: start; }
}
