/**
 * EvenLabs
 * Estilos de componentes reutilizables del panel administrativo.
 */

.datatable-wrapper {
    border: 1px solid var(--evenlabs-border);
    border-radius: var(--evenlabs-radius);
    overflow: auto;
}

.datatable-wrapper .kt-table {
    margin: 0;
    width: 100%;
}

.datatable-empty {
    color: var(--evenlabs-muted);
    padding: 32px 24px;
    text-align: center;
}

.table-actions {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}

.inline-form {
    display: inline-flex;
    margin: 0;
}

.form-field.has-error .kt-input,
.form-field.has-error .kt-select {
    border-color: var(--evenlabs-error);
}

.form-error {
    color: var(--evenlabs-error);
    font-weight: 700;
}

.form-field--checkbox small {
    display: block;
    margin-left: 26px;
}

.badge-active,
.badge-success {
    background: var(--evenlabs-success-bg);
    color: var(--evenlabs-success);
}

.badge-inactive,
.badge-draft,
.badge-archived {
    background: #EEF2F7;
    color: var(--evenlabs-muted);
}

.badge-blocked,
.badge-suspended,
.badge-revoked,
.badge-closed {
    background: var(--evenlabs-error-bg);
    color: var(--evenlabs-error);
}

.badge-pending,
.badge-warning {
    background: var(--evenlabs-warning-bg);
    color: #B76B00;
}

.btn-danger {
    align-items: center;
    background: var(--evenlabs-error);
    border: 1px solid var(--evenlabs-error);
    border-radius: 10px;
    color: #FFFFFF;
    cursor: pointer;
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 40px;
    padding: 9px 16px;
    text-decoration: none;
}

.evenlabs-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 24px;
    position: fixed;
    z-index: 100;
}

.evenlabs-modal[hidden] {
    display: none;
}

.evenlabs-modal__backdrop {
    background: rgba(7, 18, 47, .48);
    inset: 0;
    position: absolute;
}

.evenlabs-modal__dialog {
    background: #FFFFFF;
    border: 1px solid var(--evenlabs-border);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(7, 18, 47, .18);
    max-width: 460px;
    padding: 28px;
    position: relative;
    width: min(100%, 460px);
}

.evenlabs-modal__dialog h2 {
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 10px;
}

.evenlabs-modal__dialog p {
    color: var(--evenlabs-muted);
    margin-bottom: 24px;
}

.evenlabs-modal__actions {
    display: flex;
    gap: 12px;
    justify-content: flex-end;
}

.registration-builder {
    display: block;
}

.registration-builder__toolbar {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 18px;
    padding: 20px;
}

.registration-builder__actions {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.registration-builder__mode {
    display: grid;
    gap: 6px;
    min-width: 190px;
}

.registration-builder__mode span,
.registration-builder__section-label {
    color: var(--evenlabs-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    margin: 18px 0 10px;
    text-transform: uppercase;
}

.registration-builder__grid {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(220px, 280px) minmax(420px, 1fr) minmax(280px, 360px);
}

.registration-builder__palette,
.registration-builder__properties {
    position: sticky;
    top: 88px;
}

.registration-builder__palette-list {
    display: grid;
    gap: 8px;
}

.registration-builder__palette-item {
    align-items: center;
    background: #FFFFFF;
    border: 1px solid var(--evenlabs-border);
    border-radius: 12px;
    color: var(--evenlabs-text);
    cursor: pointer;
    display: flex;
    font-weight: 800;
    gap: 10px;
    padding: 11px 12px;
    text-align: left;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.registration-builder__palette-item:hover {
    border-color: var(--evenlabs-primary);
    box-shadow: 0 8px 22px rgba(30, 123, 255, .12);
    transform: translateY(-1px);
}

.registration-builder__canvas-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

.registration-builder__steps {
    display: grid;
    gap: 16px;
}

.registration-builder__step {
    background: #F8FAFC;
    border: 1px solid var(--evenlabs-border);
    border-radius: 18px;
    padding: 14px;
}

.registration-builder__step--ghost,
.registration-builder__field--ghost {
    opacity: .42;
}

.registration-builder__step-header {
    align-items: center;
    display: flex;
    gap: 12px;
    margin-bottom: 12px;
}

.registration-builder__step-title {
    display: grid;
    flex: 1;
    gap: 2px;
}

.registration-builder__step-title strong {
    font-size: 16px;
}

.registration-builder__step-title span {
    color: var(--evenlabs-muted);
    font-size: 12px;
    font-weight: 700;
}

.registration-builder__step-labels {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 12px;
}

.registration-builder__dropzone {
    background: #FFFFFF;
    border: 1px dashed #CBD5E1;
    border-radius: 14px;
    display: grid;
    gap: 10px;
    min-height: 130px;
    padding: 12px;
}

.registration-builder__dropzone:empty::before {
    align-items: center;
    color: var(--evenlabs-muted);
    content: 'Arrastra o añade campos desde la columna izquierda';
    display: flex;
    font-weight: 700;
    justify-content: center;
    min-height: 100px;
    text-align: center;
}

.registration-builder__field {
    align-items: center;
    background: #FFFFFF;
    border: 1px solid var(--evenlabs-border);
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
    cursor: pointer;
    display: flex;
    gap: 12px;
    padding: 13px;
}

.registration-builder__field.is-selected {
    border-color: var(--evenlabs-primary);
    box-shadow: 0 0 0 3px rgba(30, 123, 255, .12);
}

.registration-builder__drag-handle {
    color: #94A3B8;
    cursor: grab;
    font-weight: 900;
    letter-spacing: -4px;
}

.registration-builder__field-main {
    display: grid;
    flex: 1;
    gap: 2px;
}

.registration-builder__field-main small {
    color: var(--evenlabs-muted);
    font-weight: 700;
}

.registration-builder__field-remove {
    align-items: center;
    background: #FFF1F2;
    border: 0;
    border-radius: 999px;
    color: var(--evenlabs-error);
    cursor: pointer;
    display: inline-flex;
    font-size: 18px;
    font-weight: 900;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.registration-builder__properties-form,
.registration-builder__language-tabs,
.registration-builder__condition-editor,
.registration-builder__options-editor {
    display: grid;
    gap: 12px;
}

.registration-builder__language-tabs fieldset {
    border: 1px solid var(--evenlabs-border);
    border-radius: 14px;
    display: grid;
    gap: 10px;
    padding: 12px;
}

.registration-builder__language-tabs legend {
    font-weight: 900;
    padding: 0 6px;
}

.registration-builder__option-row {
    align-items: center;
    display: grid;
    gap: 8px;
    grid-template-columns: 24px 1fr 1fr auto;
    margin-bottom: 8px;
}

.btn-sm {
    min-height: 32px;
    padding: 6px 10px;
}

@media (max-width: 1280px) {
    .registration-builder__grid {
        grid-template-columns: 1fr;
    }

    .registration-builder__palette,
    .registration-builder__properties {
        position: static;
    }
}

.app-sidebar__submenu {
    display: grid;
    gap: 4px;
    margin: 4px 0 8px 42px;
}

.app-sidebar__sublink {
    align-items: center;
    border-radius: 10px;
    color: var(--evenlabs-muted);
    display: flex;
    font-size: 13px;
    font-weight: 800;
    gap: 8px;
    padding: 8px 10px;
    text-decoration: none;
}

.app-sidebar__sublink:hover,
.app-sidebar__sublink.is-active {
    background: rgba(30, 123, 255, .10);
    color: var(--evenlabs-primary);
}

.app-sidebar__subicon {
    align-items: center;
    display: inline-flex;
    font-size: 14px;
    width: 16px;
}

/* Registration form builder refinements: compact Metronic-compatible controls and reliable DnD affordances. */
.registration-builder {
    --builder-gap: 20px;
    --builder-control-height: 40px;
    color: #252F4A;
    font-size: 14px;
}

.registration-builder .kt-card {
    overflow: hidden;
}

.registration-builder .kt-card-header {
    padding: 18px 20px;
}

.registration-builder .kt-card-body {
    padding: 18px 20px 20px;
}

.registration-builder .kt-card-title {
    font-size: 17px;
    line-height: 1.25;
    margin: 0 0 4px;
}

.registration-builder .text-muted {
    font-size: 13px;
    line-height: 1.45;
    margin: 0;
}

.registration-builder__toolbar {
    border: 1px solid var(--evenlabs-border);
    box-shadow: var(--evenlabs-shadow);
    gap: 16px;
}

.registration-builder__grid {
    align-items: start;
    gap: var(--builder-gap);
    grid-template-columns: minmax(240px, 300px) minmax(460px, 1fr) minmax(300px, 380px);
}

.registration-builder__palette,
.registration-builder__canvas,
.registration-builder__properties {
    border: 1px solid var(--evenlabs-border);
    box-shadow: 0 12px 30px rgba(7, 18, 47, .055);
}

.registration-builder__palette,
.registration-builder__properties {
    max-height: calc(100vh - 118px);
    overflow: auto;
    top: 86px;
}

.registration-builder__section-label {
    align-items: center;
    color: #6B7280;
    display: flex;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.2;
    margin: 18px 0 10px;
    text-transform: uppercase;
}

.registration-builder__section-label:first-child {
    margin-top: 0;
}

.registration-builder__palette-list {
    gap: 10px;
}

.registration-builder__palette-item {
    border-color: #E1E7F0;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    min-height: 42px;
    padding: 10px 12px;
    user-select: none;
}

.registration-builder__palette-item > i {
    color: var(--evenlabs-primary);
    font-size: 17px;
}

.registration-builder__palette-item.is-dragging,
.registration-builder__field.is-dragging,
.registration-builder__step.is-dragging {
    opacity: .42;
}

.registration-builder__steps {
    gap: 18px;
}

.registration-builder__step {
    background: #F8FAFC;
    border-color: #DDE5F1;
    border-radius: 18px;
    padding: 16px;
}

.registration-builder__step-header {
    background: #FFFFFF;
    border: 1px solid #E3E8F2;
    border-radius: 14px;
    margin-bottom: 14px;
    padding: 12px 14px;
}

.registration-builder__step-handle,
.registration-builder__drag-handle {
    align-items: center;
    border-radius: 9px;
    color: #7B8AA0;
    cursor: grab;
    display: inline-flex;
    flex: 0 0 28px;
    height: 28px;
    justify-content: center;
    letter-spacing: 0;
    width: 28px;
}

.registration-builder__step-handle:hover,
.registration-builder__drag-handle:hover {
    background: #EEF5FF;
    color: var(--evenlabs-primary);
}

.registration-builder__dropzone {
    background: #FFFFFF;
    border: 1px dashed #C8D4E6;
    border-radius: 16px;
    gap: 12px;
    min-height: 150px;
    padding: 14px;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.registration-builder__dropzone.is-drag-over {
    background: #F4F8FF;
    border-color: var(--evenlabs-primary);
    box-shadow: inset 0 0 0 2px rgba(30, 123, 255, .08);
}

.registration-builder__dropzone:empty::before {
    background: #F8FAFC;
    border: 1px dashed #D8E1EE;
    border-radius: 12px;
    color: #6B7280;
    font-size: 13px;
    min-height: 112px;
    padding: 18px;
}

.registration-builder__field {
    border-color: #DEE6F2;
    border-radius: 14px;
    gap: 10px;
    min-height: 56px;
    padding: 12px 14px;
    position: relative;
    user-select: none;
}

.registration-builder__field + .registration-builder__field {
    margin-top: 0;
}

.registration-builder__field:hover {
    border-color: #BFD2F3;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .07);
}

.registration-builder__field.is-selected {
    border-color: var(--evenlabs-primary);
    box-shadow: 0 0 0 3px rgba(30, 123, 255, .14), 0 12px 26px rgba(30, 123, 255, .12);
}

.registration-builder__field-main strong {
    color: #172033;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.25;
}

.registration-builder__field-main small {
    color: #6B7280;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
}

.registration-builder__field-icon {
    align-items: center;
    background: #EEF5FF;
    border: 1px solid rgba(30, 123, 255, .16);
    border-radius: 10px;
    color: var(--evenlabs-primary);
    display: inline-flex;
    flex: 0 0 34px;
    font-size: 18px;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.registration-builder__palette-icon {
    flex-basis: 32px;
    font-size: 17px;
    height: 32px;
    width: 32px;
}

.registration-builder__field-remove {
    font-size: 16px;
    height: 26px;
    width: 26px;
}

.registration-builder__properties .form-field,
.registration-builder__step-labels .form-field {
    font-size: 12px;
    gap: 6px;
}

.registration-builder__properties .form-field > span,
.registration-builder__step-labels .form-field > span,
.registration-builder__properties legend {
    color: #334155;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.25;
}

.registration-builder__properties .kt-input,
.registration-builder__properties .kt-select,
.registration-builder__step-labels .kt-input {
    border-radius: 10px;
    font-size: 13px;
    font-weight: 650;
    min-height: var(--builder-control-height);
    padding: 8px 12px;
}

.registration-builder__properties .kt-select {
    padding-right: 34px;
}

.registration-builder__check {
    align-items: center;
    background: #F8FAFC;
    border: 1px solid #E3E8F2;
    border-radius: 12px;
    display: flex;
    flex-direction: row;
    gap: 10px;
    justify-content: flex-start;
    min-height: 40px;
    padding: 10px 12px;
}

.registration-builder__check span {
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
}

.registration-builder input[type="checkbox"],
.registration-builder .evenlabs-checkbox[type="checkbox"] {
    accent-color: var(--evenlabs-primary);
    appearance: auto;
    cursor: pointer;
    flex: 0 0 16px;
    height: 16px !important;
    margin: 0;
    min-height: 16px !important;
    padding: 0 !important;
    width: 16px !important;
}

.registration-builder__language-tabs fieldset {
    background: #FFFFFF;
    border-color: #E3E8F2;
    border-radius: 14px;
    padding: 12px;
}

.registration-builder__language-tabs legend {
    color: #172033;
    font-size: 13px;
    font-weight: 900;
}

.registration-builder__option-row {
    align-items: center;
    grid-template-columns: 22px repeat(2, minmax(0, 1fr)) 28px;
}

.registration-builder__option-row > span {
    color: #64748B;
    font-size: 12px;
    font-weight: 900;
}

.registration-builder .btn-sm {
    font-size: 12px;
    min-height: 34px;
    padding: 6px 11px;
}

@media (max-width: 1440px) {
    .registration-builder__grid {
        grid-template-columns: minmax(220px, 280px) minmax(420px, 1fr) minmax(280px, 340px);
    }
}

@media (max-width: 1180px) {
    .registration-builder__grid {
        grid-template-columns: 1fr;
    }

    .registration-builder__palette,
    .registration-builder__properties {
        max-height: none;
        position: static;
    }
}

/* Registration Form Builder: readable side panels, scrollable palettes/properties and theme controls. */
.app-sidebar__item[data-evenlabs-sidebar-group] > .app-sidebar__link {
    cursor: pointer;
}

.app-sidebar__item[data-evenlabs-sidebar-group] > .app-sidebar__link::after {
    color: currentColor;
    content: '›';
    font-size: 16px;
    font-weight: 900;
    margin-left: auto;
    transition: transform .16s ease;
}

.app-sidebar__item[data-evenlabs-sidebar-group].is-expanded > .app-sidebar__link::after {
    transform: rotate(90deg);
}

.app-sidebar__submenu[hidden] {
    display: none !important;
}

.registration-builder__general {
    border: 1px solid var(--evenlabs-border);
    box-shadow: 0 12px 30px rgba(7, 18, 47, .055);
    margin-bottom: 20px;
}

.registration-builder__general-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.registration-builder__general-grid .form-field {
    min-width: 0;
}

.registration-builder__palette,
.registration-builder__properties {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 118px);
    min-height: 0;
    overflow: hidden;
}

.registration-builder__palette > .kt-card-header,
.registration-builder__properties > .kt-card-header {
    flex: 0 0 auto;
}

.registration-builder__palette > .kt-card-body,
.registration-builder__properties > .kt-card-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
}

.registration-builder__palette .kt-card-header > div,
.registration-builder__properties .kt-card-header > div {
    min-width: 0;
}

.registration-builder__palette .kt-card-title,
.registration-builder__properties .kt-card-title,
.registration-builder__palette .text-muted,
.registration-builder__properties .text-muted,
.registration-builder__field-main strong,
.registration-builder__field-main small,
.registration-builder__palette-item span,
.registration-builder__section-label,
.registration-builder__field-help {
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: normal;
}

.registration-builder__palette .text-muted,
.registration-builder__properties .text-muted {
    color: #64748B;
    display: block;
    max-width: 100%;
}

.registration-builder__palette-item {
    align-items: flex-start;
    min-width: 0;
}

.registration-builder__palette-item span {
    min-width: 0;
}

.registration-builder__properties-form .form-field {
    min-width: 0;
}

.registration-builder__properties-form .form-field > span,
.registration-builder__properties legend {
    display: block;
    margin-bottom: 2px;
}

.registration-builder__field-help {
    color: #64748B;
    font-size: 12px;
    line-height: 1.45;
    margin: -4px 0 2px;
}

.registration-builder__check-popup {
    background: #F8FAFC;
    border: 1px solid #E3E8F2;
    border-radius: 14px;
    display: grid;
    gap: 12px;
    padding: 12px;
}

.registration-builder__html-editor {
    min-height: 140px;
    resize: vertical;
}

.registration-builder input[type="color"].kt-input {
    min-height: 40px;
    padding: 4px 6px;
}

@media (max-width: 1280px) {
    .registration-builder__palette,
    .registration-builder__properties {
        max-height: 560px;
        position: static;
    }

    .registration-builder__general-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .registration-builder__general-grid {
        grid-template-columns: 1fr;
    }
}

/* Informational checkbox legal text editor inside Form Builder properties. */
.registration-builder__popup-editor {
    background: #FFFFFF;
    border: 1px solid #DDE5F1;
    border-radius: 14px;
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 12px;
}

.registration-builder__popup-editor-heading {
    display: grid;
    gap: 4px;
}

.registration-builder__popup-editor-heading span {
    color: #172033;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.3;
}

.registration-builder__popup-editor-heading small,
.registration-builder__popup-editor-loading {
    color: #64748B;
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.registration-builder__popup-editor.is-ready .registration-builder__popup-editor-loading,
.registration-builder__popup-editor.is-fallback .registration-builder__popup-editor-loading {
    display: none;
}

.registration-builder__popup-editor .tox.tox-tinymce {
    border-color: #DDE5F1;
    border-radius: 12px;
    min-width: 0;
}

.registration-builder__popup-editor .tox .tox-toolbar,
.registration-builder__popup-editor .tox .tox-toolbar__primary,
.registration-builder__popup-editor .tox .tox-toolbar-overlord {
    background: #F8FAFC;
}

.registration-builder__popup-editors {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.registration-builder__popup-editor legend {
    color: #172033;
    font-size: 12px;
    font-weight: 900;
    padding: 0 6px;
}

/* Registration forms management and builder refinements. */
.registration-forms-page__body {
    display: grid;
    gap: 18px;
}

.registration-forms-page__filters {
    align-items: end;
    background: #F8FAFC;
    border: 1px solid #E3E8F2;
    border-radius: 14px;
    margin: 0;
    padding: 14px;
}

.registration-forms-page__table {
    border: 1px solid #E3E8F2;
    border-radius: 14px;
    overflow: hidden;
}

.registration-forms-table th,
.registration-forms-table td {
    padding: 16px 18px;
    vertical-align: middle;
}

.registration-forms-table tbody tr + tr {
    border-top: 1px solid #EEF2F7;
}

.btn-icon {
    align-items: center;
    background: #EEF5FF;
    border: 1px solid rgba(30, 123, 255, .2);
    border-radius: 10px;
    color: var(--evenlabs-primary);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
    width: 38px;
}

.btn-icon:hover {
    background: var(--evenlabs-primary);
    border-color: var(--evenlabs-primary);
    box-shadow: 0 10px 22px rgba(30, 123, 255, .22);
    color: #FFFFFF;
    transform: translateY(-1px);
}

.registration-builder__actions .btn-secondary {
    align-items: center;
    display: inline-flex;
    gap: 8px;
}

.registration-builder--single-page [data-add-step],
.registration-builder--single-page .registration-builder__step-header,
.registration-builder--single-page .registration-builder__step-labels {
    display: none !important;
}

.registration-builder--single-page .registration-builder__steps,
.registration-builder--single-page .registration-builder__step {
    background: transparent;
    border: 0;
    box-shadow: none;
    gap: 0;
    padding: 0;
}

.registration-builder--single-page .registration-builder__dropzone {
    min-height: 360px;
}

.registration-builder__option-row {
    grid-template-columns: 26px minmax(92px, .8fr) repeat(2, minmax(0, 1fr)) 32px;
}

.registration-form-create,
.registration-builder__general .form-grid {
    background: #FFFFFF;
    border: 1px solid #E3E8F2;
    border-radius: 16px;
    padding: 18px;
}
.sr-only {
    height: 1px;
    margin: -1px;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.btn-icon {
    align-items: center;
    background: #FFFFFF;
    border: 1px solid var(--evenlabs-border);
    border-radius: 10px;
    color: var(--evenlabs-primary);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    text-decoration: none;
    width: 38px;
}

.btn-icon:hover {
    background: #F6F8FC;
    border-color: var(--evenlabs-primary);
}

.registrations-list-card .kt-card-body,
.registration-detail-card .kt-card-body,
.registration-admin-form .kt-card-body {
    display: grid;
    gap: 24px;
    padding: 24px;
}

.registrations-filter-bar {
    align-items: center;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(180px, 1fr)) auto;
    margin-bottom: 24px;
}

.registrations-list-card .table-responsive {
    border: 1px solid var(--evenlabs-border);
    border-radius: var(--evenlabs-radius);
    overflow-x: auto;
}

.registrations-list-card .kt-table {
    margin: 0;
    min-width: 980px;
}

.dropdown-actions {
    position: relative;
}

.dropdown-actions__menu {
    background: #FFFFFF;
    border: 1px solid var(--evenlabs-border);
    border-radius: 14px;
    box-shadow: 0 18px 44px rgba(7, 18, 47, .14);
    display: grid;
    gap: 4px;
    min-width: 260px;
    padding: 8px;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 30;
}

.dropdown-actions__menu[hidden] {
    display: none;
}

.dropdown-actions__menu a,
.dropdown-actions__empty {
    border-radius: 10px;
    color: var(--evenlabs-night);
    display: grid;
    font-weight: 800;
    gap: 3px;
    padding: 10px 12px;
    text-decoration: none;
}

.dropdown-actions__menu a:hover {
    background: #F6F8FC;
    color: var(--evenlabs-primary);
}

.dropdown-actions__menu small {
    color: var(--evenlabs-muted);
    font-weight: 600;
}

.detail-summary-grid,
.detail-fields-grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.detail-summary-item,
.detail-field {
    background: #F8FAFC;
    border: 1px solid var(--evenlabs-border);
    border-radius: 14px;
    display: grid;
    gap: 6px;
    padding: 16px;
}

.detail-summary-item span,
.detail-field span {
    color: var(--evenlabs-muted);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.detail-summary-item strong,
.detail-field strong {
    color: var(--evenlabs-night);
    font-size: 15px;
    overflow-wrap: anywhere;
}

.dynamic-form-section {
    display: grid;
    gap: 18px;
}

.dynamic-form-section h3 {
    font-size: 18px;
    font-weight: 900;
    margin: 0;
}

.registration-step {
    border: 1px solid var(--evenlabs-border);
    border-radius: 16px;
    padding: 18px;
}

.registration-step legend,
.registration-step h4 {
    color: var(--evenlabs-night);
    font-size: 16px;
    font-weight: 900;
    margin: 0 0 14px;
}

.alert {
    border-radius: 12px;
    padding: 14px 16px;
}

.alert-warning {
    background: var(--evenlabs-warning-bg);
    color: #8A5200;
}

@media (max-width: 1100px) {
    .registrations-filter-bar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .registrations-list-card .kt-card-body,
    .registration-detail-card .kt-card-body,
    .registration-admin-form .kt-card-body {
        padding: 16px;
    }

    .registrations-filter-bar,
    .detail-summary-grid,
    .detail-fields-grid {
        grid-template-columns: 1fr;
    }

    .page-card__actions {
        align-items: stretch;
        width: 100%;
    }

    .dropdown-actions,
    .dropdown-actions > .btn-primary {
        width: 100%;
    }

    .dropdown-actions__menu {
        left: 0;
        right: 0;
    }
}

.registrations-list-card > .page-card__header {
    align-items: flex-start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(320px, 1fr) auto;
}

.registrations-list-card .page-card__actions {
    align-items: flex-start;
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    justify-content: flex-end;
}

.registrations-list-card .page-card__actions > .btn-secondary,
.registrations-list-card .dropdown-actions {
    flex: 0 0 auto;
}

.registrations-list-card .dropdown-actions {
    display: inline-flex;
    width: max-content;
}

.registrations-list-card .dropdown-actions__menu {
    left: auto;
    right: 0;
}

@media (max-width: 1180px) {
    .registrations-list-card > .page-card__header {
        grid-template-columns: 1fr;
    }

    .registrations-list-card .page-card__actions {
        flex-wrap: wrap;
        justify-content: flex-start;
    }

    .registrations-list-card .dropdown-actions__menu {
        left: 0;
        right: auto;
    }
}

@media (max-width: 720px) {
    .registrations-list-card .page-card__actions,
    .registrations-list-card .page-card__actions > .btn-secondary,
    .registrations-list-card .dropdown-actions,
    .registrations-list-card .dropdown-actions > .btn-primary {
        width: 100%;
    }

    .registrations-list-card .dropdown-actions__menu {
        left: 0;
        right: 0;
        width: 100%;
    }
}
