/* Public-form additions. Keep the source retreat's palette, spacing and cards. */
.preview-notice { margin-top: 28px; }
.airport-bus-panel { margin-top: 26px; padding: 26px; border: 1px solid #b4d7cd; border-radius: 18px; background: #edf7f3; }
.bus-details { margin-top: 24px; }
.field input[readonly] { color: var(--ink-soft); background: #eef2ef; cursor: default; }
.field small { display: block; line-height: 1.5; }
.choice-pill { position: relative; }
.choice-pill input { inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; }
.field:has([aria-invalid="true"]) > input,
.field:has([aria-invalid="true"]) > select { border-color: var(--danger); }
.field-error { color: var(--danger); font-weight: 600; }
.form-submit .button:disabled { cursor: not-allowed; }
.child-card .form-grid { align-items: start; }
.legacy-lookup-panel { margin: 28px 0 8px; padding: 24px; border: 1px solid #b4d7cd; border-radius: 18px; background: #edf7f3; }
.legacy-lookup-panel h3 { margin: 0 0 8px; color: var(--ink); font-size: 1.05rem; }
.legacy-lookup-panel > p { margin: 0 0 18px; color: var(--ink-soft); font-size: .88rem; line-height: 1.6; }
.legacy-lookup-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; }
.legacy-lookup-panel .legacy-lookup-notice { margin: 16px 0 0; font-size: .82rem; }
.legacy-lookup-status:not(:empty) { margin-top: 18px; padding: 16px; border-radius: 11px; background: var(--white); color: var(--ink); font-size: .86rem; line-height: 1.6; }
.legacy-lookup-status[data-state="error"] { color: var(--danger); }
.legacy-lookup-status p { margin: 0; }
.legacy-lookup-status ul { margin: 10px 0 0; padding-left: 20px; }
.legacy-lookup-panel button:disabled { cursor: not-allowed; opacity: .65; }
.church-table-hint { display: none; }
.participant-shell .table-scroll { overscroll-behavior-x: contain; }
.participant-shell .table-scroll:focus-visible { outline: 3px solid rgba(31,122,120,.25); outline-offset: 3px; }
.cycle-overview { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 2px; }
.cycle-info { padding: 22px; border: 1px solid #b4d7cd; border-radius: 16px; background: #edf7f3; }
.cycle-info--second { border-color: #ead7cd; background: #fff7f2; }
.cycle-info h3 { margin: 0 0 9px; color: var(--teal); font-size: .95rem; font-weight: 800; }
.cycle-info--second h3 { color: var(--coral-dark); }
.cycle-info p { margin: 0; overflow-wrap: anywhere; }
.cycle-info__dates { color: var(--ink); font-size: 1.1rem; font-weight: 800; line-height: 1.4; }
.cycle-info .cycle-info__churches { margin-top: 13px; color: var(--ink); font-size: .86rem; line-height: 1.6; }
.cycle-info .cycle-info__districts { margin-top: 6px; color: var(--ink-soft); font-size: .82rem; font-weight: 650; line-height: 1.5; }
@media (max-width: 600px) {
    .church-table-hint { display: block; margin: 0 0 10px; color: var(--ink-soft); font-size: .8rem; line-height: 1.5; }
    .legacy-lookup-panel { padding: 20px 16px; }
    .legacy-lookup-controls { grid-template-columns: 1fr; gap: 12px; }
    .legacy-lookup-controls .button { width: 100%; }
    .cycle-overview { grid-template-columns: 1fr; }
    .cycle-info { padding: 20px; }
    .airport-bus-panel { padding: 20px 16px; }
    .child-card__header { gap: 12px; }
    .form-submit .button { white-space: normal; }
}
