[data-registration-wizard] [hidden], [data-registration-management] [hidden] { display: none !important; }
[data-registration-wizard] { min-width: 0; }
.registration-wizard-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin: 20px 0 12px; }
.registration-wizard-steps button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 54px; padding: 10px 8px; border: 1px solid #d9e2ec; border-radius: 6px; background: #f7f9fc; color: #354b63; font: inherit; font-size: 14px; cursor: pointer; }
.registration-wizard-steps button span { display: inline-grid; place-items: center; flex: 0 0 24px; height: 24px; border-radius: 50%; background: #e7edf4; font-size: 13px; }
.registration-wizard-steps button[aria-current="step"] { color: #fff; background: #176aad; border-color: #176aad; font-weight: 700; }
.registration-wizard-steps button[aria-current="step"] span { background: #fff; color: #176aad; }
.registration-wizard-steps button:focus-visible, .registration-management-tabs button:focus-visible { outline: 3px solid #f4a33b; outline-offset: 2px; }
.registration-wizard-progress { color: #52677d; font-size: 14px; margin: 12px 0 20px; }
.registration-wizard-error { padding: 12px 16px; border: 1px solid #db8990; border-radius: 6px; color: #982932; background: #fff2f3; margin-bottom: 16px; }
[data-registration-editor-panel] { min-width: 0; margin-top: 0; }
[data-registration-editor-panel] .admin-section-title h4 { font-size: 20px; color: #173a57; }
[data-registration-wizard] .admin-editor-meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
[data-registration-wizard] .field { min-width: 0; }
[data-registration-wizard] .field input, [data-registration-wizard] .field select, [data-registration-wizard] .field textarea { max-width: 100%; min-width: 0; }
.registration-capacity-note { margin: 0; padding: 10px 0; font-weight: 600; color: #244962; }
.registration-routing-settings { padding: 16px; margin: 14px 0 20px; border: 1px solid #c5dbea; border-radius: 6px; background: #f3f8fd; }
.registration-wizard-actions { display: flex; align-items: center; gap: 12px; padding-top: 20px; margin-top: 24px; border-top: 1px solid #dce5ee; }
.registration-wizard-save-hint { flex: 1; color: #65758a; font-size: 13px; }
.registration-review-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 28px; margin: 16px 0 26px; }
.registration-review-summary > div { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid #e4eaf0; }
.registration-review-summary dt { color: #627489; font-size: 14px; }
.registration-review-summary dd { margin: 0; color: #213b50; overflow-wrap: anywhere; }
.registration-form-preview { border: 1px solid #d8e2ec; padding: 22px; border-radius: 6px; background: #f9fbfd; }
.registration-form-preview h4 { margin: 0 0 8px; }
[data-registration-form-preview] { display: grid; gap: 18px; margin-top: 18px; max-width: 760px; }
.registration-save-note, .registration-scope-note { line-height: 1.7; color: #586d80; }
.registration-save-note { margin: 24px 0 14px; }
.registration-preview-error { color: #982932; }
.registration-management-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.registration-management-tabs button { background: #fff; color: #244962; border: 1px solid #d4dfe9; border-radius: 6px; padding: 12px 18px; cursor: pointer; font: inherit; }
.registration-management-tabs button[aria-pressed="true"] { background: #e8f2fb; color: #125b95; border-color: #7cacd1; font-weight: 700; }
[data-registration-wizard] .registration-field-row { grid-template-columns: 30px minmax(150px,1fr) minmax(170px,1fr); align-items: start; gap: 12px; padding: 18px; }
[data-registration-wizard] .registration-field-row > [data-registration-simple-options] { grid-column: 2 / -1; }
[data-registration-wizard] .registration-field-checks { grid-column: 2; }
[data-registration-wizard] .registration-field-actions { justify-content: flex-end; }
[data-registration-wizard] .registration-cascade-config { grid-column: 2 / -1; min-width: 0; }
[data-registration-wizard] .registration-field-add { display: flex; gap: 8px; flex-wrap: wrap; }
[data-registration-wizard] .registration-field-add select { max-width: 100%; }
.portal-shared-editor-main [data-registration-wizard] { max-width: 1200px; margin: auto; }
@media (max-width: 900px) {
  .registration-wizard-steps { grid-template-columns: repeat(3,minmax(0,1fr)); }
  [data-registration-wizard] .topic-admin-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media (max-width: 600px) {
  .registration-wizard-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; }
  .registration-wizard-steps button { justify-content: flex-start; min-height: 48px; font-size: 13px; }
  [data-registration-wizard] .admin-editor-meta, .registration-review-summary { grid-template-columns: minmax(0,1fr); }
  .registration-review-summary > div { grid-template-columns: 85px minmax(0,1fr); }
  [data-registration-wizard] .registration-field-row { grid-template-columns: minmax(0,1fr); padding: 14px; }
  [data-registration-wizard] .registration-field-row > * { grid-column: 1 !important; }
  [data-registration-wizard] .registration-field-actions { justify-content: flex-start; }
  [data-registration-wizard] .registration-field-add { width: 100%; }
  [data-registration-wizard] .registration-field-add select { width: 100%; }
  .registration-form-preview { padding: 14px; }
  .registration-wizard-actions { flex-wrap: wrap; }
  .registration-wizard-save-hint { flex: auto; }
}
