.registration-main { padding-top: 20px; }
.registration-container { width: 100%; max-width: 700px; }
.registration-card { padding: 32px 40px; }
.registration-card .card-heading { margin-bottom: 30px; }
.registration-grid, .conditional-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; }
.registration-grid .field-group { min-width: 0; margin: 0; }
.registration-grid .field-wide, .conditional-fields, .registration-actions { grid-column: 1 / -1; }
.registration-grid > div { min-width: 0; }
.registration-grid label { line-height: 1.5; }
.registration-grid input, .registration-grid select { font: inherit; font-size: 14px; }
.registration-grid select { display: block; width: 100%; min-height: 50px; padding: 12px; border: 1px solid #d7dae0; border-radius: 7px; background: #fff; color: var(--ink); }
.registration-grid select:focus { outline: 2px solid var(--brand-color); outline-offset: 2px; border-color: var(--brand-color); }
.registration-grid [aria-invalid="true"] { border-color: #a02339; }
.registration-actions { margin-top: 8px; }
.registration-actions .register-prompt { margin-top: 24px; padding-top: 22px; }
.datepicker { font-family: inherit; background: #fff; border: 1px solid #d7dae0; border-radius: 7px; padding: 8px; box-shadow: 0 8px 24px #25283220; }
.datepicker.dropdown-menu { position: absolute; z-index: 1000; display: none; }
.datepicker table { border-collapse: collapse; }
.datepicker td, .datepicker th { padding: 6px; cursor: pointer; }
@media (max-width: 600px) {
    .registration-card { padding: 28px 24px; }
    .registration-grid, .conditional-fields { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .registration-grid input, .registration-grid select { font-size: 16px; }
}
@media (max-width: 360px) { .registration-card { padding-right: 20px; padding-left: 20px; } }
