.registration-page { max-width: 720px; padding: 24px 16px 60px; margin: 0 auto; }
.registration-page header { margin-bottom: 28px; }
.registration-page h1 { font-size: 2rem; line-height: 1.2; margin: 16px 0; }
.registration-page header p { margin-bottom: 14px; }
.registration-page form, .registration-review form { display: grid; gap: 18px; }
.registration-page fieldset, .registration-review fieldset { border: 1px solid var(--color-border, #ddd); border-radius: 12px; padding: 18px; margin: 0; min-width: 0; background: white; }
.registration-page legend, .registration-review legend { font-weight: 600; padding: 0 6px; }
.registration-fields { display: grid; gap: 16px; }
.registration-page label, .registration-review label { display: block; font-size: .9rem; }
.registration-page input, .registration-review input, .registration-review textarea { margin-top: 6px; min-width: 0; font-size: 16px; }
.registration-page input[readonly], .registration-review input[readonly] { background: #f3f2ef; }
.registration-page .btn, .registration-review .btn { min-height: 44px; white-space: normal; }
.registration-page [hidden], .registration-review [hidden] { display: none !important; }
.registration-help { font-size: .85rem; color: var(--color-text-muted, #666); line-height: 1.6; margin: 10px 0; }
.registration-feedback { color: #973333; white-space: pre-wrap; }
.registration-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.registration-reference { overflow-wrap: anywhere; font-family: monospace; padding: 16px; background: #f3f2ef; }
[data-children] { display: grid; gap: 16px; }
[data-remove-person] { margin-top: 16px; }
.registration-cards { display: grid; gap: 16px; margin-top: 20px; }
.registration-review .card { margin: 0; overflow-wrap: anywhere; }
.registration-review .card p { margin: 10px 0; }
.registration-review .card button { width: 100%; margin-top: 12px; }
.registration-review form { max-width: 760px; margin-top: 24px; }
.registration-review .registration-actions { display: grid; gap: 12px; }
.registration-review .registration-warning { background: #fff5df; color: #7d571e; padding: 14px; border-radius: 8px; margin: 16px 0; }
.registration-review summary { cursor: pointer; padding: 12px 0; }
@media (min-width: 640px) { .registration-fields { grid-template-columns: repeat(2, minmax(0,1fr)); } .registration-fields > label:first-child { grid-column: 1 / -1; } .registration-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } .registration-review .registration-actions { grid-template-columns: repeat(2,minmax(0,1fr)); } }

#registration-public-fields { display: grid; gap: 18px; }
