.fa-register-wrap, .fa-download-wrap { max-width: 520px; margin: 0 auto; padding: 24px; }
.fa-field { margin-bottom: 16px; }
.fa-field label { display: block; font-weight: 600; margin-bottom: 4px; }
.fa-field input[type=text], .fa-field input[type=email] { width: 100%; padding: 10px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 16px; box-sizing: border-box; }
.fa-consent { display: flex; align-items: flex-start; gap: 8px; }
.fa-btn { display: inline-block; background: #2563eb; color: #fff; padding: 12px 28px; border: none; border-radius: 8px; font-size: 16px; font-weight: 600; cursor: pointer; text-decoration: none; }
.fa-btn:hover { background: #1d4ed8; }
.fa-btn-release { background: #059669; margin-right: 12px; }
.fa-btn-delete  { background: #dc2626; }
.fa-code-display {
  display: block !important;
  background: #111 !important;
  color: #fff !important;
  font-family: "Courier New", Courier, "Lucida Console", monospace !important;
  font-size: clamp(36px, 11vw, 80px) !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  line-height: 1.3 !important;
  text-align: center !important;
  padding: 28px 20px !important;
  border-radius: 16px !important;
  margin: 24px 0 !important;
  word-break: break-all !important;
  font-style: normal !important;
  text-transform: uppercase !important;
}
.fa-code-hint { font-size: 14px; color: #666; text-align: center; }
.fa-error { color: #dc2626; font-size: 14px; margin-bottom: 12px; }
.fa-photo-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap: 16px; margin: 16px 0; }
.fa-photo-grid img { width: 100%; border-radius: 8px; aspect-ratio: 1; object-fit: cover; }
