:root {
    --font-10: 0.769rem;  /* 10px */
    --font-12: 0.923rem;  /* 12px */
    --font-13: 1.000rem;  /* 13px */
    --font-14: 1.077rem;  /* 14px */
    --font-14-5: 1.092rem;  /* 14.5px */
    --font-15: 1.154rem;  /* 15px */
    --font-16: 1.231rem;  /* 16px */
    --font-17: 1.308rem;  /* 17px */
    --font-18: 1.385rem;  /* 18px */
    --font-19: 1.462rem;  /* 19px */
    --font-20: 1.538rem;  /* 20px */
    --font-21: 1.615rem;  /* 21px */
    --font-22: 1.692rem;  /* 22px */
    --font-23: 1.769rem;  /* 23px */
    --font-24: 1.846rem;  /* 24px */
    --app-scrollbar-thumb: var(--bs-gray-400);
    --app-scrollbar-thumb-hover: var(--bs-gray-500);
    --app-scrollbar-track: transparent;
}

html,
body,
* {
    scrollbar-color: var(--app-scrollbar-thumb) var(--app-scrollbar-track);
    scrollbar-width: thin;
}

*::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

*::-webkit-scrollbar-track {
    background: var(--app-scrollbar-track);
}

*::-webkit-scrollbar-thumb {
    background-color: var(--app-scrollbar-thumb);
    border: 3px solid transparent;
    border-radius: 999px;
    background-clip: content-box;
}

*::-webkit-scrollbar-thumb:hover {
    background-color: var(--app-scrollbar-thumb-hover);
}

.tooltip { --bs-tooltip-max-width: 400px; }
.tooltip-inner { max-width: 400px !important; }

.fs-3rem { font-size: 3rem !important; }
.menu-profile-icon { font-size: 3rem !important; }
.header-notifications {
    margin-right: 0.5rem !important;
}

.header-notifications .js-header-notifications-trigger {
    overflow: visible;
}

.header-notifications-badge {
    align-items: center;
    display: inline-flex;
    height: 22px;
    justify-content: center;
    min-width: 22px;
    padding: 0 6px;
    position: absolute;
    right: -4px;
    top: -4px;
    z-index: 2;
}

.header-notifications-menu {
    overflow: hidden;
}

.header-notifications-menu-header {
    background-color: #4ba7ee;
    border-radius: 0;
    padding: 1.35rem 2rem 1.2rem;
}

.header-notifications-menu-header h3 {
    align-items: center;
    display: flex;
    gap: 0.85rem;
    line-height: 1.2;
    margin: 0 !important;
}

.header-notifications-timestamp {
    flex-shrink: 0;
    white-space: nowrap;
}

.header-notifications-integration-logo {
    display: block;
    max-height: 22px;
    max-width: 22px;
    object-fit: contain;
}

.header-notifications-empty-icon {
    border: 1px solid var(--bs-success);
}

.header-notifications-status-icon {
    border: 1px solid var(--bs-gray-300);
    border-radius: var(--bs-border-radius);
}

.header-notifications-status-icon-danger {
    background-color: #fff5f7 !important;
    border-color: #fecdd3;
    color: #be123c;
}

.header-notifications-status-icon-danger i {
    color: #be123c !important;
}

.header-notifications-status-icon-warning {
    background-color: #fffbeb !important;
    border-color: #fde68a;
    color: #b45309;
}

.header-notifications-status-icon-warning i {
    color: #b45309 !important;
}

.header-notifications-alert {
    align-items: flex-start !important;
    gap: 0.85rem;
}

.header-notifications-alert-actions {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 0.45rem;
}

.header-notifications-dismiss {
    --bs-btn-active-bg: transparent;
    --bs-btn-active-border-color: transparent;
    --bs-btn-active-color: var(--bs-gray-700);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-color: var(--bs-gray-700);
    --bs-btn-focus-box-shadow: none;
    --bs-btn-hover-bg: transparent;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-hover-color: var(--bs-primary);
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    height: 26px;
    padding: 0;
    width: 26px;
}

.header-notifications-dismiss:hover,
.header-notifications-dismiss:focus,
.header-notifications-dismiss:active,
.header-notifications-dismiss.show {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    color: var(--bs-primary);
}

.header-notifications-dismiss i {
    font-size: 0.9rem;
}

.header-notifications-fix-link {
    align-items: center;
    background-color: var(--bs-white) !important;
    border-color: var(--bs-gray-300) !important;
    color: var(--bs-gray-700) !important;
    display: inline-flex;
    gap: 0.25rem;
    line-height: 1;
    margin-top: 0.7rem;
    margin-right: 0 !important;
    padding: 0.45rem 0.7rem;
}

.header-notifications-fix-link:hover,
.header-notifications-fix-link:focus {
    background-color: var(--bs-gray-100) !important;
    border-color: var(--bs-gray-400) !important;
    color: var(--bs-gray-800) !important;
}

.header-notifications-alert + .header-notifications-alert {
    border-top: 1px solid var(--bs-gray-200);
}

.header-notifications-alert-main,
.header-notifications-alert-copy {
    min-width: 0;
}

.header-notifications-alert-main {
    flex: 1 1 auto;
}

.header-notifications-alert-title,
.header-notifications-alert-item,
.header-notifications-alert-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
}

.header-notifications-alert-title {
    -webkit-line-clamp: 2;
    line-height: 1.25;
}

.header-notifications-alert-item {
    -webkit-line-clamp: 1;
}

.header-notifications-alert-description {
    -webkit-line-clamp: 1;
    line-height: 1.35;
}

.header-notifications-alert:hover .header-notifications-alert-description {
    -webkit-line-clamp: unset;
    overflow: visible;
}
.border-hover-gray-300:hover { border-color: var(--bs-gray-300) !important; }
.card-border-left-blue { border-left: 3px solid var(--bs-blue); }
.card-border-left-danger { border-left: 3px solid var(--bs-danger); }
.payment-status-card {
    background-color: var(--bs-white);
    border: 1px solid var(--bs-border-color);
    border-left: 3px solid var(--bs-danger);
    border-radius: var(--bs-border-radius);
    box-shadow: none;
    overflow: hidden;
}
.payment-status-card .card-body {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    min-width: 0;
    padding: 1rem;
}
.payment-status-card-icon {
    align-items: center;
    background-color: #fff5f7;
    border: 1px solid #fecdd3;
    border-radius: var(--bs-border-radius);
    color: #be123c;
    display: inline-flex;
    flex: 0 0 40px;
    height: 40px;
    justify-content: center;
    width: 40px;
}
.payment-status-card-icon i {
    color: var(--bs-danger);
    font-size: 1rem;
}
.payment-status-card-content {
    min-width: 0;
}
.payment-status-card-title {
    color: var(--bs-gray-800);
    font-size: 1.075rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 0.25rem;
}
.payment-status-card-copy {
    color: var(--bs-gray-700);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.55;
    margin: 0;
}
.payment-status-card-copy a {
    font-weight: 700;
}

.app-sidebar .menu>.menu-item>.menu-link .menu-title  {
    font-size: var(--font-14) !important;
}
 .app-sidebar .menu>.menu-item .menu-item>.menu-link .menu-title  {
    font-size: var(--font-13) !important;
}

a i.blue-link { color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); text-decoration: none;}

.menu-item .menu-link .menu-icon { width: 24px !important; height: 24px !important; }
.app-sidebar .menu>.menu-item>.menu-link:hover,
.app-sidebar .menu>.menu-item .menu-item .menu-link:hover:not(.active)  { background-color: var(--bs-secondary) !important; }
.nav-border-wrapper .border-bottom { position: absolute; bottom: 0px; left: -20px; width: calc(100% + 38px); height: 1px; }
/* Sidebar: move padding to children so dividers span full width */
#kt_app_sidebar_main { padding-left: 0 !important; padding-right: 0 !important; }
#kt_app_sidebar_main > *:not(.sidebar-divider) { padding-left: 1rem; padding-right: 1.25rem; }
#kt_app_sidebar_main > .card, #kt_app_sidebar_main > .alert { padding-left: 0; padding-right: 0; margin-left: 1rem; margin-right: 1.25rem; }
@media (min-width: 992px) {
    #kt_app_sidebar_main > *:not(.sidebar-divider) { padding-right: 0.5rem; }
    #kt_app_sidebar_main > .card, #kt_app_sidebar_main > .alert { padding-right: 0; margin-right: 0.5rem; }
}
/* Hide sidebar scrollbar so it takes no layout space (scroll via mousewheel/trackpad) */
#kt_app_sidebar_main { scrollbar-width: none !important; }
#kt_app_sidebar_main::-webkit-scrollbar { display: none !important; }
.sidebar-divider { border-bottom: 1px solid var(--bs-gray-300); }
[data-bs-theme=dark] .sidebar-divider { border-color: #232323; }

.dashboard-promotion-tabs .nav-link.active .badge { background-color: var(--bs-primary-light) !important; color: var(--bs-primary) !important; }

@media (max-width: 767px) {
    .dashboard-promotion-tabs { overflow-x: auto; flex-wrap: nowrap !important; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; touch-action: pan-x; }
    .dashboard-promotion-tabs::-webkit-scrollbar { display: none; }
    .dashboard-promotion-tabs .nav-item { flex: 0 0 auto; }
    .dashboard-promotion-tabs .nav-link { white-space: nowrap; margin-right: 1rem !important; }
    .dashboard-promotion-tabs.nav-stretch .nav-link { flex-grow: 0; }
    .account-settings-tabs { overflow-x: auto; flex-wrap: nowrap !important; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; scrollbar-width: none; touch-action: pan-x; }
    .account-settings-tabs::-webkit-scrollbar { display: none; }
    .account-settings-tabs .nav-item { flex: 0 0 auto; }
    .account-settings-tabs .nav-link { white-space: nowrap; margin-right: 1rem !important; }
    .account-settings-tabs.nav-stretch .nav-link { flex-grow: 0; }
    .date-status-dot { display: none; }
    .date-status-date { display: block; margin-top: 2px; }
}

.btn-plain { background-color: transparent !important; padding:6px 13px !important; margin-right: 8px; }
.btn-plain:hover { background-color: var(--bs-gray-100) !important; }

.promotion-title-wrapper a,
.promotion-title-wrapper > span { font-size: var(--font-16); word-break: break-word; }
.date-entries-wrapper { margin-top: 10px; }
.date-entries-wrapper .date-status {  color: var(--bs-gray-800); font-size: var(--font-14-5); }
.date-entries-wrapper .date-status i { font-size: var(--font-15) !important; margin-right: 6px !important; }
.date-entries-wrapper .entries-count {  display: inline-block;  color: var(--bs-gray-800); padding-top: 5px; font-size: var(--font-12); }

.swal2-popup { padding: 0px !important; }
.swal2-popup { border:1px solid #F1F1F4; box-shadow :rgb(82 82 82 / 33%) 0px 3px 4px 0px !important }
.swal2-popup .swal2-content, .swal2-popup .swal2-html-container { font-size: 1rem !important; color: #888; }
.swal2-popup .swal2-actions { border-top: 1px solid #F1F1F4 !important; width: 100% !important; margin: 10px 0px 0px 0px !important; padding: 0px 24px 24px 24px !important; gap: 12px; }
.swal2-popup .swal2-actions button { margin-top: 20px !important; margin-left: 0 !important; margin-right: 0 !important; }
.sweet-alert-delete-button,
.sweet-alert-confirm-button,
.sweet-alert-ok-button,
.sweet-alert-cancel-button,
.swal2-popup .swal2-actions .swal2-styled,
.swal2-popup .swal2-actions .btn {
    min-width: 120px;
    height: 44px;
    padding: 0 20px !important;
    border-radius: 0.35rem !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    font-size: var(--font-14) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, filter .15s ease;
}
.sweet-alert-delete-button:focus,
.sweet-alert-delete-button:focus-visible,
.sweet-alert-confirm-button:focus,
.sweet-alert-confirm-button:focus-visible,
.sweet-alert-ok-button:focus,
.sweet-alert-ok-button:focus-visible,
.sweet-alert-cancel-button:focus,
.sweet-alert-cancel-button:focus-visible,
.swal2-popup .swal2-actions .swal2-styled:focus,
.swal2-popup .swal2-actions .swal2-styled:focus-visible,
.swal2-popup .swal2-actions .btn:focus,
.swal2-popup .swal2-actions .btn:focus-visible {
    box-shadow: none !important;
    outline: none !important;
}
.sweet-alert-delete-button,
.swal2-popup .swal2-actions .btn.btn-danger {
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
    color: #fff !important;
}
.sweet-alert-delete-button:hover,
.swal2-popup .swal2-actions .btn.btn-danger:hover {
    filter: brightness(0.94);
}
.sweet-alert-confirm-button,
.sweet-alert-ok-button,
.swal2-popup .swal2-actions .btn.btn-primary,
.swal2-popup .swal2-actions .btn.btn-light-primary,
.swal2-popup .swal2-styled.swal2-confirm {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}
.sweet-alert-confirm-button:hover,
.sweet-alert-ok-button:hover,
.swal2-popup .swal2-actions .btn.btn-primary:hover,
.swal2-popup .swal2-actions .btn.btn-light-primary:hover,
.swal2-popup .swal2-styled.swal2-confirm:hover {
    filter: brightness(0.96);
}
.sweet-alert-cancel-button,
.swal2-popup .swal2-actions .btn.btn-light,
.swal2-popup .swal2-actions .btn.btn-light-danger,
.swal2-popup .swal2-actions .btn.btn-active-light,
.swal2-popup .swal2-styled.swal2-cancel,
.swal2-popup .swal2-styled.swal2-deny {
    background-color: #fff !important;
    border-color: var(--bs-gray-300) !important;
    color: var(--bs-gray-900) !important;
}
.sweet-alert-cancel-button:hover,
.swal2-popup .swal2-actions .btn.btn-light:hover,
.swal2-popup .swal2-actions .btn.btn-light-danger:hover,
.swal2-popup .swal2-actions .btn.btn-active-light:hover,
.swal2-popup .swal2-styled.swal2-cancel:hover,
.swal2-popup .swal2-styled.swal2-deny:hover {
    background-color: var(--bs-gray-100) !important;
    background-image: none !important;
}
.sweet-alert-delete-button {
    background-color: var(--bs-danger) !important;
    border-color: var(--bs-danger) !important;
    color: #fff !important;
}
.sweet-alert-delete-button:hover {
    filter: brightness(0.94);
}
.sweet-alert-confirm-button,
.sweet-alert-ok-button {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}
.sweet-alert-confirm-button:hover,
.sweet-alert-ok-button:hover {
    filter: brightness(0.96);
}
.sweet-alert-cancel-button {
    background-color: #fff !important;
    border-color: var(--bs-gray-300) !important;
    color: var(--bs-gray-900) !important;
}
.sweet-alert-cancel-button:hover {
    background-color: var(--bs-gray-100) !important;
    background-image: none !important;
}

.purchase-entry-delete-confirm-popup .purchase-entry-delete-confirm-actions {
    flex-wrap: nowrap !important;
    justify-content: center !important;
}

.purchase-entry-delete-confirm-popup .purchase-entry-delete-confirm-actions button {
    flex: 0 0 auto;
}

.swal2-popup .swal2-title { font-size: 1.5rem !important; }
.alert.alert-warning.d-flex.align-items-start.gap-3.mb-0 > i,
.alert.alert-warning.d-flex.align-items-start.gap-3.mb-0 .fw-semibold {
    color: #b45309 !important;
}
.swal2-popup .swal2-html-container { font-size: 1.1rem !important; color: #252f4a; line-height: 1.7rem !important; max-height: 250px; }
.swal2-styled.swal2-confirm { background-color: var(--bs-primary) !important; }
.swal2-popup .swal2-html-container .form-fields-content-item-title {  text-align: left !important; color: var(--bs-gray-700); }
.swal2-popup .swal2-html-container .form-fields-content-item { max-width: 200px; margin: 0px auto; }
.contest-vote-cleanup-container {
    z-index: 20050 !important;
}
.contest-vote-adjustment-popup .swal2-html-container,
.contest-vote-adjustment-popup .contest-vote-adjustment-html,
.contest-vote-cleanup-popup .swal2-html-container,
.contest-vote-cleanup-popup .contest-vote-cleanup-html {
    margin: 0 auto !important;
    max-height: none !important;
    padding: 0 2rem !important;
    width: min(100%, 440px);
}
.contest-vote-adjustment-form,
.contest-vote-cleanup-form {
    color: var(--bs-gray-800);
}
.contest-vote-adjustment-form .form-control,
.contest-vote-cleanup-form .form-control {
    color: var(--bs-gray-900);
    font-size: var(--font-14);
}
.contest-vote-adjustment-form .form-control::placeholder,
.contest-vote-cleanup-form .form-control::placeholder {
    color: var(--bs-gray-500);
    opacity: 1;
}
.contest-vote-adjustment-form .contest-vote-adjustment-reason,
.contest-vote-cleanup-form .contest-vote-cleanup-reason {
    min-height: 112px;
    resize: vertical;
}
/*
.swal2-popup .swal2-icon { height: 3.3rem !important; width: 3.3rem !important; }
.swal2-popup .swal2-icon .swal2-icon-content  { font-size: 2.5rem !important; }
.swal2-icon.swal2-error [class^=swal2-x-mark-line] { top: 20px !important; font-size: 10px !important; }
.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right] { right: 7px !important; }
.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left] { left: 7px !important; }
*/
.image-input [data-kt-image-input-action=cancel], .image-input [data-kt-image-input-action=remove] { top: 0%; }
.dropzone { padding: .6rem }
.dropzone_wrapper, .button_upload_wrapper { position: relative; overflow: hidden; cursor: pointer; }
.dropzone_wrapper input, .button_upload_wrapper input { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; opacity: .01; z-index: 100;cursor: pointer; }
.cloudinary-fileupload-progress { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 10;}
.cloudinary-fileupload-progress-inner { background-color:#000;  height: 100%; width: 0%; position: relative; left: 0px; top: 0px; opacity: .05; }

.expand-cell {
    width: 100%;
}

.shrink-cell {
    white-space: nowrap;
    width: 1%; /* Forces minimum width */
}

.password-requirements {
    list-style: none;
    padding-left: 0;
}

.password-requirements li {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
}

.password-requirements li i {
    margin-right: 0.5rem;
}

.text-muted { opacity: .8 !important }

input:focus , select:focus, textarea:focus {
    border-color: #c3e2f9 !important;
    box-shadow: 0 0 0 0.2rem rgba(195, 226, 249, 0.25) !important;
}

/* Remove blue focus outline from Select2 search input in builder */
.select2-container .select2-search__field:focus {
    border-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Keep icon + Select2 controls visually joined like standard input-group fields. */
.input-group.select2-icon-group > .input-group-text.select2-icon-addon {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.input-group.select2-icon-group > select.select2-icon-field + .select2-container {
    margin-left: -1px;
    flex: 1 1 auto;
    min-width: 0;
}

.input-group.select2-icon-group > select.select2-icon-field + .select2-container .select2-selection--single,
.input-group.select2-icon-group > select.select2-icon-field + .select2-container .select2-selection--multiple {
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}


/* Responsive versions */
@media (max-width: 576px) {
    .w-sm-51px {
        width: 51px !important;
    }
    .h-sm-51px {
        height: 51px !important;
    }
    .table-responsive {
        padding-bottom: 100px;
    }
}

.no_access_overlay {
    position: relative;
    filter: blur(3px);
}
.no_access_overlay_screen {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: #000;
    z-index: 100000;
    opacity: .1;
    border-radius: 10px;
}

.fs-2_75x { font-size: 2.75rem !important; }
.choose-your-plan-heading { font-size: 2.5rem !important; }

.revup-menu-border { border: 1px solid #dbdfe9; }
.promotion-row-menu .menu-link,
.promotion-row-view-menu .menu-link {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    width: 100%;
}
.promotion-row-menu .menu-link:hover,
.promotion-row-menu .menu-link.active,
.promotion-row-menu .menu-link:focus-visible,
.promotion-row-view-menu .menu-link:hover,
.promotion-row-view-menu .menu-link.active,
.promotion-row-view-menu .menu-link:focus-visible {
    background-color: var(--bs-gray-100) !important;
    color: #1e293b !important;
}
.promotion-row-menu .menu-link:hover span,
.promotion-row-menu .menu-link.active span,
.promotion-row-menu .menu-link:focus-visible span,
.promotion-row-menu .menu-link:hover i,
.promotion-row-menu .menu-link.active i,
.promotion-row-menu .menu-link:focus-visible i,
.promotion-row-view-menu .menu-link:hover span,
.promotion-row-view-menu .menu-link.active span,
.promotion-row-view-menu .menu-link:focus-visible span,
.promotion-row-view-menu .menu-link:hover i,
.promotion-row-view-menu .menu-link.active i,
.promotion-row-view-menu .menu-link:focus-visible i {
    color: inherit !important;
}
.app-header-separator { border: 1px solid var(--bs-gray-300); border-bottom: none; }
.app-content { border: 1px solid var(--bs-gray-300); border-top: none; }
.app-toolbar { border-left: 1px solid var(--bs-gray-300); border-right: 1px solid var(--bs-gray-300); }
.page-title { margin-top: 1rem; }
.app-toolbar-wrapper { align-items: flex-start !important; }

[data-bs-theme=dark] .app-header-separator { border-color: #232323; }
[data-bs-theme=dark] .app-content { border-color: #232323; }
[data-bs-theme=dark] .app-toolbar { border-left-color: #232323; border-right-color: #232323; } 

[data-bs-theme=dark] .app-sidebar .menu>.menu-item .menu-item .menu-link.active {
    background-color: #131313 !important;
}

.full_account_name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
#avatar_image { cursor: pointer;}

.btn-gray { border-color: rgb(226, 232, 240) !important; }

.icon-box { padding: 13px 10px 10px 10px; align-items: center; justify-content: center; width: 70px; height: 70px; }
.icon-box i { font-size: 40px !important; color: #fff; }

.symbol.symbol-32px .symbol-label { width: 32px !important; height: 32px !important; }
.symbol.symbol-32px  img { width: 32px !important; height: 32px !important; }
.symbol.symbol-36px .symbol-label { width: 36px !important; height: 36px !important; }
.symbol.symbol-36px  img { width: 36px !important; height: 36px !important; }
.symbol.symbol-24px .symbol-label { width: 24px !important; height: 24px !important; }
.symbol.symbol-24px  img { width: 24px !important; height: 24px !important; }

.template-option-wrapper  .option-description { color: #78829d; }
.template-option-wrapper:hover, .template-category-wrapper:hover,.promotion-type-option:hover  { background-color: rgba(243,251,255,0.55) }
.template-category-item { font-size: var(--font-14); }
.display-none { display: none !important; }

body.slide-out-open .app-toolbar { display: none !important; }
body.slide-out-open .dashboard-main-content { display: none !important; }
body .slide-out-catch { display: none !important; }
body.slide-out-open .slide-out-catch { display: block !important; }
body .dashboard-deep-link-loading-state { display: none !important; }
body.dashboard-deep-link-loading .dashboard-main-content { display: none !important; }
body.dashboard-deep-link-loading .slide-out-catch { display: none !important; }
body.dashboard-deep-link-loading .dashboard-deep-link-loading-state {
    display: flex !important;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(4rem, 11vh, 7rem) 1rem 2rem;
}
body.slide-out-open #kt_header_search_bar { display: none !important; }
.close-slide-out { top: 9px !important; }
.dashboard-deep-link-loading-panel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.dashboard-deep-link-loading-panel .spinner-border {
    width: 2rem;
    height: 2rem;
}
.slide-out-content-header-buttons, .slide-out-content-header-buttons a { white-space: nowrap; }
.slide-out-section-nav {
    align-items: center;
    border-bottom: 1px solid var(--bs-gray-200);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1.75rem;
}
.slide-out-section-tabs-wrap { flex: 1 1 auto; min-width: 0; }
.slide-out-section-tabs { margin-bottom: -1px; }
.slide-out-section-tabs .nav-item { flex: 0 0 auto; }
.slide-out-section-tabs .slide-out-section-tab {
    align-items: center;
    display: inline-flex;
    gap: 0.7rem;
    white-space: nowrap;
}
.slide-out-section-tabs .slide-out-section-action {
    align-items: center;
    display: inline-flex;
    gap: 0.7rem;
    white-space: nowrap;
}
.slide-out-section-tabs .slide-out-section-tab i { font-size: 1rem; }
.slide-out-section-hint {
    color: var(--bs-gray-800);
    font-size: var(--font-14);
    line-height: 1.4;
    text-align: right;
    white-space: nowrap;
}
.slide-out-content-header { padding-bottom: 0.75rem; }
.slide-out-content-header .close-slide-out { top: auto !important; }
.slide-out-content-header-actions { white-space: nowrap; }
.slide-out-content-header-actions .participants-toolbar-btn:last-of-type { margin-right: 0.50rem; }
.slide-out-content-header-actions .winners-draw-btn { margin-right: 0.50rem; }
.slide-out-content-header-close {
    color: #1f2937;
    border: none;
    border-radius: 0;
    height: auto;
    width: auto;
}
.slide-out-content-header-close:hover { background-color: transparent; border-color: transparent; }
.slide-out-loading-overlay {
    position: fixed;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sonar-table-loading-overlay {
    position: absolute;
    inset: 0;
    z-index: 25;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background-color: rgba(255, 255, 255, 0.18);
    pointer-events: all;
}

.contacts-table-loading-overlay,
.inline-table-loading-overlay {
    align-items: flex-start;
    padding-top: 6rem;
    background:
        linear-gradient(180deg, rgba(249, 249, 249, 0.76), rgba(241, 241, 244, 0.82));
    backdrop-filter: blur(4px);
}

.sonar-table-loading-overlay__panel {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.95rem 1.1rem;
    border: 1px solid var(--bs-gray-300);
    border-radius: 999px;
    background-color: rgba(255, 255, 255, 0.78);
    box-shadow: 0 18px 40px rgba(37, 47, 74, 0.08);
}

.promotion-list-row {
    border-radius: 10px;
    container-type: inline-size;
    overflow: hidden;
    z-index: 1;
}
.promotion-list-row.menu-open { z-index: 25; }
.promotion-list-row .menu-sub-dropdown { z-index: 30 !important; }
.revup-menu-border.menu-sub-dropdown { z-index: 30 !important; }
.promotion-list-row .color-marker { height: calc(100% + 50px) !important; top: -25px !important; }
.promotion-list-row .actions, .promotion-list-row .actions a { white-space: nowrap; }
.promotion-list-row .promotion-row-view-action { flex-shrink: 0; }
.promotion-list-row .promotion-row-content { min-width: 0; }
.promotion-list-row .promotion-row-content .promotion-title-wrapper { min-width: 0; }
.promotion-list-row .promotion-row-controls { flex-shrink: 0; }
.promotion-list-row .promotion-row-status { flex-shrink: 0; }
.promotion-list-row .promotion-row-status .participant-status-badge { white-space: nowrap; }
/* Progressive collapse: Winners at 1500px, Reporting at 1350px */
.promo-btn-winners, .promo-btn-reporting { display: none !important; }
.promo-dd-winners, .promo-dd-reporting { display: inline-block; }
@media (min-width: 1350px) { .promo-btn-reporting { display: inline-block !important; } }
@media (min-width: 1500px) { .promo-btn-winners { display: inline-block !important; } }
.promotion-row-menu .dashboard-row-menu-synced-hidden { display: none !important; }
@container (max-width: 1600px) {
    .promotion-list-row .promo-btn-winners { display: none !important; }
    .promotion-list-row .promo-dd-winners { display: inline-block !important; }
}
@container (max-width: 1450px) {
    .promotion-list-row .promo-btn-reporting { display: none !important; }
    .promotion-list-row .promo-dd-reporting { display: inline-block !important; }
}
@container (max-width: 1450px) {
    .promotion-list-row:has(.promo-btn-votes) .promo-btn-reporting { display: none !important; }
    .promotion-list-row:has(.promo-btn-votes) .promo-dd-reporting { display: inline-block !important; }
}
@container (max-width: 1300px) {
    .promotion-list-row:has(.promo-btn-votes) .promo-btn-votes { display: none !important; }
    .promotion-list-row:has(.promo-btn-votes) .promo-dd-votes { display: block !important; }
}
@container (max-width: 1200px) {
    .promotion-list-row .promo-btn-votes { display: none !important; }
    .promotion-list-row .promo-dd-votes { display: block !important; }
}
@container (max-width: 1120px) {
    .promotion-list-row .promo-btn-moderation { display: none !important; }
    .promotion-list-row .promo-dd-moderation { display: block !important; }
}
@container (max-width: 980px) {
    .promotion-list-row .promo-btn-participants { display: none !important; }
    .promotion-list-row .promo-dd-participants { display: block !important; }
}



body.single-builder-column .builder-column { width: 100%; max-width: 800px; margin: 0 auto; }
body.single-builder-column.products-tab-active .builder-column { max-width: 1600px; }
body.single-builder-column .preview-column { display: none; }
body.single-builder-column .bottom-controls { width: 100% !important; }
body.purchase-builder .builder-products-rail-wrapper { display: none; }
body.purchase-builder .purchase-products-full-width-toggle.active {
    background-color: #fff;
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}

body.first-bns .bottom-controls div:first-child a { display: none !important; }
body.last-bns .bottom-controls div:last-child a { display: none !important; }

.create-promotion-modal-content { overflow: hidden; position: relative; }
body.create-promotion-modal-open { padding-right: 0 !important; }
body.create-promotion-modal-open #kt_app_header,
body.create-promotion-modal-open .app-toolbar,
body.create-promotion-modal-open .app-header-separator { padding-right: 0 !important; }
.create-promotion-submitting-overlay {
    align-items: center;
    background-color: rgba(255, 255, 255, 0.92);
    display: none;
    inset: 0;
    justify-content: center;
    padding: 2rem;
    position: absolute;
    text-align: center;
    z-index: 20;
}
.create-promotion-submitting-overlay-inner { max-width: 320px; }
.create-promotion-submitting-overlay .spinner-border { width: 3rem; height: 3rem; }
.create-promotion-modal-content.is-submitting .create-promotion-submitting-overlay { display: flex; }
.create-promotion-modal-content.is-submitting .modal-header,
.create-promotion-modal-content.is-submitting .modal-body { pointer-events: none; }

.create-promotion-basics {
    align-items: stretch;
    display: flex;
    gap: 1rem;
}
.create-promotion-name-panel {
    flex: 0 0 75%;
    min-width: 0;
}
.create-promotion-language-panel {
    flex: 0 0 calc(25% - 1rem);
    min-width: 0;
}

.promotion-type-option {
    border: 1px solid var(--bs-gray-300);
    padding: 3px;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.promotion-type-option.p-4 { padding: 0.95rem !important; }
.promotion-type-option .fs-7 {
    display: block;
    line-height: 1.35;
    margin-top: 0.15rem;
}
.promotion-type-option.is-selected {
    background-color: rgba(243, 251, 255, 0.85);
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), 0.12);
}
.promotion-type-option .form-check-input { cursor: pointer; }
.create-promotion-form .invalid-feedback { margin-top: 0.5rem; }
.create-promotion-form [data-category-group].is-invalid .promotion-type-option { border-color: var(--bs-danger); }

@media (max-width: 991px) {
    .create-promotion-basics { flex-direction: column; }
    .create-promotion-name-panel,
    .create-promotion-language-panel {
        flex-basis: auto;
    }
}

.builder-header { border-bottom: 1px solid rgb(229 231 235); }
.builder-header .btn:not(:last-child)  { margin-right: 4px; }
.builder-header .btn { white-space: nowrap; padding: 8px 15px !important; }
.builder-header .btn.active i { color: var(--bs-text-primary) !important; }
.home-link-loader { position: relative; width: 48px !important; height: 40px !important; }
.home-link-loader i { font-size: 1.1rem !important; }
.home-link-loader { white-space: nowrap; padding: 8px 15px !important; }
.modal-header { padding: 15px 30px !important; }

/* Builder */
.promo-builder .card { border:  1px solid rgb(229 231 235);}
.promo-builder .accordion-item { border:  1px solid rgb(229 231 235);}

.builder-container .builder-page-wrapper { padding-bottom: 86px; background-color: #f6f6f9; }
.promo-builder #kt_app_header { height: 70px !important; }
.promo-builder .app-wrapper { margin-top: 70px !important; }
.promo-builder #kt_app_header i { font-size: 1.1rem !important; }
.builder-preview-frame-wrapper { height: calc(100% - 70px); width: calc(58% - 10px ); position: fixed; top: 70px; right: 0px; bottom: 0px; background-color: #F3F4F6; z-index:95; }
.builder-products-rail-wrapper { background-color: #F3F4F6; z-index: 95; }
.builder-products-rail-wrapper .card { margin-bottom: 0; }
.builder-preview-frame-wrapper iframe { height: 100%; width: 100%; position: absolute; top: 0px; left: 0px; z-index: 99; }
.loading-overlay { display: none; height: 100%; width: 100%; position: absolute; top: 0px; left: 0px; z-index: 100; background-color: #f3f4f6; transition: all 0.3s ease-in-out; }
.loading-overlay.show { display: block !important; }
.loading-overlay .loading-overlay-inner { text-align: center; font-size: 1.2rem; color: #111;  position: absolute; top: 40%;left: 0px; width: 100%; }
.bottom-controls { z-index: 1000; height: 76px; width: calc(42% + 10px); position: fixed; bottom: 0px; left: 0px; backdrop-filter:blur(10px); border-top: rgb(229,231,235) 1px solid; background-color: rgb(255,255,255,80%); }
.builder-container .card:not(:last-child) { margin-bottom: 35px; }
.builder-header-title a { position: relative; }
.builder-header-title h3 { width: 100%; max-width: 100%; }

.centered-mobile-frame {
    position: absolute;
    left: 50% !important;
    transform: translateX(-50%) !important;
    max-width: 390px !important;
}

@media (max-width: 1399px) {
    .builder-end-buttons { position: absolute; right: 0px; top: 10px; text-align: right; z-index: 9999; }
    .promo-builder #kt_app_header { height: 110px !important; }
    .promo-builder .app-wrapper { margin-top: 110px !important; }
    .builder-step-buttons  {  justify-content: center; }
    .builder-step-buttons > div { overflow-x: scroll; scrollbar-width: none;  }
    .builder-step-buttons > div::-webkit-scrollbar { display: none; }
    .builder-header-title { padding-top: 12px; padding-bottom: 8px; width: calc(100% - 60px); }
    .builder-preview-frame-wrapper { top: 110px; height: calc(100% - 110px);  }
    body.purchase-builder.purchase-settings-products-active .builder-preview-frame-wrapper { display: none !important; }
    body.purchase-builder.purchase-settings-products-active .toggle-preview { display: none !important; }
}
@media (min-width: 1400px) {
    .builder-header:has(.language-editing-menu) .builder-header-title,
    .builder-header:has(.language-editing-menu) .builder-end-buttons {
        width: auto !important;
        max-width: 500px;
        min-width: 0;
        flex: 1 1 0%;
    }
    .builder-header:has(.language-editing-menu) .builder-step-buttons {
        flex: 0 0 auto;
    }
    .builder-header:has(.language-editing-menu) .builder-header-title {
        overflow: hidden;
    }
}
.builder-end-buttons .menu-item { z-index: 9999; }

.builder-nav-menu a { white-space: nowrap; padding: 8px 15px !important; }
.builder-nav-menu a:hover { background-color: var(--bs-gray-100); }
.builder-nav-menu a.active { box-shadow: var(--bs-box-shadow-sm) !important; color: var(--bs-primary) !important; background-color: #fff !important; }
.builder-nav-menu a.active i { color: var(--bs-primary) !important; }

.code-type-selector .builder-nav-menu a { padding: 4px 8px !important; font-size: var(--font-13) !important; }
.code-type-selector .builder-nav-menu { background-color: var(--bs-gray-100); }

.redx { height: 20px; width: 20px; border-radius: 20px; padding: 2px; cursor: pointer; background-color: #dc3545; color: #fff; display: flex; text-align: center; align-items: center; justify-content: center; }
.redx i { font-size: 12px; color: #fff; }
.redx:hover { opacity: 0.7; }

.trash-icon { cursor: pointer; padding: 5px; }
.trash-icon i { font-size: 12px; color: var(--bs-text-muted) }
.trash-icon:hover { opacity: 0.8; }

@media (max-width: 1199px) {
    .builder-preview-frame-wrapper { height: calc(100% - 170px); width: 100%; position: fixed; top: 110px; right: 0px; bottom: 60px; }
    .bottom-controls { width: 100%; }
    #popup_display_rules_drawer {
        bottom: 0 !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        top: 0 !important;
        z-index: 1105 !important;
    }
    #popup_display_rules_drawer .popup-display-rules-body {
        padding-bottom: calc(2rem + env(safe-area-inset-bottom)) !important;
    }
    body.purchase-builder.purchase-settings-products-active .preview-column {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    body.purchase-builder.purchase-settings-products-active .builder-products-rail-wrapper {
        bottom: 0;
        display: block;
        padding: 0 0 1.5rem;
        position: static;
        width: 100%;
    }
}

@media (max-width: 767px) {
    .language-editing-button { padding: 8px !important; }
}

@media (max-width: 500px) {
    .centered-mobile-frame {
        max-width: 100% !important;
    }
}

@media (min-width: 1300px) {
    .editable-wrapper { max-width: 375px !important; }
    .builder-preview-frame-wrapper { border-left: 1px solid #e2e8f0; }
    body.purchase-builder.purchase-settings-products-active .builder-products-rail-wrapper { border-left: 1px solid #e2e8f0; }
}

@media (min-width: 1200px) {
    body.purchase-builder.purchase-settings-products-active .builder-products-rail-wrapper {
        bottom: 0;
        display: block;
        overflow-y: auto;
        padding: 2rem 1.5rem 2rem;
        position: fixed;
        right: 0;
        top: 70px;
        width: calc(58% - 10px);
    }
    body.purchase-builder.purchase-settings-products-active .builder-preview-frame-wrapper { display: none !important; }
    body.purchase-builder.purchase-settings-products-active.purchase-settings-products-full-width .builder-column { display: none; }
    body.purchase-builder.purchase-settings-products-active.purchase-settings-products-full-width .preview-column {
        flex: 0 0 100%;
        max-width: 100%;
    }
    body.purchase-builder.purchase-settings-products-active.purchase-settings-products-full-width .builder-products-rail-wrapper {
        left: 0;
        width: 100%;
    }
    body.purchase-builder.purchase-settings-products-active.purchase-settings-products-full-width .bottom-controls { width: 100% !important; }
}

@media (min-width: 1200px) and (max-width: 1399px) {
    body.purchase-builder.purchase-settings-products-active .builder-products-rail-wrapper { top: 110px; }
}

@media (min-width: 992px) {
    .rules_scroll_wrapper { position: fixed !important; right: 0px; bottom: 90px; top: 115px; overflow-y: auto; padding-bottom: 20px; }
}

.content-editable { border: #fff 1px solid; cursor: text; padding: 8px; white-space: nowrap; border-radius: 5px; position: relative; display: block;  max-width: 100%; overflow-x: scroll; scrollbar-width: none; }
.content-editable::-webkit-scrollbar { display: none; }
.content-editable:focus, .content-editable:active { outline: none; border: #eee 1px solid; background-color: #fff !important; }
.content-editable:hover { background-color: #f5f5f5; }
.editable-wrapper i { position: absolute; right: -20px; top: 8px; }
.editable-wrapper { position: relative; display: block; max-width: calc(100% - 115px) !important;  }
.editable-wrapper:hover i { display: block !important; }

.lang-icon { box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 3px, rgba(0, 0, 0, 0.24) 0px 1px 2px; border-radius: 3px; overflow: hidden; }

.builder-saving-indicator { position: absolute; bottom: -30px; left: 0px; height: 30px; width: 100%; background-color: #fff; border-bottom: 1px solid rgb(229 231 235); opacity: .95 }
.indicator-bar { height: 4px; width: 150px; background-color: rgb(229,231,235,.5); overflow: hidden; border-radius: 10px;  }
.indicator-bar-inner { height: 100%; width: 10%; background-color: var(--bs-primary); }

.builder-saving-indicator-text { font-size: var(--font-12); color: #78829d; }

input.builder_warning
{
    border-color: #ff95245e !important;
    box-shadow: 0 0 0 0.2rem #f200000a !important; 
}

/* END Builder */

/* spinner icon */
@keyframes top-cricle {
    from {
        transform: rotate(-25deg);
    }
    to {
        transform: rotate(335deg);
    }
}

.spinner-container {
    position: absolute;
    top: calc(50% - 8px);
    left: calc(50% - 8px);
    transform: translate(-50%, -50%);
    line-height: 30px;
    height: 0px; 
    width: 0px;
    display: none;
    .spinner {
    
      & > span {
        display: inline-block;
        position: absolute;
        border-radius: 20px;
        padding: 5px;
        border: 3px solid transparent;
        
        animation: top-cricle 1s ease-in-out infinite;
        border-top: 3px solid #4ba7ee;
        
        &:nth-child(1) {
          animation-delay: -0.15s;
        }
  
        
      }
    }

  }

.spinner-container i {
    position: absolute;
    top: 0px;   
    left: 0px;
}

.builder-spinner .spinner-container { display: block !important;}
.builder-spinner .primary-icon { opacity: .01; }
.builder-spinner-check .spinner { display: none !important; }

.builder-spinner-check .spinner-container i { opacity: 1 !important; }

  /* END spinner icon */


.prizes-wrapper .accordion-header button { color: var(--bs-text-gray-900) !important; }
.accordion-button:not(.collapsed) { background-color: #fff !important; box-shadow: none !important; font-weight: semi-bold !important; }
.accordion-body { position: relative; }
.accordion-item .actions { position: absolute; right: 15px; top: -28px; display: block; z-index: 99; cursor: pointer; }
.accordion-item .actions i:hover { opacity: .6; }
.accordion:not(.first-child) { margin-top: 10px; }

.section-wrapper[data-section="design"] .accordion-header button {  padding: 14px 20px !important; font-size: var(--font-16) !important; }
.section-wrapper[data-section="design"] .accordion-header button i { font-size: var(--font-16) !important; font-weight: 500 !important; }

.contest-gallery-settings-accordion .accordion-item {
    border: 1px solid rgb(229 231 235);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
}
.contest-gallery-settings-accordion .accordion-header button {
    font-size: var(--font-16) !important;
    min-height: 56px;
    padding: 14px 20px !important;
}
.contest-gallery-settings-accordion .accordion-header button i {
    font-size: var(--font-16) !important;
    font-weight: 500 !important;
}
.contest-gallery-settings-accordion .accordion-body {
    padding: 20px;
}
.contest-gallery-settings-grid {
    display: grid;
    gap: 1.5rem 1.25rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.contest-gallery-settings-grid .input-group {
    width: 100%;
}
.contest-gallery-vote-window-row {
    grid-column: 1 / -1;
}
.contest-gallery-vote-window-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}
.contest-gallery-items-per-page-control {
    grid-column: 1 / -1;
}

.instant-win-prize-wheel-settings-accordion {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.instant-win-prize-wheel-settings-accordion .accordion-item {
    border: 1px solid rgb(229 231 235);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
}

.instant-win-prize-wheel-settings-accordion .accordion-header button {
    font-size: var(--font-16) !important;
    min-height: 56px;
    padding: 14px 20px !important;
}

.instant-win-prize-wheel-settings-accordion .accordion-header button i {
    font-size: var(--font-16) !important;
    font-weight: 500 !important;
}

.instant-win-prize-wheel-settings-accordion .accordion-body {
    padding: 20px;
}

.instant-win-settings-form {
    margin-bottom: 35px;
}

.instant-win-wheel-logo-upload .single_upload_image_preview_wrapper {
    max-width: 180px;
}

.instant-win-wheel-logo-upload .image_wrapper {
    min-height: 88px;
    padding: 12px !important;
}

.instant-win-wheel-logo-upload .single_upload_image_preview_wrapper img {
    max-height: 72px;
    max-width: 140px;
    object-fit: contain;
}

.instant-win-wheel-logo-upload .delete-single-upload-image {
    top: -7px;
    right: -7px;
}

.contest-gallery-form-link-control {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 1fr);
    gap: 1.25rem;
    align-items: end;
}
.contest-gallery-form-link-toggle {
    min-height: 44px;
    display: flex;
    align-items: center;
}
.contest-gallery-marketing-control {
    grid-column: 1 / -1;
}
.contest-gallery-count-slider {
    padding-top: 0.6rem;
}
.contest-gallery-slider-value {
    min-width: 2.5rem;
    text-align: right;
    font-size: var(--font-14);
    font-weight: 600;
}
.contest-gallery-slider-control {
    align-items: center;
    display: flex;
    gap: 1.25rem;
    min-height: 43px;
}
.contest-gallery-slider-control .kt_slider_basic {
    flex: 1 1 auto;
    min-width: 0;
}
.contest-gallery-slider-number {
    flex: 0 0 68px;
    text-align: center;
    width: 68px;
}
.upload_gallery_header_section .gallery-header-image-size-slider {
    display: none;
}
.upload_gallery_header_section.has-image .gallery-header-image-size-slider {
    display: block;
}

@media (max-width: 767px) {
    .contest-gallery-settings-grid {
        grid-template-columns: 1fr;
    }
    .contest-gallery-vote-window-fields {
        grid-template-columns: 1fr;
    }
    .contest-gallery-items-per-page-control {
        padding-top: 0;
    }
    .contest-gallery-form-link-control {
        grid-template-columns: 1fr;
    }
    .contest-gallery-slider-control {
        gap: 1rem;
    }
}

.calendar-table .ends.off { color: #ccc !important;   }
input.time-picker, input::-webkit-date-and-time-value  { text-align: left !important; }
.rules-wrapper textarea { min-height: 2000px; }

.ql-editor {
    min-height: 60px;
    max-height: 1000px;
    overflow-y: auto;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="8px"]::before {
    content: '8px';
    font-size: 8px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="9px"]::before {
    content: '9px';
    font-size: 9px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="10px"]::before {
    content: '10px';
    font-size: 10px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="11px"]::before {
    content: '11px';
    font-size: 11px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="12px"]::before {
    content: '12px';
    font-size: 12px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="14px"]::before {
    content: '14px';
    font-size: 14px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="16px"]::before {
    content: '16px';
    font-size: 16px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="18px"]::before {
    content: '18px';
    font-size: 18px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="20px"]::before {
    content: '20px';
    font-size: 20px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="24px"]::before {
    content: '24px';
    font-size: 24px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="30px"]::before {
    content: '30px';
    font-size: 30px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="36px"]::before {
    content: '36px';
    font-size: 36px !important;
}

.ql-snow .ql-picker.ql-size .ql-picker-item::before, .ql-snow .ql-picker.ql-size .ql-picker-label::before {
    content: 'Font Size';
}

.card-with-drag-drop-wrapper { min-height: 650px;}

#rules_modal.is_custom_rules .all-rules-details { width: 100% !important; }
#rules_modal.is_custom_rules .auto-rules-details { display: none !important;  }

#rules_modal .custom-rules-editor-wrapper { display: none !important; }
#rules_modal.is_custom_rules .custom-rules-editor-wrapper { display: block !important; }
#rules_modal.is_custom_rules .auto-rules-editor-wrapper { display: none !important; }
#rules_modal.is_custom_rules .customize_auto_rules { display: none !important; }

.eligible-country-remove, .eligible-us-state-remove, .eligible-cad-region-remove { cursor: pointer; }
.eligible-country-remove:hover, .eligible-us-state-remove:hover, .eligible-cad-region-remove:hover { opacity: .6; }
.eligible-us-states-label, .eligible-cad-regions-label { font-weight: bold; padding: 5px; }

.toggle-card { cursor: pointer; }
.toggle-card:hover { opacity: .6; }

.new_form_field_search_item { z-index: 1001 !important; }

.setup-form-items-wrapper .form-item:hover { background-color: #f9fafb; border-radius: 5px; }
.setup-form-items-wrapper { max-height: 500px; overflow-y: auto; }
.setup-form-items-wrapper .form-item-icon { width: 40px; height: 40px; margin-right: 10px; display: flex; align-items: center; justify-content: center; background-color: rgb(249 250 251);   border-radius: 5px; }
.setup-form-items-wrapper .form-item-icon i { font-size: var(--font-16) !important; color: var(--bs-text-primary) !important; }
.integration-brand-logo {
    display: block;
    width: 20px;
    height: 20px;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.integration-brand-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
#integration_configure_modal .integration-configure-modal-content {
    overflow: visible;
}
#integration_configure_modal .integration-configure-modal-body {
    max-height: calc(100vh - 220px);
    overflow-y: auto;
    overscroll-behavior: contain;
}
#integration_configure_modal .select2-container {
    width: 100% !important;
}
#integration_configure_modal .integration-configure-modal-content .select2-container--open,
#integration_configure_modal .integration-configure-modal-content .select2-dropdown {
    z-index: 1065;
}
.setup-form-items-wrapper .add-primary-field .form-item-icon i { color: var(--bs-warning) !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-globe { color: #6366F1 !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-share-nodes { color: #8B5CF6 !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-envelope { color: #EC4899 !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-mobile-screen-button { color: #14B8A6 !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-circle-question { color: #F59E0B !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-square-poll-vertical { color: #8B5CF6 !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-facebook { color: #1877F2 !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-instagram { color: #E4405F !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-linkedin { color: #0A66C2 !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-pinterest { color: #BD081C !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-snapchat {
    color: #000000 !important;
}
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-spotify { color: #1DB954 !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-tiktok { color: #000000 !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-x-twitter { color: #000000 !important; }
.setup-form-items-wrapper .add-social-action .form-item-icon i.fa-youtube { color: #FF0000 !important; }
.setup-form-items-wrapper .add-integration .form-item-icon i { color: inherit !important; }
.setup-form-items-wrapper .form-item-heading { font-size: var(--font-14); padding: 4px 10px; background-color: rgb(249 250 251); color: rgb(107 114 128); border-radius: 5px; margin-bottom: 5px; }
.setup-form-items-wrapper .form-item-title { font-size: var(--font-16); font-weight: 600; color: rgb(2, 8, 23); }

.slider-wrapper { position: relative; }
.slider-value-wrapper { width: auto !important; position: absolute; top: -3px; right: 9px; font-size: var(--font-12); color: #78829d; background-color: var(--bs-gray-200); padding: 2px 6px; border-radius: 4px; z-index: 20; font-weight: 500; }

.form-items-menu { width: calc(100% - 20px) !important; left: 10px !important; }
@media (hover: none), (pointer: coarse) {
    .form-items-menu.menu-sub-dropdown.show { animation: none !important; }
}
.card-header.form-fields-header { min-height: 55px !important; border-bottom: none !important; }
.card-header.form-fields-header.collapsed { border-radius: inherit !important; }
.form-field-item-wrapper .card-header i { color: rgb(156 163 175) !important; font-size: var(--font-16) !important; }
.form-field-item-wrapper .card-sub-title h3 { font-size: var(--font-12) !important; color: rgb(107 114 128) !important; }
.revassist-faq-item .card-sub-title h3 { font-size: var(--font-12) !important; color: rgb(107 114 128) !important; }
.form-field-item-wrapper .section-icon { display: inline-flex; justify-content: center; width: 20px; }
.form-field-item-wrapper .section-icon i { color: var(--bs-text-primary) !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-globe { color: #6366F1 !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-share-nodes { color: #8B5CF6 !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-envelope { color: #EC4899 !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-mobile-screen-button { color: #14B8A6 !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-circle-question { color: #F59E0B !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-square-poll-vertical { color: #8B5CF6 !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-facebook { color: #1877F2 !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-instagram { color: #E4405F !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-linkedin { color: #0A66C2 !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-pinterest { color: #BD081C !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-snapchat {
    color: #000000 !important;
}
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-spotify { color: #1DB954 !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-tiktok { color: #000000 !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-x-twitter { color: #000000 !important; }
.social-actions-wrapper .form-field-item-wrapper .section-icon i.fa-youtube { color: #FF0000 !important; }
.form-field-item-wrapper.primary-field-wrapper .section-icon i { color: var(--bs-warning) !important; }
.toggle-card:hover {
    opacity: 1 !important;
    background-color:rgb(249,250,251) !important;
}

.form-fields-wrapper { outline: none !important; }
.form-field-item-wrapper .collapsing { transition: height 0.3s ease-in-out !important; }
/* Form fields & Actions - chevron rotation */
.form-field-chevron { transition: transform 0.3s ease; display: inline-flex; }
.toggle-card:not(.collapsed) .form-field-chevron { transform: rotate(180deg); }
.prize-item .accordion-button.prize-accordion-button { color: var(--bs-gray-900) !important; background-color: transparent !important; box-shadow: none !important; font-size: var(--font-16) !important; padding-left: 1rem; padding-right: 1rem; }
.prize-item .accordion-button.prize-accordion-button::after { display: none; }
.prize-item .accordion-button.prize-accordion-button:not(.collapsed) .prize-chevron { transform: rotate(180deg); }
.prize-item .accordion-header i { color: rgb(156 163 175) !important; font-size: var(--font-16) !important; }
.prize-item .prize-header-actions a { padding: 5px; display: inline-flex; align-items: center; justify-content: center; border-radius: 3px; color: var(--bs-gray-700); margin-left: 0.75rem; }
.prize-item .prize-header-actions a:hover { background-color: rgb(243 244 246) !important; color: var(--bs-gray-900); }
.form-field-item-wrapper .remove-form-field, .form-field-item-wrapper .duplicate-form-field { padding: 5px; display: inline-block; border-radius: 3px; } 
.form-field-item-wrapper .remove-form-field:hover, .form-field-item-wrapper .duplicate-form-field:hover  { background-color: rgb(243 244 246)  !important; }
.form-field-item-wrapper .form-fields-menu { border-bottom: 1px solid rgb(226 232 240); text-wrap: nowrap; overflow-x: auto; }
.form-field-item-wrapper .form-fields-menu a { display: inline-block; padding: 16px 10px; margin-right: 18px; font-weight: 600; color: rgb(148 163 184);font-size: var(--font-14); }
.form-field-item-wrapper .form-fields-menu a.active { color: var(--bs-text-primary) !important; border-bottom: 2px solid var(--bs-text-primary) !important; }
.form-field-item-wrapper .form-fields-menu a:hover { color: #111 !important }
.form-field-item-wrapper .card-body { padding: 0 !important; }
.form-field-item-wrapper .collapse-inner { padding: 0px 16px 20px 16px; }
.form-field-item-wrapper .form-fields-content { padding-top: 10px; }
.form-field-item-wrapper .form-fields-content .select2-container { width: 100% !important; }
.form-field-item-wrapper .form-fields-content .select2-container .select2-selection--single {
    align-items: center;
    border-color: var(--bs-gray-300);
    border-radius: 0.475rem;
    display: flex;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
}
.form-field-item-wrapper .form-fields-content .select2-container .select2-selection--single .select2-selection__rendered {
    color: var(--bs-gray-700);
    line-height: 44px !important;
    padding-left: 1rem !important;
    padding-right: 2.5rem !important;
}
.form-field-item-wrapper .form-fields-content .select2-container .select2-selection--single .select2-selection__arrow {
    height: 44px !important;
    right: 0.55rem;
    top: 0 !important;
}
.form-field-item-wrapper .form-fields-content .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #c3e2f9;
    box-shadow: 0 0 0 0.2rem rgba(195, 226, 249, 0.25);
}
.form-field-item-wrapper .form-fields-content .select2-container .select2-selection--multiple {
    border-color: var(--bs-gray-300);
    border-radius: 0.475rem;
    min-height: 44px !important;
    padding: 0.4rem 0.75rem !important;
}
.form-field-item-wrapper .form-fields-content .select2-container .select2-selection--multiple .select2-search--inline .select2-search__field {
    margin-top: 0 !important;
}
.form-field-item-wrapper .form-fields-content .select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #c3e2f9;
    box-shadow: 0 0 0 0.2rem rgba(195, 226, 249, 0.25);
}
.form-field-item-wrapper .media-preview  { position: relative; }
.form-field-item-wrapper .media-preview  img { max-height: 300px; max-width: 300px; border-radius: 10px; overflow: hidden; }
.form-field-item-wrapper .media-preview  .remove-media {  position: absolute; top: 0px; right: 0px; }

.contest-submission-cover-loading {
    background: #fff;
    border: 1px solid var(--bs-gray-200);
    border-radius: 8px;
    padding: 0.85rem 1rem;
    width: 100%;
}
.contest-submission-cover-progress {
    height: 0.35rem;
    margin-top: 0.35rem;
}

.form-field-item-wrapper .type_min_value, .form-field-item-wrapper .type_max_value, .form-field-item-wrapper .type_min_files, .form-field-item-wrapper .type_max_files { width: calc(50% - 10px); }
.form-field-item-wrapper .to_label_wrapper { width: 20px; text-align: center;padding-top: 35px; }

.max-length-wrapper { position: relative; }
.form-field-item-wrapper .max-length-indicator {z-index: 100; position: absolute; bottom: 3px; right: 15px; font-size: var(--font-12); color: #78829d; }

@media (max-width: 500px) {
.form-field-item-wrapper .card-label {  max-width: 140px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.hide-on-mobile { display: none !important; }
}   
.alignment-option.selected { background-color: rgb(249,250,251) !important; }

.form-field-item-wrapper.type-new_page .card { border-style: dashed !important;  }
.form-field-item-wrapper.type-new_page .card .card-header { background-color:#f3f4f6 !important; }
.form-field-item-wrapper.type-new_page .section-icon i { color: rgb(107 114 128) !important; }
.form-field-item-wrapper.np-nesting { padding-left: 25px !important; }
.form-field-item-wrapper .card-header i.hidden-field-icon { font-size: var(--font-10) !important; color: var(--bs-warning) !important; }
.form-field-item-wrapper i.primary-field-icon { color: var(--bs-warning) !important; font-size: var(--font-12) !important; }

.form-field-item-wrapper.type-email .type_field_required { display: none !important; }
.fixed-form-fields-wrapper .draggable-handle:not(.no-hide), .form-field-item-wrapper.type-age_gate .draggable-handle, .form-field-item-wrapper.type-enter .draggable-handle { opacity: .01 !important; }


.form-field-item-wrapper .separator-line-wrapper { position: relative; margin: 10px 0px 7px 0px; }
.form-field-item-wrapper .separator-line { border-top: 1px solid var(--bs-gray-200); height: 1px; display: block; width: 100%; }
.form-field-item-wrapper .or_wrapper { font-size: var(--font-12); color: var(--bs-gray-500); padding: 0px 10px; }
.share_option_item .share_option_body { display: none; }
.share_option_item.show .share_option_body { display: block; }
.share_option_item .share_option_icon_close i { transform: rotate(-180deg); }
.share_option_item.show .share_option_icon_close i { transform: rotate(0deg); }
.share-preview-wrapper { max-width: 560px; }
.share-preview-card { border: 1px solid var(--bs-gray-300); border-radius: 10px; overflow: hidden; background-color: #fff; margin-bottom: 10px; }
.share-preview-card-image { min-height: 170px; background-color: var(--bs-gray-100); }
.share-preview-card-image .image_wrapper { width: 100%; min-height: 170px; background-color: var(--bs-gray-100); }
.share-preview-card-image .image_wrapper img { width: 100%; max-height: 250px; object-fit: cover; border: 0; border-radius: 0; }
.share-preview-card-placeholder { width: 100%; min-height: 170px; display: flex; align-items: center; justify-content: center; color: var(--bs-gray-500); }
.share-preview-image-toolbar { position: absolute; top: 10px; right: 10px; display: flex; align-items: center; gap: 8px; z-index: 10; }
.share-preview-inline-uploader .image-upload-wrapper > .border { padding: 8px 12px !important; border-radius: 0.25rem !important; background-color: rgba(255, 255, 255, 0.92); border-style: dashed !important; box-shadow: none !important; }
.share-preview-inline-uploader .image-upload-wrapper .background_color_icons { display: none !important; }
.share-preview-inline-uploader .image-upload-wrapper .file-upload-info { display: none !important; }
.share-preview-inline-uploader .image-upload-wrapper .text_color_primary { font-size: var(--font-12) !important; font-weight: 500 !important; color: var(--bs-gray-700) !important; }
.share-preview-delete-image { position: static !important; display: none !important; }
.share-preview-card.has-image .share-preview-delete-image { display: inline-flex !important; }
.share-preview-card.single_upload_image_section.has-image .share-preview-inline-uploader .image-upload-wrapper { display: block !important; }
.share-preview-card-body { padding: 12px 14px; border-top: 1px solid var(--bs-gray-200); background-color: var(--bs-gray-100); }
.share-preview-card-domain { font-size: var(--font-10); letter-spacing: .04em; text-transform: uppercase; color: var(--bs-gray-600); margin-bottom: 4px; }
.share-preview-card-title { font-size: var(--font-14); font-weight: 600; line-height: 1.35; color: var(--bs-gray-900); margin-bottom: 4px; word-break: break-word; }
.share-preview-card-description { font-size: var(--font-12); line-height: 1.4; color: var(--bs-gray-700); word-break: break-word; }
.share-preview-card.editing .share-preview-card-title,
.share-preview-card.editing .share-preview-card-description { border: 1px dashed var(--bs-gray-400); border-radius: 6px; background-color: #fff; padding: 4px 6px; outline: none; cursor: text; }
.share-preview-card.editing .share-preview-card-title { min-height: 30px; }
.share-preview-card.editing .share-preview-card-description { min-height: 46px; }
.share-preview-edit-toggle { padding: 4px 8px !important; min-height: 28px; }
.share-preview-edit-counters { font-size: var(--font-11); color: var(--bs-gray-600); margin-top: 4px; }
.share-preview-card.hosted-preview-mode .share-preview-edit-toggle { display: none !important; }
.share-preview-card.hosted-preview-mode .share-preview-image-toolbar { display: none !important; }
.share-preview-card.hosted-preview-mode .share-preview-card-title,
.share-preview-card.hosted-preview-mode .share-preview-card-description { cursor: default; }
.share-preview-hosted-notice i { color: var(--bs-warning); }
.share-preview-hidden-fields { display: none !important; }
.share-preview-platforms .share-preview-platform { background-color: #fff; }
.share-preview-platforms .share-preview-platform:hover { background-color: var(--bs-gray-100); }
.share-preview-advanced-toggle { text-decoration: none; }
.share-preview-advanced-toggle:hover { color: var(--bs-gray-900) !important; }
.share-preview-advanced-chevron { transition: transform 0.18s ease; }
.share-preview-advanced-toggle.open .share-preview-advanced-chevron { transform: rotate(90deg); }

.copy-clipboard i:nth-child(2) { display: none; }
.copy-clipboard.success i { color: var(--bs-success); }
.copy-clipboard.success i:nth-child(1) { display: none; }
.copy-clipboard.success i:nth-child(2) { display: block !important; }
.copy-clipboard i { padding: 0px !important; }

.save-check-btn i:nth-child(2) { display: none; }
.save-check-btn.success i { color: var(--bs-success); }
.save-check-btn.success i:nth-child(1) { display: none; }
.save-check-btn.success i:nth-child(2) { display: block !important; }
.save-check-btn i { padding: 0px !important; }

.slide-out-rows-container { overflow: visible; position: relative; }
.entries-list-wrapper {
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    overflow: visible !important;
    position: relative;
    z-index: 1;
}
.entries-list-table-scroll { overflow-x: auto; position: relative; z-index: 1; }
.instant-win-table-surface {
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
}
.instant-win-table-surface table.participants-table-v2 thead th:first-child {
    border-top-left-radius: 0.75rem;
}
.instant-win-table-surface table.participants-table-v2 thead th:last-child {
    border-top-right-radius: 0.75rem;
}
.instant-win-table-surface table.participants-table-v2 tbody tr:last-child td:first-child {
    border-bottom-left-radius: 0.75rem;
}
.instant-win-table-surface table.participants-table-v2 tbody tr:last-child td:last-child {
    border-bottom-right-radius: 0.75rem;
}

.winners-subtab-nav {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 0 0.5rem;
    margin-bottom: 0.5rem;
}
.winners-subtab-trigger {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    padding: 0.5rem 0.9rem;
    color: #5e6278;
    font-weight: 600;
    font-size: 0.95rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
}
.winners-subtab-trigger:hover { background-color: #f1f3f8; color: #3f4254; }
.winners-subtab-trigger.active {
    background-color: #eef3ff;
    color: #3e97ff;
    border-color: #d5e3ff;
}
.winners-subtab-trigger i { font-size: 0.95rem; }

.winners-slide-out-content[data-active-subtab="instant_win"] .winners-header-actions-regular { display: none !important; }
.winners-slide-out-content[data-active-subtab="regular"] .winners-header-actions-instant { display: none !important; }

.iw-inventory-won-search {
    background: transparent;
    border: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: color 120ms ease;
}
.iw-inventory-won-search .iw-inventory-won-icon {
    opacity: 0;
    font-size: 0.85rem;
    color: #5e6278;
    transition: opacity 120ms ease;
}
.iw-inventory-won-search:hover { color: #3e97ff; }
.iw-inventory-won-search:hover .iw-inventory-won-icon { opacity: 1; color: #3e97ff; }
.iw-inventory-won-search:focus-visible {
    outline: 2px solid #3e97ff;
    outline-offset: 2px;
    border-radius: 0.25rem;
}
.iw-inventory-won-search:focus-visible .iw-inventory-won-icon { opacity: 1; color: #3e97ff; }
.entries-list-wrapper.is-loading .entries-list-table-scroll {
    min-height: 320px;
}
.entries-list-wrapper.is-loading .entries-list-table-scroll > *:not(.sonar-table-loading-overlay) {
    pointer-events: none;
    user-select: none;
}

.participants-toolbar { border-bottom: 1px solid #e2e8f0; overflow: visible; padding: 1rem; position: relative; z-index: 5; }
.participants-toolbar .entries-count { font-size: var(--font-14); white-space: nowrap; }
.participants-summary-refresh {
    align-items: center;
    background: transparent;
    border: none;
    border-radius: 999px;
    color: #64748b;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    width: 30px;
}
.participants-summary-refresh:hover { background-color: #f1f5f9; color: #334155; }
.participants-toolbar-controls {
    align-items: center;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    justify-content: flex-end;
    min-width: 0;
    width: 100%;
}
.participants-bulk-row {
    align-items: center;
    background-color: #f7f9fc;
    border-top: 1px solid #e2e8f0;
    display: flex;
    gap: 0.65rem;
    justify-content: space-between;
    margin: 1rem -1rem -1rem;
    min-height: 52px;
    padding: 0.4rem 1rem;
}
.participants-bulk-summary-wrap { gap: 0.65rem !important; min-width: 0; }
.participants-bulk-count {
    align-items: center;
    background-color: var(--bs-primary);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: var(--font-13);
    font-weight: 700;
    height: 28px;
    justify-content: center;
    line-height: 1;
    min-width: 28px;
    padding: 0 0.25rem;
}
.participants-bulk-row .participants-bulk-summary {
    font-size: var(--font-13);
    line-height: 1.25;
    white-space: nowrap;
}
.participants-bulk-row .participants-bulk-actions {
    gap: 0.35rem !important;
    margin-left: auto;
}
.participants-bulk-row .participants-toolbar-btn {
    min-height: 30px;
    padding: 0.22rem 0.62rem !important;
}
.participants-bulk-row .participants-toolbar-btn i { font-size: 13px; }
.participants-bulk-row .participant-bulk-action-invalidate,
.participants-bulk-row .participant-bulk-action-validate,
.participants-bulk-row .participant-bulk-action-delete { color: inherit !important; }
.participants-bulk-row .participants-toolbar-btn:disabled { opacity: 0.5; }
.participants-bulk-clear-link {
    align-items: center;
    color: #64748b;
    display: inline-flex;
    font-size: var(--font-13);
    font-weight: 500;
    gap: 0.4rem;
    line-height: 1;
    margin-left: 0.85rem;
    padding: 0.2rem 0.15rem;
    text-decoration: none;
}
.participants-bulk-clear-link i { font-size: 14px; }
.participants-bulk-clear-link:hover { color: #1f2937; text-decoration: none; }
.participants-toolbar-search-wrap {
    flex: 0 0 min(100%, 360px);
    min-width: 0;
    width: min(100%, 360px);
}
.participants-toolbar-search-wrap .form-control { background-color: #fff; border-color: #dfe3ea; }
.slide-out-search-clear { padding: 0 0.25rem; line-height: 1; }
.slide-out-search-clear:hover { color: #1f2937 !important; }
.participants-toolbar-btn { border: 1px solid #d8dee8 !important; background-color: #fff !important; color: #1f2937 !important; display: inline-flex; align-items: center; gap: 0.45rem; }
.participants-toolbar-btn:hover { background-color: #f8fafc !important; border-color: #c8d0dd !important; }
.participants-toolbar-btn i { color: inherit !important; }
.open-manual-contest-submission:hover,
.open-manual-contest-submission:focus {
    background-color: #f8fafc !important;
    border-color: #c8d0dd !important;
    color: #1f2937 !important;
}
.participants-filter-wrap,
.winners-filter-wrap,
.moderation-filter-wrap {
    flex: 0 1 auto;
    min-width: 0;
    position: relative;
    z-index: 25;
}
.participants-filter-trigger,
.winners-filter-trigger,
.moderation-filter-trigger {
    align-items: center;
    column-gap: 0.45rem;
    display: grid !important;
    grid-template-columns: auto auto minmax(0, 1fr);
    justify-content: stretch;
    max-width: 100%;
    min-width: 0;
    position: relative;
    row-gap: 0.35rem;
    width: 100%;
}
.participants-filter-trigger > span:not(.dashboard-filter-trigger-pills),
.winners-filter-trigger > span:not(.dashboard-filter-trigger-pills),
.moderation-filter-trigger > span:not(.dashboard-filter-trigger-pills) { white-space: nowrap; }
.dashboard-filter-trigger-pills {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    justify-content: flex-start;
    min-width: 0;
}
.dashboard-filter-trigger-pill {
    flex: 0 1 auto;
    max-width: min(260px, 100%);
    min-height: 24px;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
}
.dashboard-filter-trigger-pill-label {
    display: inline-block;
    flex: 1 1 auto;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
}
.dashboard-filter-trigger-pill .participant-status-dot {
    height: 7px;
    width: 7px;
}
.dashboard-filter-trigger-pill--overflow { flex: 0 0 auto; }
.shopify-products-bulk-tools-trigger {
    min-width: 150px;
    justify-content: center;
}
.shopify-products-card-title-group {
    min-width: 0;
}
.shopify-products-title-filter {
    width: 110px;
    min-width: 110px;
}
.shopify-products-card-title-text {
    min-width: 0;
}
.shopify-products-bulk-tools-trigger .shopify-products-bulk-tools-status {
    font-weight: 500;
    line-height: 1;
    margin-left: 0.2rem;
}
.participants-filter-menu {
    display: none;
    left: auto;
    max-height: min(72vh, 680px);
    padding: 0 !important;
    position: absolute;
    right: 0;
    top: calc(100% + 0.45rem);
    z-index: 250;
}
.participants-filter-menu,
.winners-filter-menu,
.moderation-filter-menu {
    min-width: 420px;
    width: min(420px, calc(100vw - 2rem));
}
.participants-filter-wrap.open .participants-filter-menu { display: flex; flex-direction: column; }
.shopify-products-bulk-tools-menu {
    min-width: 560px;
    width: min(560px, calc(100vw - 2rem));
}
.shopify-products-bulk-tools-menu .participants-filter-section {
    padding-top: 1rem;
}
.participants-filter-section {
    overflow-y: auto;
    padding-bottom: 0.7rem !important;
    padding-top: 0.85rem;
}
.participants-filter-section::after {
    content: '';
    display: block;
    height: 0.2rem;
}
.participants-filter-header {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}
.participants-filter-title { letter-spacing: 0.01em; }
.participants-filter-status-row { align-items: center; display: flex; flex-wrap: wrap; gap: 0.55rem; }
.participants-filter-chip { cursor: pointer; margin: 0; user-select: none; }
.participants-filter-chip-input {
    height: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 0;
}
.participants-filter-chip .participant-status-badge {
    pointer-events: none;
    font-size: var(--font-13);
    font-weight: 600;
    padding: 6px 12px;
    transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, opacity 0.16s ease;
}
.dashboard-filter-counted-stack {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.dashboard-filter-counted-option {
    display: block;
    width: 100%;
}
.dashboard-filter-counted-row {
    align-items: center;
    background-color: #fff;
    border: 1px solid #d8dee8;
    border-radius: 0.75rem;
    color: #1f2937;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    min-height: 44px;
    padding: 0.55rem 0.8rem;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
    width: 100%;
}
.dashboard-filter-counted-row-main {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    min-width: 0;
}
.dashboard-filter-counted-row .participant-status-badge {
    justify-content: flex-start;
    max-width: 100%;
}
.dashboard-filter-counted-row-count {
    color: #64748b;
    flex: 0 0 auto;
    font-size: var(--font-12);
    font-weight: 700;
    line-height: 1;
}
.participants-filter-chip .participant-status-badge .participant-status-dot {
    height: 8px;
    width: 8px;
}
.participants-filter-chip-input:not(:checked) + .participant-status-badge {
    background-color: #f8fafc;
    border-color: #e2e8f0;
    color: #94a3b8;
}
.participants-filter-chip-input:not(:checked) + .participant-status-badge .participant-status-dot { background-color: #cbd5e1; }
.participants-filter-chip-input:not(:checked) + .dashboard-filter-counted-row {
    background-color: #f8fafc;
    border-color: #e2e8f0;
}
.participants-filter-chip-input:not(:checked) + .dashboard-filter-counted-row .participant-status-badge {
    background-color: #f8fafc;
    border-color: #e2e8f0;
    color: #94a3b8;
}
.participants-filter-chip-input:not(:checked) + .dashboard-filter-counted-row .participant-status-dot { background-color: #cbd5e1; }
.participants-filter-chip-input:not(:checked) + .dashboard-filter-counted-row .dashboard-filter-counted-row-count { color: #94a3b8; }
.participants-filter-rule-block {
    border-top: 1px solid #e9edf4;
    margin-top: 0.95rem !important;
    padding-top: 0.95rem;
}
.participants-filter-rule-block:last-child { padding-bottom: 0.25rem; }
.participants-filter-rule-row { display: grid; gap: 0.45rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.participants-filter-rule-row-single { grid-template-columns: minmax(0, 1fr); }
.participants-filter-rule-block .participants-filter-rule-row:last-child { margin-bottom: 0.25rem; }
.participants-filter-location-row {
    grid-template-columns: minmax(112px, 128px) minmax(132px, 148px) minmax(0, 1fr);
}
.participants-filter-inline-input { min-width: 0; }
.participants-filter-rule-row .form-select,
.participants-filter-input-wrap .form-control,
.participants-filter-inline-input .form-control {
    border-color: #dfe3ea;
    font-size: var(--font-13);
    height: 34px;
    min-height: 34px;
}
.participants-filter-rule-row .form-select:focus,
.participants-filter-input-wrap .form-control:focus,
.participants-filter-inline-input .form-control:focus {
    border-color: #b6c3d9;
    box-shadow: 0 0 0 0.15rem rgba(29, 78, 216, 0.08);
}
.participants-filter-menu .select2-container { width: 100% !important; }
.participants-filter-menu .select2-container .select2-selection--single {
    align-items: center;
    background-image: none !important;
    border-color: #dfe3ea;
    border-radius: 0.475rem;
    display: flex;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
}
.participants-filter-menu .select2-container .select2-selection--single .select2-selection__rendered {
    color: #344054;
    font-size: var(--font-13);
    line-height: 34px !important;
    padding-left: 0.95rem !important;
    padding-right: 2rem !important;
}
.participants-filter-menu .select2-container .select2-selection--single .select2-selection__arrow {
    height: 34px !important;
    right: 0.45rem;
    top: 0 !important;
}
.votes-filter-menu .votes-submission-filter + .select2-container .select2-selection--single {
    padding-right: 0 !important;
    position: relative;
}
.votes-filter-menu .votes-submission-filter + .select2-container .select2-selection--single .select2-selection__rendered {
    padding-right: 2.4rem !important;
}
.votes-filter-menu .votes-submission-filter + .select2-container .select2-selection--single .select2-selection__clear {
    color: #475467;
    font-size: 1.45rem;
    line-height: 32px;
    margin-right: 0 !important;
    position: absolute;
    right: 0.8rem;
    top: 0;
    z-index: 2;
}
.votes-filter-menu .votes-submission-filter + .select2-container .select2-selection--single .select2-selection__arrow {
    display: none;
}
.participants-filter-menu .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #b6c3d9;
    box-shadow: 0 0 0 0.15rem rgba(29, 78, 216, 0.08);
}
.shopify-product-bonus-period-inspector .select2-container .select2-selection--single {
    height: 40px !important;
    min-height: 40px !important;
}
.shopify-product-bonus-period-inspector .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 40px !important;
}
.shopify-product-bonus-period-inspector .select2-container .select2-selection--single .select2-selection__arrow {
    height: 40px !important;
}
.shopify-product-bonus-period-selector-trigger {
    align-items: center;
    display: inline-flex;
    gap: 0.55rem;
    justify-content: space-between;
    min-width: 220px;
}
.shopify-product-bonus-period-selector-trigger-label {
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.shopify-product-bonus-period-selector-wrap .participants-filter-menu {
    min-width: 380px;
    width: min(380px, calc(100vw - 2rem));
}
.shopify-product-bonus-period-selector-list {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.shopify-product-bonus-period-option {
    align-items: center;
    background-color: #fff;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.85rem;
    color: inherit;
    display: flex;
    gap: 0.75rem;
    padding: 0.8rem 0.9rem;
    text-align: left;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
    width: 100%;
}
.shopify-product-bonus-period-option:hover {
    background-color: #f9fbff;
    border-color: #cfd7e4;
    text-decoration: none;
}
.shopify-product-bonus-period-option.active {
    background-color: #eef6ff;
    border-color: #bfd5f2;
}
.shopify-product-bonus-period-option-all {
    background-color: #f8fafc;
}
.shopify-product-bonus-period-option-check {
    color: var(--bs-primary);
    flex: 0 0 16px;
    line-height: 1;
    opacity: 0;
    text-align: center;
    transition: opacity 0.15s ease;
}
.shopify-product-bonus-period-option-check.visible {
    opacity: 1;
}
.shopify-product-bonus-period-option-copy {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 0;
}
.shopify-product-bonus-period-option-title {
    color: var(--bs-gray-900);
    font-size: var(--font-13);
    font-weight: 700;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.shopify-product-bonus-period-option-date {
    color: var(--bs-gray-600);
    font-size: var(--font-11);
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.shopify-product-bonus-period-selector-empty {
    background-color: #fff;
    border: 1px dashed #d9e0ea;
    border-radius: 0.85rem;
    padding: 1rem;
}
.shopify-product-bonus-period-selector-footer {
    border-top: 1px solid var(--bs-border-color);
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
    padding-top: 1rem;
}
.shopify-product-bonus-period-inspector {
    background: transparent;
}
.shopify-product-bonus-period-inspector-card {
    background-color: #fff;
    border: 1px solid var(--bs-border-color);
    border-radius: 0.875rem;
    box-shadow: none;
    padding: 0.9rem 1rem;
}
.shopify-product-bonus-period-view {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem 1rem;
}
.shopify-product-bonus-period-view-copy {
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.85rem;
}
.shopify-product-bonus-period-view-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
}
.shopify-product-bonus-period-view-title {
    line-height: 1.35;
}
.shopify-product-bonus-period-view-meta {
    color: var(--bs-gray-600) !important;
    line-height: 1.35;
}
.shopify-product-bonus-period-view-actions {
    flex-wrap: wrap;
    flex-shrink: 0;
    justify-content: flex-end;
}
.shopify-product-bonus-period-form-delete {
    flex-shrink: 0;
}
.shopify-product-bonus-period-manager[data-inspector-mode="default-view"] .shopify-product-bonus-period-inspector-card,
.shopify-product-bonus-period-manager[data-inspector-mode="period-view"] .shopify-product-bonus-period-inspector-card {
    background: rgba(248, 250, 252, 0.92);
    border-color: #e5eaf1;
}
.shopify-product-bonus-period-manager[data-inspector-mode="period-create"] .shopify-product-bonus-period-inspector-card,
.shopify-product-bonus-period-manager[data-inspector-mode="period-edit"] .shopify-product-bonus-period-inspector-card {
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
    padding: 1.25rem 1.35rem;
}
.shopify-product-bonus-period-delete-action:hover {
    color: var(--bs-danger) !important;
}
.shopify-product-bonus-period-form .form-label {
    color: var(--bs-gray-700);
    font-weight: 600;
}
.shopify-product-bonus-period-form .form-control,
.shopify-product-bonus-period-form .form-select {
    border-color: #dfe3ea;
}
.shopify-product-bonus-period-form .form-control:focus,
.shopify-product-bonus-period-form .form-select:focus {
    border-color: #b6c3d9;
    box-shadow: 0 0 0 0.15rem rgba(29, 78, 216, 0.08);
}
.participants-filter-menu .select2-dropdown {
    border-color: #d8e0ee;
    border-radius: 0.475rem;
    z-index: 270;
}
.participants-filter-menu .select2-search--dropdown {
    padding: 0.75rem 0.75rem 0.5rem;
}
.participants-filter-menu .select2-search--dropdown .select2-search__field {
    border: 1px solid #d8e0ee !important;
    border-radius: 0.475rem;
    box-shadow: none !important;
    color: #344054;
    font-size: var(--font-13);
    height: 34px;
    outline: 0;
    padding: 0.45rem 0.75rem;
}
.participants-filter-menu .select2-search--dropdown .select2-search__field:focus {
    border-color: #b6c3d9 !important;
    box-shadow: 0 0 0 0.15rem rgba(29, 78, 216, 0.08) !important;
}
.participants-filter-menu .select2-results__option {
    font-size: var(--font-13);
}
.manual-contest-submission-modal .select2-dropdown {
    border-color: #d8e0ee;
    border-radius: 0.475rem;
    overflow: hidden;
}
.manual-contest-submission-modal .select2-search--dropdown {
    padding: 0.75rem 0.75rem 0.5rem;
}
.manual-contest-submission-modal .select2-search--dropdown .select2-search__field {
    border: 1px solid #d8e0ee !important;
    border-radius: 0.475rem;
    box-shadow: none !important;
    color: #344054;
    font-size: var(--font-13);
    height: 38px;
    outline: 0;
    padding: 0.45rem 0.75rem;
}
.manual-contest-submission-modal .select2-search--dropdown .select2-search__field:focus {
    border-color: #b6c3d9 !important;
    box-shadow: 0 0 0 0.15rem rgba(29, 78, 216, 0.08) !important;
}
.manual-contest-submission-modal .select2-results__option {
    font-size: var(--font-13);
}
.manual-contest-upload-list.d-flex {
    display: grid !important;
    gap: 1rem !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.manual-contest-external-url-control {
    position: relative;
}
.manual-contest-external-url-control .manual-contest-external-url {
    padding-right: 96px;
}
.manual-contest-external-url-control .manual-contest-add-external-url {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    height: 32px;
    min-width: 72px;
    padding: 0 10px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: var(--bs-gray-600);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    white-space: nowrap;
    font-size: var(--font-14);
    font-weight: 500;
    z-index: 2;
}
.manual-contest-external-url-control .manual-contest-add-external-url:hover,
.manual-contest-external-url-control .manual-contest-add-external-url:focus-visible {
    color: var(--bs-gray-600);
    background: var(--bs-gray-100);
}
.manual-contest-external-url-control .manual-contest-add-external-url i,
.manual-contest-external-url-control .manual-contest-add-external-url .manual-contest-external-url-status-icon-added,
.manual-contest-external-url-control .manual-contest-add-external-url .spinner-border {
    font-size: inherit;
}
.manual-contest-external-url-control .manual-contest-external-url-status-icon-added {
    line-height: 1;
}
.manual-contest-external-url-control .manual-contest-external-url-status-icon-loading {
    width: 0.9rem;
    height: 0.9rem;
    border-width: 0.12em;
}
.manual-contest-external-url-control.is-loading .manual-contest-external-url-status-icon-add,
.manual-contest-external-url-control.is-added .manual-contest-external-url-status-icon-add {
    display: none !important;
}
.manual-contest-external-url-control.is-loading .manual-contest-external-url-status-icon-loading,
.manual-contest-external-url-control.is-added .manual-contest-external-url-status-icon-added {
    display: inline-block !important;
}
.manual-contest-external-url-control.is-added .manual-contest-add-external-url {
    color: var(--bs-success) !important;
}
.manual-contest-external-url-control.is-added .manual-contest-external-url-status-icon-added {
    color: var(--bs-success) !important;
}
.manual-contest-upload-row {
    min-width: 0;
}
.manual-contest-upload-preview {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e4e8f0;
    border-radius: 0.475rem;
    display: flex;
    aspect-ratio: 1 / 1;
    justify-content: center;
    margin-bottom: 0.75rem;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.manual-contest-upload-thumb {
    background-position: center;
    background-size: cover;
    height: 100%;
    width: 100%;
}
.manual-contest-external-preview,
.manual-contest-upload-poster,
.manual-contest-upload-embed {
    height: 100%;
    width: 100%;
}
.manual-contest-external-preview {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.manual-contest-upload-poster {
    object-fit: cover;
}
.manual-contest-upload-embed {
    border: 0;
}
.manual-contest-upload-file-icon {
    color: #667085;
    font-size: 1.6rem;
}
.manual-contest-external-provider-label {
    color: #667085;
    font-size: var(--font-12);
    margin-top: 0.5rem;
}
.manual-contest-external-x-card {
    align-items: flex-start;
    color: #111827;
    display: flex;
    font-size: var(--font-12);
    height: 100%;
    justify-content: center;
    line-height: 1.45;
    overflow: hidden;
    padding: 1rem;
    width: 100%;
}
.manual-contest-upload-body {
    background: #fff;
    border: 1px solid #e4e8f0;
    border-radius: 0.475rem;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    min-width: 0;
    padding: 0.85rem;
}
.manual-contest-upload-remove {
    align-items: center;
    background: #fff;
    border: 0;
    border-radius: 50%;
    color: #475467;
    display: flex;
    height: 28px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    position: absolute;
    right: 0.5rem;
    top: 0.5rem;
    width: 28px;
}
.manual-contest-upload-remove:hover {
    background: #f2f4f7;
    color: #1f2937;
}
.manual-contest-caption-label {
    color: #667085;
    display: block;
    font-size: var(--font-12);
    font-weight: 600;
    line-height: 1.2;
}
.manual-contest-upload-name {
    color: #667085;
    font-size: var(--font-12);
    min-width: 0;
}
.manual-contest-caption {
    font-size: var(--font-14) !important;
    line-height: 1.4;
    min-height: 96px;
    resize: none;
}
@media (max-width: 991.98px) {
    .shopify-product-bonus-period-selector-trigger {
        min-width: 100%;
    }
    .shopify-product-bonus-period-selector-wrap {
        width: 100%;
    }
    .shopify-product-bonus-period-selector-wrap .participants-filter-menu {
        width: 100%;
    }
    .shopify-product-bonus-period-inspector-card {
        padding: 1.1rem;
    }
    .shopify-product-bonus-period-view {
        align-items: flex-start;
        flex-direction: column;
    }
    .shopify-product-bonus-period-view-actions {
        width: 100%;
    }
}
.participants-filter-date-input-group .input-group-text {
    background-color: #fff;
    border-color: #dfe3ea;
    color: #64748b;
    cursor: pointer;
    min-height: 34px;
}
.participants-filter-date-input-group .form-control {
    border-left: 0;
    min-height: 34px;
}
.participants-filter-input-wrap { margin-top: 0; }
.participants-filter-reset {
    color: #64748b;
    font-size: var(--font-13);
    font-weight: 600;
    text-decoration: none;
}
.participants-filter-reset-inline { line-height: 1.1; white-space: nowrap; }
.participants-filter-reset:hover { color: #1d4ed8; text-decoration: none; }
.slide-out-pagination { border-top: 1px solid #e2e8f0; margin-top: 0 !important; padding: 0.25rem 1rem 0.5rem; }

table.participants-table-v2 th:first-child,
table.participants-table-v2 td:first-child { padding-left: 16px !important; }
table.participants-table-v2 thead th {
    background-color: #f7f9fc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-right: 1px solid #edf1f7 !important;
    color: #475467 !important;
    font-size: var(--font-13) !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em;
    padding: 12px 10px !important;
    white-space: nowrap;
}
table.participants-table-v2 thead th:last-child { border-right: none !important; }
table.participants-table-v2 tbody tr { border-top: 1px solid rgb(226 232 240) !important; }
table.participants-table-v2 tbody tr:hover { background-color: #f9fbff !important; }
table.participants-table-v2 tbody td {
    border-right: 1px solid #edf1f7 !important;
    font-size: var(--font-13) !important;
    padding: 14px 10px !important;
    vertical-align: middle !important;
    white-space: nowrap;
}
table.participants-table-v2 tbody td:last-child { border-right: none !important; }
.dashboard-votes-table .votes-submission-cell {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
    max-width: 260px;
    min-width: 0;
    vertical-align: middle;
}
.dashboard-votes-table .votes-submission-preview-trigger {
    cursor: default;
    display: inline-block;
    max-width: 220px;
}
.dashboard-votes-table .votes-submission-gallery-link {
    align-items: center;
    color: var(--bs-gray-500);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: var(--font-9);
    justify-content: center;
    text-decoration: none;
}
.dashboard-votes-table .votes-submission-gallery-link:hover {
    color: var(--bs-primary);
}
.votes-submission-preview-tooltip {
    --bs-tooltip-bg: #fff;
    --bs-tooltip-color: var(--bs-gray-800);
    --bs-tooltip-max-width: 260px;
    --bs-tooltip-opacity: 1;
}
.votes-submission-preview-tooltip .tooltip-inner {
    background: #fff;
    border: 1px solid var(--bs-gray-200);
    border-radius: 0.7rem;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.14);
    max-width: 260px !important;
    overflow: hidden;
    padding: 0;
}
.votes-submission-preview-tooltip .tooltip-arrow::before {
    border-top-color: #fff;
}
.votes-submission-tooltip-content {
    align-items: center;
    display: flex;
    flex-direction: column;
}
.votes-submission-tooltip-image {
    background: #fff;
    display: block;
    height: 160px;
    object-fit: cover;
    width: 220px;
}
.votes-submission-tooltip-label {
    color: var(--bs-gray-800);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.votes-submission-tooltip-empty {
    color: var(--bs-gray-700);
    flex-direction: row;
    font-size: 12px;
    font-weight: 600;
    padding: 0.2rem 0.35rem;
}
.votes-submission-tooltip-empty i {
    color: var(--bs-gray-500);
    font-size: 15px;
}

/* Products table (builder) — mirrors participants-table-v2 */
.shopify-products-table-shell {
    background-color: #fff;
    border-radius: 0.75rem !important;
    overflow: hidden !important;
    position: relative;
}
table.products-table-v2 thead th {
    background-color: #f7f9fc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-right: 1px solid #edf1f7 !important;
    color: #475467 !important;
    font-size: var(--font-13) !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em;
    padding: 12px 10px !important;
    white-space: nowrap;
}
table.products-table-v2 thead th:last-child { border-right: none !important; }
table.products-table-v2 tbody tr { border-top: 1px solid rgb(226 232 240) !important; }
table.products-table-v2 tbody tr.shopify-product-settings-row { cursor: pointer; }
table.products-table-v2 tbody tr:hover { background-color: #f9fbff !important; }
table.products-table-v2 tbody td {
    border-right: 1px solid #edf1f7 !important;
    font-size: var(--font-13) !important;
    padding: 8px !important;
    vertical-align: middle !important;
    white-space: nowrap;
}
table.products-table-v2 tbody td:last-child { border-right: none !important; }
.products-table-v2 .products-cell-enabled { min-width: 50px; width: 50px; }
.products-table-v2 .products-cell-product { width: auto; min-width: 340px; white-space: normal !important; }
.products-table-v2 .products-cell-bonus,
.products-table-v2 .products-cell-multiplier {
    max-width: 150px;
    min-width: 150px;
    width: 150px;
}
.products-table-v2 .form-check-input.shopify-product-enabled-toggle {
    cursor: pointer;
    float: none;
    margin-top: 0;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus {
    position: relative;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-shell {
    min-height: 40px;
    position: relative;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-summary-trigger,
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-editor {
    border-radius: 0.75rem;
    inset: 0;
    position: absolute;
    transition: opacity 0.16s ease, transform 0.16s ease;
    width: 100%;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-summary-trigger {
    align-items: center;
    background-color: #fff;
    border-color: var(--bs-border-color);
    display: flex;
    justify-content: center;
    min-height: 40px;
    padding: 0.2rem 0.5rem !important;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-summary {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    justify-content: center;
    min-width: 0;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-summary-value {
    color: var(--bs-gray-800);
    font-size: var(--font-12);
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.1;
    white-space: nowrap;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-summary-label {
    color: var(--bs-gray-600);
    font-size: var(--font-10);
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.1;
    text-transform: uppercase;
    white-space: nowrap;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-editor {
    align-items: stretch;
    display: flex;
    gap: 0.35rem;
    opacity: 0;
    pointer-events: none;
    transform: translateY(2px);
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-mode-toggle {
    align-items: center;
    border-color: var(--bs-border-color);
    color: var(--bs-gray-500);
    display: inline-flex;
    flex: 0 0 42px;
    font-size: 1.3rem;
    font-weight: 700;
    justify-content: center;
    min-height: 40px;
    padding: 0 !important;
    width: 42px;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-editor-panel {
    flex: 1 1 auto;
    position: relative;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-editor-panel--invalid .shopify-product-bonus-amount {
    border-color: var(--bs-danger);
    box-shadow: inset 0 0 0 1px var(--bs-danger);
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-amount {
    font-size: var(--font-18);
    font-weight: 700;
    height: 40px;
    min-width: 0;
    padding: 0.2rem 0.55rem 1.1rem;
    text-align: center;
    width: 100%;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-editor-label {
    bottom: 0.18rem;
    color: var(--bs-gray-600);
    font-size: var(--font-10);
    font-weight: 700;
    left: 50%;
    letter-spacing: 0.12em;
    line-height: 1;
    pointer-events: none;
    position: absolute;
    text-transform: uppercase;
    transform: translateX(-50%);
    white-space: nowrap;
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-shell:hover .shopify-product-bonus-summary-trigger,
table.products-table-v2 tbody tr.shopify-product-settings-row.shopify-product-settings-row--editing td.products-cell-bonus .shopify-product-bonus-summary-trigger {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-2px);
}
table.products-table-v2 tbody tr.shopify-product-settings-row td.products-cell-bonus .shopify-product-bonus-shell:hover .shopify-product-bonus-editor,
table.products-table-v2 tbody tr.shopify-product-settings-row.shopify-product-settings-row--editing td.products-cell-bonus .shopify-product-bonus-editor {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
table.products-table-v2 tbody tr.shopify-product-settings-row.shopify-product-settings-row--period-disabled td.products-cell-bonus .shopify-product-bonus-summary-trigger,
table.products-table-v2 tbody tr.shopify-product-settings-row.shopify-product-settings-row--period-disabled td.products-cell-bonus .shopify-product-bonus-shell:hover .shopify-product-bonus-summary-trigger,
table.products-table-v2 tbody tr.shopify-product-settings-row.shopify-product-settings-row--period-disabled.shopify-product-settings-row--editing td.products-cell-bonus .shopify-product-bonus-summary-trigger {
    opacity: 0.55;
    pointer-events: none;
    transform: none;
}
table.products-table-v2 tbody tr.shopify-product-settings-row.shopify-product-settings-row--period-disabled td.products-cell-bonus .shopify-product-bonus-editor,
table.products-table-v2 tbody tr.shopify-product-settings-row.shopify-product-settings-row--period-disabled td.products-cell-bonus .shopify-product-bonus-shell:hover .shopify-product-bonus-editor,
table.products-table-v2 tbody tr.shopify-product-settings-row.shopify-product-settings-row--period-disabled.shopify-product-settings-row--editing td.products-cell-bonus .shopify-product-bonus-editor {
    opacity: 0;
    pointer-events: none;
    transform: translateY(2px);
}
.products-table-v2__meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
}
.products-table-v2__meta-item {
    align-items: center;
    display: inline-flex;
    gap: 0.35rem;
    max-width: 100%;
}
.products-table-v2__meta-item i {
    color: var(--bs-gray-500);
    flex: 0 0 auto;
}
.shopify-product-public-link {
    display: inline-flex;
    line-height: 1;
    text-decoration: none;
}
.shopify-product-public-link i {
    line-height: 1;
}
.products-table-v2__meta-item span {
    overflow-wrap: anywhere;
}
.shopify-tags-tooltip .tooltip-inner {
    max-width: 320px;
    overflow-wrap: anywhere;
    text-align: left;
    white-space: normal;
    word-break: break-word;
}

.participants-table-v2 .participants-cell-checkbox { width: 56px; }
.participants-table-v2 .participants-cell-total-entries { width: 110px; text-align: center; }
.participants-table-v2 .participants-cell-last-activity { width: 170px; }
.participants-table-v2 .participants-cell-status { min-width: 170px; width: 170px; }
.participants-table-v2 .participants-sort-trigger,
.products-table-v2 .participants-sort-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    display: inline-flex;
    font-size: inherit;
    font-weight: inherit;
    gap: 0.4rem;
    letter-spacing: inherit;
    padding: 0;
    text-transform: inherit;
}
.participants-table-v2 .participants-sort-trigger:hover,
.participants-table-v2 .participants-sort-trigger.active,
.products-table-v2 .participants-sort-trigger:hover,
.products-table-v2 .participants-sort-trigger.active { color: inherit !important; }
.participants-table-v2 .participants-sort-icon,
.products-table-v2 .participants-sort-icon { font-size: 11px; opacity: 0.8; }

.participant-cell { min-width: 250px; }
.participant-avatar {
    align-items: center;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    flex-shrink: 0;
    font-size: var(--font-13);
    font-weight: 700;
    height: 34px;
    justify-content: center;
    position: relative;
    text-transform: uppercase;
    width: 34px;
}
.participant-avatar-link {
    border-radius: 999px;
    display: inline-flex;
    flex-shrink: 0;
    text-decoration: none;
}
.participant-gravatar {
    border-radius: 999px;
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}
.participant-meta { min-width: 0; max-width: 320px; }
.participant-name { color: #0f172a; font-size: var(--font-13); font-weight: 600; line-height: 1.25; text-decoration: none; display: block; }
a.participant-name:hover {
    color: #1d4ed8;
    text-decoration-line: underline !important;
    text-decoration-color: currentColor;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
.participant-email { color: #64748b; font-size: var(--font-13); line-height: 1.3; min-width: 0; margin-top: 1px; }
.participant-email .editable-display { min-width: 0; }
.participant-email .editable-value { display: inline-block; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.participant-email .participant-email-link { color: inherit; text-decoration: none; }
.participant-email a.participant-email-link:hover {
    color: #1d4ed8;
    text-decoration-line: underline !important;
    text-decoration-color: currentColor;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
/* Winners table keeps participant email links at participant-secondary color by default. */
.winners-table .participant-email-link { color: #64748b; text-decoration: none; }
.winners-table a.participant-email-link:hover {
    color: #1d4ed8;
    text-decoration-line: underline !important;
    text-decoration-color: currentColor;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
.winners-table { table-layout: auto; }
.winners-table .winners-cell-prize { min-width: 0; }
.winners-table .winners-prize-text {
    display: block;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    word-break: break-word;
}

.participant-location {
    color: #334155;
    display: inline-block;
    font-size: var(--font-13);
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.participant-status-badges { align-items: center; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.participant-status-badge {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: var(--font-12);
    font-weight: 500;
    gap: 0.35rem;
    line-height: 1;
    padding: 5px 10px;
}
.participant-status-dot {
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
    height: 7px;
    width: 7px;
}
.participant-status-badge-primary { background-color: #eff6ff; border-color: #dbeafe; color: #1d4ed8; }
.participant-status-badge-primary .participant-status-dot { background-color: #1d4ed8; }
.participant-status-badge-secondary { background-color: var(--bs-gray-100); border-color: var(--bs-gray-300); color: var(--bs-gray-800); }
.participant-status-badge-secondary .participant-status-dot { background-color: var(--bs-gray-700); }
.participant-status-badge-warning { background-color: #fffbeb; border-color: #fde68a; color: #b45309; }
.participant-status-badge-warning .participant-status-dot { background-color: #b45309; }
.participant-status-badge-danger { background-color: #fff1f2; border-color: #fecdd3; color: #be123c; }
.participant-status-badge-danger .participant-status-dot { background-color: #be123c; }
.participant-status-badge-success { background-color: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.participant-status-badge-success .participant-status-dot { background-color: #15803d; }
.translation-review-trigger.participant-status-badge-warning {
    color: #b45309;
}
.participant-status-badge-with-menu { gap: 0.45rem; overflow: visible; padding-right: 0.35rem; position: relative; }

.participant-status-content { align-items: center; display: flex; min-width: 0; }
.participant-status-content .participant-status-badges { flex: 1 1 auto; min-width: 0; }
.participant-status-menu-trigger {
    align-items: center;
    background-color: transparent;
    border: 0;
    border-radius: 0;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    font-size: 12px;
    height: 18px;
    justify-content: center;
    line-height: 1;
    margin-left: 0.12rem;
    opacity: 0.75;
    padding: 0;
    width: 14px;
}
.participant-status-menu-trigger:hover { opacity: 1; }
.participants-table-v2 .participants-cell-status { position: relative; }
.participants-row-menu { min-width: 180px; max-width: 200px; border: 1px solid #dbdfe9; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); }
.participants-row-menu .menu-link { align-items: center; display: flex; font-size: var(--font-13); gap: 0.5rem; width: 100%; }
.participants-row-menu .menu-link i { font-size: 13px; opacity: 0.75; width: 14px; text-align: center; }
.participants-row-menu .menu-link:hover,
.participants-row-menu .menu-link.active { background-color: var(--bs-gray-100) !important; color: #1e293b !important; }

@media (max-width: 1199.98px) {
    .participants-toolbar-controls {
        align-items: stretch !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }
    .participants-toolbar-search-wrap {
        flex: 0 0 auto;
        width: 100%;
    }
    .participants-filter-wrap,
    .winners-filter-wrap,
    .moderation-filter-wrap { width: 100%; }
    .participants-filter-trigger,
    .winners-filter-trigger,
    .moderation-filter-trigger {
        max-width: 100%;
        width: 100% !important;
    }
}

@media (max-width: 991px) {
    .participants-toolbar-controls {
        align-items: stretch !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }
    .participants-bulk-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.6rem;
    }
    .participants-bulk-row .participants-bulk-summary { white-space: normal; }
    .participants-bulk-row .participants-bulk-actions {
        margin-left: 0;
        width: 100%;
    }
    .participants-bulk-clear-link { margin-left: 0.45rem; }
    .participants-toolbar-search-wrap {
        flex: 0 0 auto;
        width: 100%;
    }
    .participants-bulk-row .participants-toolbar-btn { justify-content: center; }
    .participants-filter-wrap,
    .winners-filter-wrap,
    .moderation-filter-wrap { width: 100%; }
    .participants-filter-trigger,
    .winners-filter-trigger,
    .moderation-filter-trigger {
        max-width: 100%;
        width: 100% !important;
    }
    .participants-filter-menu { left: 0; min-width: 100%; right: auto; width: 100%; }
    .participants-filter-rule-row { grid-template-columns: minmax(0, 1fr); }
    .participants-filter-location-row { grid-template-columns: minmax(0, 1fr); }
    .slide-out-section-nav {
        align-items: flex-start;
        background-color: #fff;
        flex-direction: column;
        margin-bottom: 1.25rem;
        position: sticky;
        top: var(--bs-app-header-height, 70px);
        z-index: 35;
    }
    .slide-out-section-tabs-wrap {
        width: 100%;
    }
    .slide-out-section-tabs {
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        padding-bottom: 0.25rem;
        scrollbar-width: none;
        touch-action: pan-x;
        width: 100%;
    }
    .slide-out-section-tabs::-webkit-scrollbar { display: none; }
    .slide-out-section-tabs.nav-stretch .slide-out-section-tab { flex-grow: 0; }
    .slide-out-section-hint {
        text-align: left;
        white-space: normal;
    }
    .slide-out-content-header-actions { justify-content: flex-end; flex-wrap: wrap; }
    .participant-meta { max-width: 240px; }
}

@media (max-width: 767.98px) {
    .slide-out-section-hint { display: none; }

    .participants-toolbar-controls {
        align-items: stretch !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        gap: 0.75rem !important;
    }

    .participants-toolbar-search-wrap {
        flex: 0 0 auto;
        min-width: 0;
        width: 100%;
    }

    .participants-toolbar-controls .participants-invalid-toggle {
        flex: 0 0 auto;
        margin-bottom: 0 !important;
    }

    .participants-toolbar-controls .participants-invalid-toggle .form-check-label {
        font-size: var(--font-12);
    }

    .participants-toolbar-controls .participants-toolbar-btn {
        justify-content: flex-start;
        width: 100% !important;
    }
}

.install-modal-content { max-width: 800px; margin: 0 auto; }
.card-title .badge, .card h4 .badge { font-size: var(--font-13); border-radius:15px; padding: 6px 10px; }
.badge.light-blue { color: rgb(75, 167, 238);  background-color: rgba(75, 167, 238, 0.082);}
.badge.light-yellow { color: rgb(185, 137, 0);  background-color: rgb(255, 248, 231)}
.badge.light-gray { color: var(--bs-heading-color);  background-color: rgba(0, 0, 0, .05); }
.hosted-url-btn { width: 45px; height: 43px; margin-left: 8px; display: flex; align-items: center; justify-content: center; }
.hosted-url-btn:hover { background-color: var(--bs-gray-100); }

*[data-section-control-child]:not(.active) { display: none !important; }

.install-step { background-color: var(--bs-light-bg-subtle); }
.install-step.active { border-color: var(--bs-info) !important; }

#open-graph-tags { min-height: 300px; field-sizing: content; }

.color-picker-wrapper { background-color: var(--bs-gray-100); cursor: pointer; border-radius: 12px; padding: 5px; position: relative; width: 50px; height: 50px; overflow: hidden; box-shadow: 0 0 4px -1px var(--bs-gray-700); margin: auto; }
.color-picker-wrapper .clr-field { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; cursor: pointer; }
.color-picker-wrapper .clr-field > button { opacity: .01; cursor: pointer; display: none; }
.color-picker-wrapper .clr-field > input { opacity: .01; cursor: pointer; width: 100%; height: 100%; position: absolute; top: 0px; left: 0px; }
.color-picker-wrapper .inner-color-picker { position: absolute; top: 2px; left: 2px; width: calc(100% - 4px); height: calc(100% - 4px);border-radius: 10px; }
/* Dashboard shells load Coloris after the app bundle, so this must stay important. */
.clr-picker { z-index: 2000 !important; }
.color-section-wrapper { box-shadow: 0 0 4px -1px var(--bs-gray-400);background-color: var(--bs-light-bg-subtle); }

.custom-buttom-select-wrapper .btn:not(:last-child):not(:first-child) { margin-right: 5px; margin-left: 5px; }
.custom-buttom-select-wrapper .btn:first-child { margin-right: 5px; }
.custom-buttom-select-wrapper .btn:last-child { margin-left: 5px; }
.custom-buttom-select-wrapper .btn { flex: 1; }

.code-editor-wrapper2 textarea { display: none; }
.CodeMirror { border: 1px solid var(--bs-gray-200); border-radius: 12px; }

.CodeMirror,
.CodeMirror-scroll,
.CodeMirror-vscrollbar,
.CodeMirror-hscrollbar,
.CodeMirror-scrollbar-filler,
.CodeMirror-gutter-filler {
    scrollbar-color: auto;
    scrollbar-width: auto;
}

.CodeMirror-scroll::-webkit-scrollbar,
.CodeMirror-vscrollbar::-webkit-scrollbar,
.CodeMirror-hscrollbar::-webkit-scrollbar {
    width: 14px;
    height: 14px;
}

.CodeMirror-scroll::-webkit-scrollbar-track,
.CodeMirror-vscrollbar::-webkit-scrollbar-track,
.CodeMirror-hscrollbar::-webkit-scrollbar-track {
    background: transparent;
}

.CodeMirror-scroll::-webkit-scrollbar-thumb,
.CodeMirror-vscrollbar::-webkit-scrollbar-thumb,
.CodeMirror-hscrollbar::-webkit-scrollbar-thumb {
    background-color: var(--bs-gray-400);
    border: 0;
    border-radius: 0;
}

.uc-toolbar button { border-radius: 8px !important; }

.image-upload-wrapper { position: relative; cursor: pointer; }
.image-upload-wrapper:hover > div.border { background-color: var(--bs-gray-100); border-color: var(--bs-gray-400) !important;  }
.file-upload-info { text-align: center; font-size: 0.8rem; }

.image-upload-wrapper uc-file-uploader-regular,
.image-upload-wrapper uc-file-uploader-minimal,
.image-upload-wrapper uc-file-uploader-inline,
.image-upload-wrapper .contest-submission-cover-upload-field
{ position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; opacity: .01; }
.image-upload-wrapper uc-simple-btn { width: 100% !important; height: 100% !important; }
.image-upload-wrapper uc-simple-btn button { width: 0px !important; height: 0px !important; }
.image-upload-wrapper i { height: 14px; width: 14px; font-size: var(--font-14) !important; }
.account-asset-modal-dialog {
    max-width: 720px;
}
.account-asset-manage-toggle {
    min-width: 0;
    padding: 0.45rem 0.8rem;
    font-size: var(--font-13);
    line-height: 1.2;
}
.account-asset-manage-toggle i {
    font-size: var(--font-14) !important;
}
.account-asset-manage-toggle.is-manage-active {
    border-color: var(--bs-primary) !important;
    background: var(--bs-primary-light);
    color: var(--bs-primary);
}
.account-asset-manage-toggle.is-manage-active i {
    color: var(--bs-primary);
}
#account_asset_modal .select2-container { width: 100% !important; }
#account_asset_modal .account-asset-modal-tabs {
    margin-top: 4px;
    padding-top: 0;
}
#account_asset_modal .account-asset-modal-tabs .nav-link {
    margin: 0 0.5rem;
}
#account_asset_modal .account-asset-modal-tabs .nav-item:first-child .nav-link {
    margin-left: 0;
}
#account_asset_modal .account-asset-library-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
#account_asset_modal .account-asset-library-search-wrap {
    flex: 1 1 auto;
    position: relative;
    min-width: 140px;
}
#account_asset_modal .account-asset-library-search-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #98a2b3;
    font-size: 14px;
    pointer-events: none;
}
#account_asset_modal .account-asset-library-search {
    padding-left: 34px;
    border-color: #dfe3ea;
    height: 38px;
    font-size: var(--font-13);
}
#account_asset_modal .account-asset-library-search:focus {
    border-color: #b6c3d9;
    box-shadow: 0 0 0 0.15rem rgba(29, 78, 216, 0.08);
}
#account_asset_modal .account-asset-library-filter-wrap {
    width: 190px;
    flex: 0 0 auto;
}
#account_asset_modal .account-asset-library-sort-wrap {
    width: 155px;
    flex: 0 0 auto;
}
#account_asset_modal .account-asset-library-select {
    border-color: #dfe3ea;
    min-height: 38px;
}
#account_asset_modal .account-asset-library-select:focus {
    border-color: #b6c3d9;
    box-shadow: 0 0 0 0.15rem rgba(29, 78, 216, 0.08);
}
#account_asset_modal .select2-container .select2-selection--single {
    align-items: center;
    border-color: #dfe3ea;
    border-radius: 0.475rem;
    display: flex;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 !important;
}
#account_asset_modal .select2-container .select2-selection--single .select2-selection__rendered {
    color: #344054;
    font-size: var(--font-13);
    line-height: 38px !important;
    padding-left: 0.95rem !important;
    padding-right: 2rem !important;
}
#account_asset_modal .select2-container .select2-selection--single .select2-selection__arrow {
    height: 38px !important;
    right: 0.45rem;
    top: 0 !important;
}
#account_asset_modal .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #b6c3d9;
    box-shadow: 0 0 0 0.15rem rgba(29, 78, 216, 0.08);
}
#account_asset_modal .select2-dropdown {
    border-color: #d8e0ee;
    border-radius: 0.475rem;
}
#account_asset_library_grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px 12px;
}
.account-asset-modal-upload-dropzone { position: relative; cursor: pointer; }
.account-asset-modal-upload-dropzone:hover > div.border { background-color: var(--bs-gray-100); border-color: var(--bs-gray-400) !important; }
.account-asset-modal-upload-dropzone > div.border { min-height: 88px; padding: 0.75rem 1rem !important; }
#account_asset_modal_upload_tab .account-asset-modal-upload-dropzone { margin-bottom: 0 !important; }
#account_asset_modal_upload_tab { padding-bottom: 0; }
.account-asset-modal-upload-dropzone .account-asset-modal-upload-field,
.account-asset-modal-upload-dropzone uc-file-uploader-regular,
.account-asset-modal-upload-dropzone uc-file-uploader-minimal,
.account-asset-modal-upload-dropzone uc-file-uploader-inline {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: .01;
    z-index: 2;
}
.account-asset-modal-upload-dropzone uc-simple-btn { width: 100% !important; height: 100% !important; }
.account-asset-modal-upload-dropzone uc-simple-btn button { width: 0px !important; height: 0px !important; }
.account-asset-library-card {
    width: 100%;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    overflow: hidden;
}
.account-asset-library-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid var(--bs-gray-200);
    background: #f8fafc;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}
.account-asset-library-thumb::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 8px;
    border: 3px solid transparent;
    pointer-events: none;
    transition: border-color 0.18s ease;
    z-index: 1;
}
.account-asset-library-select-indicator {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bs-white);
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
    z-index: 2;
}
.account-asset-library-select-indicator i {
    color: var(--bs-primary);
    font-size: 24px;
    line-height: 1;
}
.account-asset-library-delete-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--bs-white);
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
    z-index: 3;
}
.account-asset-library-delete-btn i {
    color: var(--bs-danger);
    font-size: 24px;
    line-height: 1;
}
.account-asset-library-card:hover .account-asset-library-thumb,
.account-asset-library-card:focus-visible .account-asset-library-thumb {
    border-color: transparent;
    box-shadow: none;
}
.account-asset-library-card:hover .account-asset-library-thumb::before,
.account-asset-library-card:focus-visible .account-asset-library-thumb::before {
    border-color: var(--bs-primary);
}
.account-asset-library-card:hover .account-asset-library-select-indicator,
.account-asset-library-card:focus-visible .account-asset-library-select-indicator {
    opacity: 1;
}
#account_asset_modal.account-asset-manage-mode .account-asset-library-select-indicator {
    opacity: 0 !important;
}
#account_asset_modal.account-asset-manage-mode .account-asset-library-delete-btn {
    opacity: 1;
    pointer-events: auto;
    cursor: pointer;
}
#account_asset_modal.account-asset-manage-mode .account-asset-library-card:hover .account-asset-library-thumb::before,
#account_asset_modal.account-asset-manage-mode .account-asset-library-card:focus-visible .account-asset-library-thumb::before {
    border-color: var(--bs-gray-300);
}
.account-asset-library-image,
.account-asset-library-image-placeholder {
    width: 100%;
    height: 100%;
    display: block;
}
.account-asset-library-image {
    object-fit: cover;
    background: #e5e7eb;
}
.account-asset-library-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #cbd5e1 0%, #94a3b8 100%);
}
.account-asset-library-details {
    margin-top: 8px;
}
.account-asset-library-file {
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    color: #111827;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.account-asset-library-date {
    margin-top: 3px;
    font-size: 12px;
    line-height: 1.2;
    color: #6b7280;
}
.account-asset-library-card:focus-visible {
    outline: none;
}
#account_asset_library_pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 16px;
    padding-top: 12px;
    border-top: 1px solid var(--bs-gray-200);
}
#account_asset_library_pagination .pagination {
    margin-bottom: 0;
}

.entries-config-card {
    overflow: visible;
}

.shopify-import-notice-card {
    border: 1px solid rgba(var(--bs-warning-rgb), 0.32);
    background:
        radial-gradient(circle at top right, rgba(var(--bs-warning-rgb), 0.14), transparent 34%),
        linear-gradient(135deg, #fff8eb 0%, #ffffff 62%, #fffcf4 100%);
    overflow: hidden;
}

.shopify-import-notice-card .card-body {
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
}

.shopify-import-notice-icon {
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: rgba(var(--bs-warning-rgb), 0.16);
    color: var(--bs-warning);
    font-size: 1.35rem;
}

.shopify-import-notice-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.shopify-import-notice-eyebrow {
    color: var(--bs-warning-text-emphasis, #8a5a00);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 0.4rem;
    text-transform: uppercase;
}

.shopify-import-notice-title {
    color: var(--bs-gray-900);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 0.6rem;
}

.shopify-import-notice-text {
    color: var(--bs-gray-800);
    font-size: 1rem;
    line-height: 1.65;
    max-width: 62rem;
}

.shopify-import-notice-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.shopify-import-notice-meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(var(--bs-warning-rgb), 0.18);
    color: var(--bs-gray-800);
    font-size: 0.92rem;
    font-weight: 500;
}

.shopify-import-notice-warning {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--bs-danger);
    font-size: 0.92rem;
    font-weight: 500;
}

.shopify-import-notice-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.shopify-import-notice-enable-button {
    min-width: 220px;
    white-space: nowrap;
}

.entries-config-accordion {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.entries-config-item {
    border: 1px solid var(--bs-gray-300) !important;
    border-radius: 1rem !important;
    overflow: hidden;
    background: var(--bs-white);
}

.entries-config-item .accordion-header {
    margin-bottom: 0;
}

.entries-config-toggle {
    align-items: center;
    background: var(--bs-white);
    box-shadow: none !important;
    column-gap: 1rem;
    flex-wrap: wrap;
    padding: 1.125rem 1.25rem;
}

.entries-config-toggle::after {
    margin-left: auto;
}

.entries-config-toggle-icon {
    color: var(--bs-gray-700);
    flex: 0 0 auto;
    font-size: 1.2rem;
    line-height: 1;
}

.entries-config-toggle-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.entries-config-toggle-title {
    color: var(--bs-gray-900);
    display: block;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.35;
}

.entries-config-summary {
    color: var(--bs-gray-600);
    font-size: 0.95rem;
    font-weight: 500;
    padding-right: 0.75rem;
    text-align: right;
}

.entries-config-item .accordion-collapse {
    border-top: 1px solid var(--bs-gray-200);
}

.entries-config-body {
    background: var(--bs-white);
    padding: 1.25rem 1.25rem 1.5rem;
}

.purchase-entry-card-header {
    position: relative;
    padding-right: 1.25rem !important;
}

.purchase-entry-card-header-main {
    min-width: 0;
}

.purchase-entry-card-header-main .card-title {
    padding-right: 11rem;
}

.purchase-entry-card-header-main .card-title,
.purchase-entry-card-header-main .card-subtitle {
    width: 100%;
}

.purchase-entry-card-header-currency {
    position: absolute;
    right: 1.25rem;
    top: 1.25rem;
    min-width: 120px;
    width: 120px;
}

.purchase-entry-card-header-currency .select2-container {
    width: 100% !important;
}

.purchase-entry-card-header-currency .select2-selection--single {
    align-items: center;
    display: flex;
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 !important;
}

.purchase-entry-card-header-currency .select2-selection__rendered {
    color: var(--bs-gray-700);
    font-size: 1rem;
    font-weight: 500;
    line-height: 38px !important;
    overflow: hidden;
    padding-left: 0.75rem !important;
    padding-right: 1.5rem !important;
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.purchase-entry-card-header-currency .select2-selection__arrow {
    height: 38px !important;
    top: 0 !important;
}

.purchase-entry-settings-inline {
    column-gap: 0.75rem;
    row-gap: 0.75rem;
}

.purchase-entry-settings-inline > span {
    white-space: nowrap;
}

.purchase-entry-settings-entry-label {
    white-space: nowrap;
}

.purchase-entry-settings-entries-group {
    flex: 0 0 156px;
    max-width: 156px;
}

.purchase-entry-settings-entries-group .input-group-text,
.purchase-entry-override-entries-group .input-group-text,
.purchase-entry-override-spend-group .input-group-text,
.purchase-entry-settings-spend-group .input-group-text {
    justify-content: center;
    min-width: 44px;
}

.purchase-entry-settings-entries-group .input-group-text i,
.purchase-entry-override-entries-group .input-group-text i {
    font-size: 0.95rem;
}

.purchase-entry-settings-entries,
.purchase-entry-order-bonus-entries,
.purchase-entry-order-bonus-threshold,
.purchase-entry-coupon-bonus-entries,
.purchase-entry-coupon-frequency-count,
.purchase-entry-override-entries,
.purchase-entry-override-spend {
    min-width: 0;
    padding-left: 0.875rem;
    padding-right: 0.875rem;
    text-align: left;
}

.purchase-entry-settings-spend-group {
    flex: 0 0 148px;
    max-width: 148px;
}

.purchase-entry-settings-spend {
    min-width: 0;
    padding-left: 0.875rem;
    padding-right: 0.875rem;
    text-align: left;
}

.purchase-entry-modifier-field-row > [class*="col-"] > .input-group,
.purchase-entry-modifier-field-row > [class*="col-"] > .select2,
.purchase-entry-modifier-field-row > [class*="col-"] > .select2-container {
    width: 100% !important;
}

.purchase-entry-coupon-frequency-input-wrap {
    max-width: 280px;
}

.purchase-entry-coupon-frequency-input-wrap .input-group-text {
    white-space: nowrap;
}

.purchase-entry-override-draft-row {
    background: var(--bs-white);
    border: 1px solid var(--bs-gray-300) !important;
    box-shadow: none;
}

.purchase-entry-timeline {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1.5rem;
    padding-left: 3rem;
}

.purchase-entry-timeline::before {
    content: "";
    position: absolute;
    left: 0.95rem;
    top: 65px;
    bottom: 2rem;
    width: 2px;
    border-radius: 999px;
    background: var(--bs-gray-200);
}

.purchase-entry-order-bonus-items,
.purchase-entry-coupon-bonus-items {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.purchase-entry-coupon-bonus-stack {
    margin-top: 1.5rem;
}

.purchase-entry-timeline-item {
    position: relative;
}

.purchase-entry-timeline-marker {
    position: absolute;
    left: -3rem;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: 1px solid var(--bs-gray-300);
    background: #ffffff;
    box-shadow: none;
    color: var(--bs-gray-700);
}

.purchase-entry-timeline-marker i {
    display: block;
    font-size: 0.95rem;
    line-height: 1;
}

@keyframes purchase-entry-marker-pulse {
    0% {
        transform: scale(0.45);
        opacity: 0.55;
    }
    100% {
        transform: scale(1.85);
        opacity: 0;
    }
}

.purchase-entry-timeline-marker-active {
    isolation: isolate;
    --purchase-entry-marker-rgb: var(--bs-primary-rgb);
    --purchase-entry-marker-color: var(--bs-primary);
    --purchase-entry-marker-bg: var(--bs-primary-light);
    border-color: rgba(var(--purchase-entry-marker-rgb), 0.28);
    background: var(--purchase-entry-marker-bg);
    box-shadow: inset 0 0 0 0.14rem rgba(var(--purchase-entry-marker-rgb), 0.18);
    color: var(--purchase-entry-marker-color);
}

.purchase-entry-timeline-marker-active::after {
    content: "";
    position: absolute;
    inset: -0.08rem;
    border-radius: inherit;
    border: 0.12rem solid rgba(var(--purchase-entry-marker-rgb), 0.42);
    background: transparent;
    opacity: 0;
    pointer-events: none;
    transform: scale(0.45);
    transform-origin: center;
    z-index: 0;
    animation: purchase-entry-marker-pulse 1.35s cubic-bezier(.52, .6, .25, .99) infinite;
}

.purchase-entry-timeline-marker-active-danger {
    --purchase-entry-marker-rgb: var(--bs-danger-rgb);
    --purchase-entry-marker-color: var(--bs-danger);
    --purchase-entry-marker-bg: var(--bs-danger-light);
}

.purchase-entry-timeline-marker-active i {
    color: currentColor;
    position: relative;
    z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
    .purchase-entry-timeline-marker-active::after {
        animation: none;
    }
}

.purchase-entry-timeline-panel {
    border: 1px solid var(--bs-gray-200);
    border-radius: 0.75rem;
    background: var(--bs-gray-100);
    padding: 1rem 1.125rem;
    box-shadow: none;
}

.purchase-entry-timeline-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.purchase-entry-timeline-bonus-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.purchase-entry-timeline-kicker {
    color: var(--bs-gray-600);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 0.35rem;
    text-transform: uppercase;
}

.purchase-entry-timeline-heading {
    color: var(--bs-gray-900);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
}

.purchase-entry-timeline-rate {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.7rem;
}

.purchase-entry-timeline-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.75rem;
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.625rem;
    background: #ffffff;
    color: var(--bs-gray-900);
    font-size: 1rem;
    font-weight: 600;
}

.purchase-entry-timeline-chip i {
    color: var(--bs-gray-600);
    font-size: 1rem;
}

.purchase-entry-timeline-rate-word {
    color: var(--bs-gray-700);
    font-size: 1rem;
    font-weight: 600;
}

.purchase-entry-timeline-meta {
    display: flex;
    align-items: flex-start;
    gap: 0.55rem;
    margin-top: 0.45rem;
    color: var(--bs-gray-700);
    font-size: 1rem;
    line-height: 1.5;
}

.purchase-entry-timeline-panel-bonus,
.purchase-entry-timeline-panel-modifier {
    position: relative;
}

.purchase-entry-timeline-panel-bonus .purchase-entry-timeline-head,
.purchase-entry-timeline-panel-modifier .purchase-entry-timeline-head {
    padding-right: 2.25rem;
}

.purchase-entry-timeline-panel-bonus .purchase-entry-delete-action,
.purchase-entry-timeline-panel-modifier .purchase-entry-delete-action {
    position: absolute;
    right: 0.5rem;
    top: 0.6rem;
}

.purchase-entry-timeline-meta i {
    color: var(--bs-gray-500);
    margin-top: 0.1rem;
}

.purchase-entry-delete-action,
.purchase-entry-delete-override {
    align-items: center;
    background: transparent;
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.625rem;
    color: var(--bs-gray-700);
    display: inline-flex;
    height: 2.1rem;
    justify-content: center;
    transition: all 0.2s ease;
    width: 2.1rem;
}

.purchase-entry-delete-action:hover,
.purchase-entry-delete-action:focus,
.purchase-entry-delete-override:hover,
.purchase-entry-delete-override:focus {
    background: transparent;
    border-color: var(--bs-gray-300);
    color: var(--bs-gray-700);
}

.purchase-entry-delete-override i {
    line-height: 1;
}

@media (max-width: 575px) {
    .shopify-import-notice-card .card-body {
        flex-direction: column;
    }

    .shopify-import-notice-actions,
    .shopify-import-notice-enable-button {
        width: 100%;
    }

    .purchase-entry-card-header {
        padding-right: 1.25rem !important;
    }

    .purchase-entry-card-header-main .card-title {
        padding-right: 0;
    }

    .entries-config-summary {
        flex: 1 1 100%;
        padding-right: 0;
        text-align: left;
    }

    .purchase-entry-card-header-currency {
        margin-top: 0.75rem;
        min-width: 0;
        position: static;
        width: 100%;
    }

    .purchase-entry-timeline {
        padding-left: 2.5rem;
    }

    .purchase-entry-timeline::before {
        left: 0.75rem;
    }

    .purchase-entry-timeline-marker {
        left: -2.5rem;
    }
}

/* Avatar upload component (circular overlay) */
.avatar-upload-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; overflow: hidden; cursor: pointer; z-index: 5; }
.avatar-upload-overlay-icon { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; display: flex; align-items: center; justify-content: center; background-color: rgba(0,0,0,0); transition: background-color 0.2s ease; pointer-events: none; z-index: 1; }
.avatar-upload-overlay-icon i { opacity: 0; transition: opacity 0.2s ease; height: auto !important; width: auto !important; font-size: 1.25rem !important; }
.avatar-upload-overlay:hover .avatar-upload-overlay-icon { background-color: rgba(0,0,0,0.45); }
.avatar-upload-overlay:hover .avatar-upload-overlay-icon i { opacity: 1; }
.avatar-upload-trigger { position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; z-index: 10; }
.avatar-upload-trigger > div.border { opacity: 0 !important; width: 100% !important; height: 100% !important; padding: 0 !important; border: none !important; position: absolute !important; top: 0 !important; left: 0 !important; }
.avatar-upload-trigger uc-file-uploader-regular, .avatar-upload-trigger uc-file-uploader-minimal { border-radius: 50%; cursor: pointer; }
.avatar-upload-component .remove-avatar { z-index: 20; }

.account-logo-picker {
    max-width: 320px;
    position: relative;
}

.account-logo-picker-empty {
    width: 100%;
    min-height: 96px;
    border: 1px dashed var(--bs-gray-300);
    border-radius: 0.475rem;
    background: var(--bs-gray-100);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    color: var(--bs-gray-700);
    padding: 1rem;
    text-align: left;
}

.account-logo-picker-empty:hover,
.account-logo-picker-empty:focus-visible {
    border-color: var(--bs-gray-500);
    background: var(--bs-gray-200);
}

.account-logo-picker-upload-icon {
    width: 38px;
    height: 38px;
    border-radius: 6px;
    background: var(--bs-gray-300);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bs-primary);
    flex: 0 0 auto;
}

.account-logo-picker-upload-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.account-logo-picker-upload-title {
    font-weight: 700;
    color: var(--bs-gray-800);
}

.account-logo-picker-upload-subtitle {
    font-size: var(--font-12);
    color: var(--bs-gray-600);
}

.account-logo-picker-selected {
    width: 116px;
    height: 116px;
    position: relative;
}

.account-logo-picker-tile {
    width: 116px;
    height: 116px;
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.475rem;
    background: var(--bs-gray-100);
    padding: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.account-logo-picker-image {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* User avatar picker: fill the entire tile with the photo */
.user-avatar-picker .account-logo-picker-tile {
    padding: 0;
    overflow: hidden;
}

.user-avatar-picker .account-logo-picker-image {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    border-radius: inherit;
}

.account-logo-picker-remove {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 50%;
    background: var(--bs-danger);
    color: var(--bs-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
    z-index: 20;
}

.account-logo-picker-remove:hover,
.account-logo-picker-remove:focus-visible {
    background: var(--bs-danger-active);
    color: var(--bs-white);
}

.account-logo-picker-remove i {
    color: var(--bs-white);
}

.account-logo-picker-upload-trigger {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 10;
}

.account-logo-picker-upload-trigger > div.border {
    opacity: 0 !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
    border: 0 !important;
}

.single_upload_image_section .single_upload_image_preview_wrapper { display:none  }
.single_upload_image_section.has-image .single_upload_image_preview_wrapper { display:block !important; }
.single_upload_image_section.has-image .search-background-image-wrapper { display:none; }
.single_upload_image_section.has-image .image-upload-wrapper { display:none; }

.form-field-item-wrapper.type-website .form-fields-content-item .type_size { display: none; }
.form-field-item-wrapper.type-website .form-fields-content-item.has-media .type_size { display: flex; }

.single_upload_image_preview_wrapper img { max-height: 200px; max-width: 200px; border-radius: 10px; overflow: hidden; border: 1px solid var(--bs-gray-200); }
.delete-single-upload-image { position: absolute; top: 8px; right: 18px; z-index: 20; cursor: pointer; height: 20px; width: 20px; border-radius: 20px; padding: 2px; cursor: pointer;background-color: red; color: #fff; display: flex; text-align: center; align-items: center; justify-content: center; }
.delete-single-upload-image i { color: #fff !important; height: 14px; width: 14px; display: inline-block; }
.delete-single-upload-image:hover { opacity: .8; }
.instant-win-prize-image-preview { position: relative; display: inline-block; }
.instant-win-prize-image-preview .remove-instant-win-prize-image { position: absolute; top: -8px; right: -8px; z-index: 2; }
.stacked .delete-single-upload-image { top: 8px; right: 8px; }

/* File upload thumbnail grid - ensures even spacing on all sides */
.file-upload-thumbnails {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 0.5rem 0;
}
.file-upload-thumbnails:empty { display: none !important; }

/* Individual thumbnail item */
.file-upload-thumbnail {
    width: 140px;
    flex-shrink: 0;
}

/* Thumbnail filename truncation */
.thumbnail-filename {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* X button styling for file upload thumbnails */
.file-upload-thumbnail .redx {
    z-index: 10;
}

.upload_main_images_section .upload_main_images_preview_wrapper { display:none  }
.upload_main_images_section.has-image .upload_main_images_preview_wrapper { display:block !important; }

.upload_main_images_section .image_wrapper {
    clear: both;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
}
.main-image-wrapper { display: block; vertical-align: top; position: relative; flex: 0 0 120px; width: 120px !important; height: 120px !important; overflow: hidden; border-radius: 10px; }
.main-image-wrapper img { width: 100% !important; height: 100% !important; object-fit: cover; border: 1px solid var(--bs-gray-200); }
.delete-main-image-image { opacity: 0; height: 20px; width: 20px; border-radius: 20px; padding: 2px; cursor: pointer; position: absolute; top: 3px; right: 3px; z-index: 20; cursor: pointer; background-color: red; color: #fff; display: flex; text-align: center; align-items: center; justify-content: center; }
.delete-main-image-image i { color: #fff !important; height: 14px; width: 14px; display: inline-block; }
.main-image-wrapper .image-cover { position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; z-index:10; }
.main-image-wrapper .draggable-handle { opacity: .6; position: absolute; top: 3px; left: 3px; z-index: 20; cursor: move; display: block; width: 20px; height: 20px; background-color: var(--bs-gray-100); border-radius: 20px; }
.main-image-wrapper:hover .delete-main-image-image { opacity: .7; }
.main-image-wrapper:hover .delete-main-image-image:hover { opacity: .9; }
.main-image-wrapper .draggable-handle:hover { opacity: 1; }
.main-image-position-wrapper > div.active { background-color: var(--bs-gray-100); }

.search-background-image-wrapper { padding: 5px; cursor: pointer; text-align: center; color: var(--bs-text-primary); font-size: var(--font-14); }
.image_search_results_wrapper { padding: 10px 0px; }
.image_search_results_wrapper:empty { display: none; }
.image_search_result_item { padding: 7px;}
.image_search_result_item_inner { display: block; border-radius: 8px; overflow: hidden; max-height: 120px; cursor: pointer; position: relative; }
.image_search_result_item_inner:hover { transform: scale(1.04) ; border: 1px solid var(--bs-primary); }
.image_search_result_item_inner img { width: 100%; min-height: 100%; object-fit: cover; }
.image_search_result_item_user { position: absolute; bottom: 3px; left: 7px; background-color: rgba(0, 0, 0, 0.6); color: #fff; padding: 1px 3px; border-radius: 2px; font-size: var(--font-10); }
.image_search_result_item_user a { color: #fff; }

#layout_accordion label, #typography_accordion label { padding-bottom: 10px; }

#text_form label { position: absolute; top: 2px; left: 14px; font-size: var(--font-12); color: var(--bs-text-gray-400); z-index: 5; opacity: 0; }

/*
#text_form input:focus + label { opacity: 1 !important; }
#text_form .position-relative:hover label { opacity: 1 !important; }
*/
.menu .menu-item .icon-wrapper i { transform: rotate(0deg); transition: all 0.3s ease-in-out;}
.menu .menu-item.show .icon-wrapper i { transform: rotate(-180deg); transition: all 0.3s ease-in-out;}

.processing-item { position: relative; }
.processing-item .spinner-wrapper { width: 30px; margin-left: 20px; display: none; }
.processing-item.processing .spinner-wrapper { display: block; }
.processing-item .spinner-border {  width: 20px !important; height: 20px !important; animation-duration: 2s !important; }
.processing-item .processing-indicator, .processing-item .failed-processing-indicator, .processing-item .needs-review-processing-indicator, .processing-item .completed-processing-indicator { display: none; }
.processing-item.processing .processing-indicator { display: inline-flex !important; }
.processing-item .processing-alert { white-space: nowrap; }
.processing-item .processing-indicator-text { font-size: inherit; }
.processing-item.failed-processing .failed-processing-indicator { display: inline-flex !important; }
.processing-item.failed-processing .edit-language-button { display: none !important; }
.processing-item.processing .edit-language-button { display: none !important; }
.processing-item.processing .delete-language-button { display: none !important; }
.processing-item.needs-review .needs-review-processing-indicator { display: inline-flex !important; }
.processing-item.completed .completed-processing-indicator { display: inline-flex !important; }

.processing-item-export-passcodes .processing-alert { margin-top: 12px;}
.processing-item-export-passcodes .spinner-wrapper { margin-top: 14px !important; }

.csv-item .spinner-wrapper { margin-top: 3px; }
.language-item .processing-alert {position: absolute; bottom: 10px; left: 84px; white-space: nowrap; }
.form-label.translation-review-label { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-top: 0.25rem; }
.translation-review-controls { display: inline-flex; gap: 0.4rem; }
.translation-review-trigger {
    appearance: none;
    color: inherit;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
}
.translation-review-trigger.translation-review-trigger-pending {
    white-space: normal;
}
.translation-review-trigger:disabled {
    cursor: default;
    opacity: 0.7;
}
.builder-review-count-badge {
    align-items: center;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 999px;
    color: #b45309;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 700;
    gap: 0.3rem;
    line-height: 1;
    margin-left: 0.5rem;
    padding: 0.28rem 0.48rem;
    vertical-align: middle;
}
.builder-review-count-badge .fa-triangle-exclamation,
.builder-review-count-badge .svg-inline--fa {
    --fa-primary-color: #b45309;
    --fa-secondary-color: #b45309;
    color: #b45309 !important;
    font-size: 11px;
    opacity: 1;
}
.card-header .builder-review-count-badge .fa-triangle-exclamation,
.card-header .builder-review-count-badge .svg-inline--fa,
.form-field-item-wrapper .card-header .builder-review-count-badge .fa-triangle-exclamation,
.form-field-item-wrapper .card-header .builder-review-count-badge .svg-inline--fa {
    --fa-primary-color: #b45309;
    --fa-secondary-color: #b45309;
    color: #b45309 !important;
}
.builder-nav-menu a.active .builder-review-count-badge .fa-triangle-exclamation,
.builder-nav-menu a.active .builder-review-count-badge .svg-inline--fa {
    --fa-primary-color: #b45309;
    --fa-secondary-color: #b45309;
    color: #b45309 !important;
}
.builder-review-count-value {
    display: inline-block;
    min-width: 0.9rem;
    text-align: center;
}
.builder-nav-menu .builder-review-count-badge {
    margin-left: 0.45rem;
}
.translation-review-target-highlight {
    box-shadow: none;
    outline: none;
}
.translation-review-modal { text-align: left; }
.translation-review-intro {
    color: var(--bs-gray-700);
    font-size: var(--font-13);
    line-height: 1.5;
    margin-bottom: 1rem;
}
.translation-review-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.translation-review-panel {
    background: var(--bs-gray-100);
    border: 1px solid var(--bs-gray-300);
    border-radius: var(--bs-border-radius);
    padding: 0.9rem 1rem;
}
.translation-review-panel-current {
    background: var(--bs-warning-light);
    border-color: var(--bs-warning);
}
.translation-review-panel-muted {
    background: #fff;
}
.translation-review-panel-label {
    color: var(--bs-gray-700);
    display: block;
    font-size: var(--font-12);
    font-weight: 600;
    margin-bottom: 0.4rem;
}
.translation-review-panel-value {
    color: var(--bs-gray-800);
    font-size: var(--font-13);
    line-height: 1.55;
    min-height: 2.5rem;
    white-space: pre-wrap;
    word-break: break-word;
}
.translation-review-modal-popup .swal2-html-container {
    margin-top: 1rem;
}
.translation-review-modal-popup .swal2-actions button {
    margin-top: 10px !important;
}
@media (max-width: 767px) {
    .translation-review-grid {
        grid-template-columns: 1fr;
    }
}

body.language-variant .hide-on-lv { display: none !important; }
body.language-variant .share_option_header label { pointer-events: none; cursor: default; }
body.language-variant .prize-form .actions { display: none !important; }
body.language-variant .lv-lock { opacity: .4; position: relative; }
body.language-variant .lv-lock::after { content: ''; position: absolute; top: -10px; left: -5px; width: calc(100% + 10px); height: calc(100% + 20px); background-color: rgba(0, 0, 0, 0.2); z-index: 10; color: #fff; display: flex; align-items: center; justify-content: center;  border-radius: 4px; }
body.language-variant .form-fields-content-advanced { display: none !important; }
body.language-variant .form-fields-menu-item[data-section="advanced"] { display: none !important; }
body.language-variant .builder-header { background-color: #fcfcfc !important; }
body.language-variant .builder-header:hover { background-color: #ffffff !important; }
body.language-variant .builder-header .builder-header-title ,
body.language-variant .builder-header .builder-step-buttons .rounded-pill.btn:not(.active){ opacity: .3;  }
body.language-variant .builder-header:hover .builder-header-title ,
body.language-variant .builder-header:hover .builder-step-buttons .rounded-pill.btn:not(.active) { opacity: 1; }
body.language-variant .builder-header .language-editing-button { box-shadow: var(--bs-primary) 0px 0px 6px -3px !important }
body.language-variant .builder-header:hover .language-editing-button { box-shadow: none !important }
body.language-variant .remove-form-field { display: none !important; }
body.language-variant .duplicate-form-field { display: none !important; }
body.language-variant .draggable-handle { opacity: 0 !important; }
body.language-variant.language-variant-processing .builder-column { position: relative; }
body.language-variant.language-variant-processing .builder-column::after {
    content: 'Translation is updating. Editing is temporarily disabled until it finishes.';
    position: absolute;
    inset: 0;
    z-index: 40;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background-color: rgba(249, 249, 249, 0.72);
    backdrop-filter: blur(1px);
    color: var(--bs-gray-700);
    font-size: var(--font-16);
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}
body.language-variant.language-variant-processing .bottom-controls {
    opacity: 0.45;
    pointer-events: none;
}
body.language-variant.language-variant-processing .modal.show .modal-content {
    position: relative;
}
body.language-variant.language-variant-processing .modal.show .modal-content::after {
    content: 'Translation is updating. Editing is temporarily disabled until it finishes.';
    position: absolute;
    inset: 0;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background-color: rgba(249, 249, 249, 0.82);
    color: var(--bs-gray-700);
    font-size: var(--font-16);
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
}

.language-items-menu { left: -10px; top: -10px; position: absolute; z-index: 100; }
.language-editing-menu .menu-sub-dropdown { max-height: 300px; overflow-y: auto; min-width: 150px; box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px !important;}
.language-editing-menu .menu-sub-dropdown .menu-item a { padding: 10px 5px;}
.language-editing-menu .menu-sub-dropdown .menu-item a:hover { background-color: var(--bs-gray-100); }
.language-editing-menu .menu-sub-dropdown .menu-item .menu-link { align-items: center; display: flex; gap: 0.5rem; }
.language-review-indicator {
    align-items: center;
    color: #b45309 !important;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 14px;
    line-height: 1;
}
.language-review-indicator .fa-triangle-exclamation,
.language-review-indicator .svg-inline--fa {
    --fa-primary-color: #b45309;
    --fa-secondary-color: #b45309;
    color: #b45309 !important;
}
.language-review-indicator-trigger {
    margin-left: 0.5rem;
}
.language-review-indicator-row {
    margin-left: auto;
}

#processing-toast { z-index: 1001; position: fixed; bottom: 10px; right: 10px; }
.toast .logo-icon { height: 20px; }
.toast .toast-header { padding-top: 15px; }
.toast .toast-body { font-size: var(--font-13); padding-bottom: 15px; }

.type_passcodes_wrapper .csv-item-count { display: none; }
.type_passcodes_wrapper.has-codes .csv-item-count { display: block !important; }

.type_passcodes_wrapper.has-codes .sample-file-link { display: none; }
.type_passcodes_wrapper.has-codes .upload_input_button_wrapper { display: none !important; }
.type_passcodes_wrapper .remove-passcodes { position: absolute; top: 8px; right: 8px; cursor: pointer; }
.type_passcodes_wrapper.has-codes .remove-passcodes:hover { opacity: .8; }
.type_passcodes_wrapper a i { color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));}

.stripe_connect_wrapper .stripe_connected_content { display: none; }
.stripe_connect_wrapper.connected .stripe_connected_content { display: block; }
.stripe_connect_wrapper.connected .connect_stripe { display: none; }

.revup_green_alert { color: rgb(22, 163, 74) !important; background-color: rgb(240, 253, 244) !important; border: 1px solid rgb(187, 247, 208) !important; }
.revup_green_alert i { color: rgb(22, 163, 74) !important; }

.revup_blue_alert { color: rgb(37, 99, 235) !important; background-color: rgb(219, 234, 254) !important; border: 1px solid rgb(191, 219, 254) !important; }
.revup_blue_alert i { color: rgb(37, 99, 235) !important; }

.revup_purple_alert { color: rgb(147, 51, 234) !important; background-color: rgb(243, 232, 255) !important; border: 1px solid rgb(233, 213, 255) !important; }
.revup_purple_alert i { color: rgb(147, 51, 234) !important; }

.revup_yellow_alert { color: rgb(217, 119, 6) !important; background-color: rgb(254, 243, 199) !important; border: 1px solid rgb(253, 230, 138)!important; }
.revup_yellow_alert i { color: rgb(217, 119, 6) !important; }

.revup_red_alert { color: rgb(225, 29, 72) !important; background-color: rgb(255, 228, 230) !important; border: 1px solid rgb(254, 205, 211) !important; }
.revup_red_alert i { color: rgb(225, 29, 72) !important; }

.view_edit_type_edit .draggable-handle-wrapper { opacity: .01 !important; }
.draggable-handle-wrapper { cursor: move; }
.view_edit_type_edit .payment_price_label { display: none; }
.view_edit_type_view input { display: none; }
.label_for_payment_type { padding: 5px 20px; border-radius: 12px;  }

.icon_recurring .payment_icon_once { display: none; }
.icon_once .payment_icon_recurring { display: none; }

/* Picture Choice - Builder chevron rotation */
.picture-choice-chevron { transition: transform 0.3s ease; display: inline-flex; }
.picture-choice-header:not(.collapsed) .picture-choice-chevron { transform: rotate(180deg); }
.picture-choice-body .collapse-inner { padding: 1rem; }

/* Picture Choice - Builder icon sizing */
.picture-choice-header .card-toolbar i { color: rgb(156 163 175) !important; font-size: var(--font-16) !important; }
.picture-choice-header .remove-picture-option,
.picture-choice-header .picture-choice-chevron { padding: 4px; border-radius: 4px; cursor: pointer; }
.picture-choice-header .remove-picture-option:hover,
.picture-choice-header .picture-choice-chevron:hover { background-color: rgb(249 250 251); }

/* Picture Choice - Builder option thumbnails and image controls */
.picture-choice-options-builder .picture-choice-add-option.disabled { opacity: 0.45; cursor: not-allowed; }
.picture-choice-options-builder .picture-choice-thumbnail {
    width: 50px;
    height: 50px;
    min-width: 50px;
    border: 1px solid var(--bs-gray-300);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
}
.picture-choice-options-builder .picture-choice-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.picture-choice-options-builder .picture-choice-thumbnail.is-empty i {
    font-size: var(--font-16);
    color: rgb(156 163 175);
}
.picture-choice-options-builder .picture-choice-image-preview {
    position: relative;
    width: 84px;
    height: 84px;
    border: 1px solid var(--bs-gray-300);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.picture-choice-options-builder .picture-choice-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.picture-choice-options-builder .remove-picture-image {
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: 20;
}

/* Poll options - builder */
.poll-option-header .poll-option-remove,
.poll-option-header .picture-choice-chevron { padding: 4px; border-radius: 4px; cursor: pointer; }
.poll-option-header .poll-option-remove:hover,
.poll-option-header .picture-choice-chevron:hover { background-color: rgb(249 250 251); }
.poll-options-builder .poll-option-remove.disabled { opacity: 0.45; cursor: not-allowed; }
.poll-options-builder .poll-add-option.disabled { opacity: 0.45; cursor: not-allowed; }
.poll-options-builder .poll-option-thumbnail {
    width: 50px;
    height: 50px;
    min-width: 50px;
    border: 1px solid var(--bs-gray-300);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
    cursor: pointer;
}
.poll-options-builder .poll-option-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.poll-options-builder .poll-option-thumbnail.is-empty i {
    font-size: var(--font-16);
    color: rgb(156 163 175);
}
.poll-options-builder .poll-option-image-preview {
    position: relative;
    width: 84px;
    height: 84px;
    border: 1px solid var(--bs-gray-300);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.poll-options-builder .poll-option-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.poll-options-builder .poll-option-image-remove {
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: 20;
}

/* Picture Choice - Drag mirror constraints */
.draggable-mirror .picture-choice-thumbnail {
    width: 50px;
    height: 50px;
    min-width: 50px;
    border: 1px solid var(--bs-gray-300);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
}
.draggable-mirror .picture-choice-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.draggable-mirror .picture-choice-image-preview {
    position: relative;
    width: 84px;
    height: 84px;
    border: 1px solid var(--bs-gray-300);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.draggable-mirror .picture-choice-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.poll-options-builder .poll-option-text-input { min-width: 0; }

/* Keep poll option drag mirror visually constrained (prevent oversized image ghost). */
.draggable-mirror .poll-option-thumbnail {
    width: 50px;
    height: 50px;
    min-width: 50px;
    border: 1px solid var(--bs-gray-300);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
}
.draggable-mirror .poll-option-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.draggable-mirror .poll-option-image-preview {
    position: relative;
    width: 84px;
    height: 84px;
    border: 1px solid var(--bs-gray-300);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.draggable-mirror .poll-option-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Editable cell styles */
.editable-cell .editable-trigger { opacity: 0; transition: opacity 0.15s ease; font-size: var(--font-12); }
.editable-cell:hover .editable-trigger { opacity: 1; }
.editable-cell .editable-trigger:hover { color: var(--bs-primary) !important; }
.editable-cell .editable-field { min-width: 150px; }
.editable-cell .editable-action-btn {
    width: 14px !important;
    min-width: 14px !important;
    max-width: 14px !important;
    height: 14px !important;
    min-height: 14px !important;
    max-height: 14px !important;
    line-height: 1 !important;
    --bs-btn-padding-y: 0 !important;
    --bs-btn-padding-x: 0 !important;
    padding: 0 !important;
    border-radius: 4px !important;
}
.editable-cell .editable-action-btn i {
    font-size: 8px !important;
    line-height: 1 !important;
}

/* ── Entrant detail slideout ── */
.entrant-detail-drawer {
    --contest-submission-card-border: #e5e7eb;
    --entrant-detail-card-border: #e5e7eb;
    --entrant-detail-divider-border: #e0e5ee;
    --entrant-detail-drawer-bg: #f5f7fb;
    --bs-offcanvas-width: 840px;
    --bs-offcanvas-border-radius: 0;
    border-left: 0;
    border-radius: 0 !important;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.10);
    background-color: var(--entrant-detail-drawer-bg);
    overflow: hidden;
}

.entrant-detail-drawer .offcanvas-header {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    border-bottom: 1px solid var(--contest-submission-card-border);
    height: 60px;
    min-height: 60px;
    padding: 0 2rem;
    background-color: #ffffff;
}

.entrant-detail-drawer .offcanvas-title {
    min-width: 0;
    margin-bottom: 0;
    font-size: var(--font-16);
    font-weight: 700;
    color: var(--bs-gray-900);
}

.entrant-detail-header-controls {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 auto;
    justify-content: flex-end;
    min-width: 0;
}

.entrant-detail-header-action-slot {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    justify-content: flex-end;
    min-width: 0;
}

.contest-submission-header-meta {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.45rem 0.55rem;
    justify-content: flex-end;
    min-width: 0;
}

.contest-submission-header-meta-text {
    color: var(--bs-gray-600);
    flex: 1 1 auto;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.2;
    min-width: 0;
    white-space: nowrap;
}

.contest-submission-header-meta .participant-status-badge {
    flex: 0 0 auto;
}

.contest-submission-header-actions {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 0.5rem;
    margin-left: auto;
}

.entrant-detail-drawer[data-detail-kind="contest_submission"] .entrant-detail-header-controls {
    display: contents;
}

.entrant-detail-drawer[data-detail-kind="contest_submission"] .entrant-detail-header-action-slot {
    justify-content: flex-start;
}

.entrant-detail-drawer[data-detail-kind="contest_submission"] .offcanvas-title {
    flex: 0 0 auto;
    white-space: nowrap;
}

.entrant-detail-header-contact-link {
    background-color: transparent;
    border: 1px solid var(--bs-gray-300);
    color: var(--bs-gray-700);
    box-shadow: none;
    white-space: nowrap;
}

.entrant-detail-header-contact-link:hover,
.entrant-detail-header-contact-link:focus {
    background-color: var(--bs-gray-100);
    border-color: var(--bs-gray-400);
    color: var(--bs-gray-900);
}

.entrant-detail-drawer-body {
    background-color: var(--entrant-detail-drawer-bg);
    overflow-y: auto;
    padding: 0;
}

/* ── Profile card ── */
.entrant-detail-tabs {
    display: flex;
    flex-direction: column;
}

.entrant-profile-card {
    background: var(--entrant-detail-drawer-bg);
    border: 0;
    border-bottom: 1px solid var(--bs-gray-300);
    border-radius: 0;
    padding: 2rem 2rem 1.9rem;
    box-shadow: none;
}

/* Keep abandoned-attempt drawers visually distinct from submitted entrants. */
.abandoned-attempt-detail-tabs .entrant-profile-card {
    background: linear-gradient(180deg, #fffdf7 0%, #fff7e8 100%);
    border-bottom-color: #f1d8a4;
}

.entrant-profile-hero {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    text-align: left;
    gap: 1.25rem;
    padding: 0;
}

.entrant-profile-avatar-wrap {
    position: relative;
    flex-shrink: 0;
}

.entrant-profile-avatar {
    position: relative;
    width: 88px;
    min-width: 88px;
    height: 88px;
    min-height: 88px;
    border-radius: 50%;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: var(--font-24);
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 0 0 3px #ffffff, 0 0 0 5px var(--bs-gray-200), 0 4px 12px rgba(0, 0, 0, 0.08);
}

.entrant-profile-gravatar {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.entrant-profile-status-pill {
    position: absolute;
    bottom: -4px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: var(--font-10);
    font-weight: 700;
    padding: 0.1rem 0.45rem 0.1rem 0.3rem;
    border-radius: 99px;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border: 1px solid transparent;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    z-index: 2;
}

.participant-status-badge-success {
    background-color: #f0fdf4;
    border-color: #bbf7d0;
    color: #15803d;
}

.participant-status-badge-danger {
    background-color: #fff1f2;
    border-color: #fecdd3;
    color: #be123c;
}

.participant-status-badge-warning {
    background-color: #fffbeb;
    border-color: #fde68a;
    color: #b45309;
}

.participant-status-badge-primary {
    background-color: #eff6ff;
    border-color: #dbeafe;
    color: #1d4ed8;
}

.entrant-profile-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: currentColor;
    animation: entrant-status-pulse 2s ease-in-out infinite;
}

@keyframes entrant-status-pulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.35; }
}

.entrant-profile-identity {
    min-width: 0;
    flex: 1 1 auto;
    padding-top: 0.2rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.entrant-profile-name {
    margin: 0;
    font-size: var(--font-20);
    font-weight: 700;
    color: var(--bs-gray-900);
    line-height: 1.25;
}

.entrant-profile-email {
    margin-top: 0;
    color: var(--bs-gray-600);
    font-size: var(--font-13);
    word-break: break-word;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    line-height: 1.35;
}

.entrant-profile-email > i {
    font-size: var(--font-13);
    color: var(--bs-gray-400);
}

.entrant-profile-phone {
    margin-top: 0;
    color: var(--bs-gray-600);
    font-size: var(--font-13);
    word-break: break-word;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    line-height: 1.35;
}

.entrant-profile-phone > i {
    font-size: var(--font-13);
    color: var(--bs-gray-400);
}

.entrant-profile-copy-source {
    position: absolute !important;
    left: -99999px !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.entrant-profile-copy-btn {
    border: 0;
    background: transparent;
    color: var(--bs-gray-400);
    padding: 0;
    margin-left: 0.05rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    cursor: pointer;
}

.entrant-profile-copy-btn:hover {
    color: var(--bs-primary);
}

.entrant-profile-copy-btn i {
    font-size: var(--font-12);
    padding: 0 !important;
}

.entrant-profile-flag-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 20%;
    overflow: hidden;
    flex-shrink: 0;
    border: 1px solid var(--bs-gray-200);
}

.entrant-profile-flag-circle img {
    width: 20px;
    height: auto;
    object-fit: cover;
}

/* Metadata pill badges */
.entrant-profile-meta-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: 0.65rem;
}

.entrant-profile-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: var(--font-13);
    color: var(--bs-gray-600);
    background-color: #ffffff;
    border: 1px solid var(--bs-gray-200);
    border-radius: 6px;
    padding: 0.2rem 0.5rem;
    line-height: 1.35;
}

.entrant-profile-pill i {
    font-size: var(--font-12);
    color: var(--bs-gray-400);
}

.entrant-profile-pill-entries {
    background-color: rgba(75, 167, 238, 0.08);
    border-color: rgba(75, 167, 238, 0.2);
    color: var(--bs-primary);
    font-weight: 600;
}

.entrant-profile-pill-entries i {
    color: var(--bs-primary);
}

/* ── Tab bar (sticky, white bg) ── */
.entrant-detail-tab-bar {
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: #ffffff;
    border-bottom: 1px solid var(--bs-gray-200);
    padding: 0.2rem 2rem 0;
}

.entrant-detail-tab-nav {
    margin-bottom: 0;
    border: 0;
    border-bottom: 0;
    border-radius: 0;
    background-color: transparent;
    padding: 0;
}

.entrant-detail-tab-nav .nav-link {
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    margin-right: 2rem;
    padding: 1rem 0.1rem;
    color: var(--bs-gray-600);
    background-color: transparent;
    font-size: var(--font-14);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.entrant-detail-tab-label {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

.entrant-detail-activity-tab {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.15rem !important;
}

.entrant-detail-tab-loader {
    display: none;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 1.5px solid rgba(107, 114, 128, 0.25);
    border-top-color: var(--bs-primary);
    animation: entrant-delivery-loader-spin 0.8s linear infinite;
}

.entrant-detail-activity-tab.loading .entrant-detail-tab-loader {
    display: inline-block;
}

.entrant-detail-tab-nav .nav-link i {
    font-size: var(--font-14);
    color: inherit;
}

.entrant-detail-tab-nav .nav-link:hover {
    color: var(--bs-gray-900);
}

.entrant-detail-tab-nav .nav-link.active {
    color: var(--bs-primary);
    border-bottom-color: var(--bs-primary);
    background-color: transparent;
}

.entrant-tab-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 22px;
    padding: 0 0.45rem;
    font-size: var(--font-12);
    font-weight: 700;
    line-height: 1;
    border-radius: 99px;
    background-color: var(--bs-gray-200);
    color: var(--bs-gray-700);
}

.entrant-detail-tab-nav .nav-link.active .entrant-tab-count-badge {
    background-color: rgba(75, 167, 238, 0.12);
    color: var(--bs-primary);
}

.entrant-detail-tab-content {
    padding: 2rem;
    background-color: #ffffff;
    min-height: 400px;
}

.entrant-detail-tab-pane {
    display: none;
}

.entrant-detail-tab-pane.active {
    display: block;
}

.entrant-detail-tab-pane[data-tab-pane="form-data"],
.entrant-detail-tab-pane[data-tab-pane="bonus-entries"],
.entrant-detail-tab-pane[data-tab-pane="activity"],
.entrant-detail-tab-pane[data-tab-pane="chat-history"] {
    background: var(--entrant-detail-drawer-bg);
    margin: -2rem;
    min-height: 400px;
    padding: 1.5rem;
}

@keyframes entrant-delivery-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

/* ── Section dividers ── */
.entrant-data-section-divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.25rem;
}

.entrant-data-section-divider-line {
    flex: 1;
    height: 1px;
    background-color: var(--bs-gray-200);
}

.entrant-data-section-divider-label {
    font-size: var(--font-12);
    font-weight: 700;
    color: var(--bs-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

/* ── Form data ── */
.entrant-form-data,
.entrant-bonus-content {
    background-color: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.entrant-data-section {
    padding: 0;
}

.entrant-data-section-card {
    background: #fff;
    border: 1px solid var(--entrant-detail-card-border);
    border-radius: 1rem;
    box-shadow: none;
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: hidden;
}

.entrant-data-section-header {
    border-bottom: 1px solid var(--entrant-detail-divider-border);
    padding: 0.9rem 1rem;
}

.entrant-data-section-title {
    align-items: center;
    color: var(--bs-gray-700);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 0.55rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.entrant-data-section-icon {
    align-items: center;
    background: var(--bs-gray-100);
    border: 1px solid var(--bs-gray-200);
    border-radius: 8px;
    color: var(--bs-gray-600);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: var(--font-14);
    height: 36px;
    justify-content: center;
    min-width: 36px;
    width: 36px;
}

.entrant-data-section-icon i {
    color: inherit !important;
}

.entrant-data-section-body {
    padding: 0.9rem 1rem;
}

.entrant-data-card {
    border: 0;
    border-radius: 0;
    background-color: #ffffff;
    overflow: hidden;
    box-shadow: none;
}

.entrant-data-card-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.entrant-data-card-row.bordered {
    border-top: 1px solid var(--bs-gray-100);
}

.entrant-data-cell {
    padding: 1rem 1.15rem;
    min-width: 0;
}

.entrant-data-card-row .entrant-data-cell:first-child:not(:last-child) {
    border-right: 1px solid var(--bs-gray-100);
}

.entrant-data-label {
    font-size: var(--font-12);
    color: var(--bs-gray-600);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.3rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.entrant-data-cell.label-expanded .entrant-data-label,
.entrant-data-cell.label-truncated:hover .entrant-data-label {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

@media (hover: none), (pointer: coarse) {
    .entrant-data-cell.label-truncated .entrant-data-label {
        cursor: pointer;
    }

    .entrant-data-cell.value-truncated .entrant-data-value-text {
        cursor: pointer;
    }
}

.entrant-data-value {
    font-size: var(--font-15);
    font-weight: 500;
    color: var(--bs-gray-900);
    line-height: 1.4;
    word-break: break-word;
}

.entrant-data-value-text {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.entrant-data-cell.value-expanded .entrant-data-value-text,
.entrant-data-cell.value-truncated:hover .entrant-data-value-text {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.entrant-data-empty {
    border: 1px dashed var(--bs-gray-300);
    border-radius: 8px;
    padding: 0.25rem 0.6rem;
    display: inline-block;
}

/* ── URL copy fields ── */
.entrant-data-links {
    display: grid;
    gap: 1.25rem;
}

.entrant-url-block {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.entrant-url-label {
    font-size: var(--font-14);
    color: var(--bs-gray-700);
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.entrant-url-copy-btn {
    cursor: pointer;
    color: var(--bs-gray-500);
    background-color: transparent;
    border-left: 0;
}

.entrant-url-copy-btn:hover {
    color: var(--bs-primary);
}

.entrant-url-helper {
    font-size: var(--font-12);
    color: var(--bs-gray-500);
    margin: 0.3rem 0 0;
    line-height: 1.3;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.entrant-url-helper i {
    font-size: var(--font-10);
}

/* ── Delivery activity ── */
.entrant-delivery-card {
    background-color: #ffffff;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.entrant-delivery-empty {
    font-size: var(--font-13);
    color: var(--bs-gray-600);
    line-height: 1.5;
}

.entrant-delivery-list {
    display: grid;
    gap: 0.6rem;
}

.entrant-delivery-row {
    display: grid;
    gap: 0.55rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--bs-gray-200);
    border-radius: 10px;
    background-color: #ffffff;
}

.entrant-delivery-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.entrant-delivery-main {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.entrant-delivery-icon-wrap {
    width: 40px;
    min-width: 40px;
    height: 40px;
    border-radius: 8px;
    background-color: #ffffff;
    border: 1px solid var(--bs-gray-200);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.entrant-delivery-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-16);
    line-height: 1;
}

.entrant-delivery-icon-glyph {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.entrant-delivery-copy {
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    display: grid;
    gap: 0.28rem;
}

.entrant-delivery-label {
    font-size: var(--font-13);
    color: var(--bs-gray-900);
    font-weight: 500;
    min-width: 0;
}

.entrant-delivery-message {
    font-size: var(--font-13);
    color: var(--bs-gray-800);
    line-height: 1.55;
    white-space: pre-wrap;
    word-break: break-word;
}

.entrant-delivery-meta {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.32rem;
    flex-shrink: 0;
    justify-self: end;
}

.entrant-delivery-status-row {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.entrant-delivery-status {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border: 1px solid transparent;
    border-radius: 999px;
    padding: 0.15rem 0.58rem;
    font-size: var(--font-12);
    font-weight: 600;
    line-height: 1.2;
}

.entrant-delivery-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: currentColor;
    display: inline-block;
    flex-shrink: 0;
}

.entrant-delivery-status-success {
    color: #15803d;
    background-color: #f0fdf4;
    border-color: #bbf7d0;
}

.entrant-delivery-status-failed {
    color: #be123c;
    background-color: #fff1f2;
    border-color: #fecdd3;
}

.entrant-delivery-status-pending {
    color: #1d4ed8;
    background-color: #eff6ff;
    border-color: #dbeafe;
}

.entrant-delivery-status-skipped {
    color: #1d4ed8;
    background-color: #eff6ff;
    border-color: #dbeafe;
}

.entrant-delivery-time {
    font-size: var(--font-12);
    color: var(--bs-gray-600);
    text-align: right;
    line-height: 1.2;
}

.entrant-delivery-retry-btn {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: #64748b;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    line-height: 1;
    padding: 0;
    width: 30px;
}

.entrant-delivery-retry-btn:hover {
    background-color: #f1f5f9;
    color: #334155;
}

.entrant-delivery-retry-btn:focus {
    outline: none;
    box-shadow: none;
}

.entrant-delivery-retry-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px var(--bs-focus-ring-color);
}

.entrant-delivery-retry-btn:disabled {
    opacity: 0.6;
}

.entrant-delivery-retry-btn i {
    font-size: var(--font-14);
}

.entrant-delivery-detail-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.18rem;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.entrant-delivery-detail-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 0.2rem 0.62rem;
    border-radius: 999px;
    background-color: #ffffff;
    border: 1px solid var(--bs-gray-200);
    color: var(--bs-gray-700);
    font-size: var(--font-12);
    font-weight: 500;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ── Entrant activity timeline ── */
.entrant-activity-card {
    border: 0;
    border-radius: 0;
    background-color: transparent;
    padding: 0;
    box-shadow: none;
}

.entrant-data-section-body.entrant-activity-card {
    padding: 0.9rem 1rem;
}

.entrant-activity-list {
    display: grid;
    gap: 0.55rem;
}

.entrant-activity-row {
    align-items: flex-start;
    background-color: #ffffff;
    border: 1px solid var(--bs-gray-200);
    border-radius: 10px;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 36px minmax(0, 1fr) auto;
    padding: 0.75rem 0.85rem;
}

.entrant-activity-icon-box {
    width: 36px;
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bs-gray-100);
    border: 1px solid var(--bs-gray-200);
    border-radius: 8px;
    color: var(--bs-gray-600);
    font-size: var(--font-14);
    flex-shrink: 0;
}

.entrant-activity-icon {
    color: inherit;
    display: inline-flex;
    font-size: var(--font-14);
    line-height: 1.2;
}

.entrant-activity-row-positive .entrant-activity-icon {
    color: #15803d;
}

.entrant-activity-row-negative .entrant-activity-icon {
    color: #be123c;
}

.entrant-activity-row-info .entrant-activity-icon {
    color: #1d4ed8;
}

.entrant-activity-copy {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

.entrant-activity-title {
    color: var(--bs-gray-900);
    font-size: var(--font-13);
    font-weight: 600;
    line-height: 1.45;
}

.entrant-activity-actor {
    color: var(--bs-gray-600);
    font-size: var(--font-12);
    font-weight: 500;
    line-height: 1.35;
}

.entrant-activity-detail-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.12rem;
}

.entrant-activity-detail-chip {
    align-items: center;
    background-color: #f8fafc;
    border: 1px solid #d8e0ea;
    border-radius: 999px;
    color: #334155;
    display: inline-flex;
    font-size: var(--font-11);
    line-height: 1.2;
    max-width: 100%;
    padding: 0.12rem 0.5rem;
    word-break: break-word;
}

.contact-message-context-list,
.contact-activity-context-list,
.participant-activity-context-list {
    align-items: center;
    color: var(--bs-gray-600);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--font-12);
    gap: 0.35rem 0.75rem;
    line-height: 1.35;
    margin-top: 0.22rem;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.contact-message-context-item,
.contact-activity-context-item,
.participant-activity-context-item {
    align-items: center;
    display: inline-flex;
    gap: 0.25rem;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.contact-message-context-item:not(:last-child)::after,
.contact-activity-context-item:not(:last-child)::after,
.participant-activity-context-item:not(:last-child)::after {
    color: var(--bs-gray-400);
    content: "·";
    margin-left: 0.4rem;
}

.contact-message-context-item i,
.contact-activity-context-item i,
.participant-activity-context-item i {
    color: var(--bs-gray-500);
    flex: 0 0 auto;
    font-size: 0.86em;
}

.contact-message-context-label,
.contact-activity-context-label,
.participant-activity-context-label {
    color: var(--bs-gray-500);
    flex: 0 0 auto;
    font-weight: 600;
}

.contact-message-context-value,
.contact-activity-context-value,
.participant-activity-context-value {
    color: #334155;
    display: inline-block;
    flex: 1 1 auto;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: bottom;
    white-space: nowrap;
}

.entrant-activity-time {
    color: var(--bs-gray-600);
    font-size: var(--font-12);
    line-height: 1.2;
    text-align: right;
    white-space: nowrap;
}

/* ── RevAssist participant chat ── */
.entrant-chat-message-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.entrant-chat-message-row {
    display: flex;
    justify-content: flex-start;
}

.entrant-chat-message-row.is-user {
    justify-content: flex-end;
}

.entrant-chat-message-bubble {
    background: #fff;
    border: 1px solid var(--entrant-detail-divider-border);
    border-radius: 0.85rem;
    color: var(--bs-gray-700);
    max-width: 88%;
    padding: 0.85rem 0.95rem;
}

.entrant-chat-message-row.is-user .entrant-chat-message-bubble {
    background: var(--bs-primary-light, #E9F3FF);
}

.entrant-chat-message-meta {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 0.45rem;
}

.entrant-chat-message-role {
    color: var(--bs-gray-800);
    font-size: var(--font-13);
    font-weight: 700;
}

.entrant-chat-message-time {
    color: var(--bs-gray-500);
    font-size: var(--font-12);
    white-space: nowrap;
}

.entrant-chat-message-copy {
    color: var(--bs-gray-700);
    font-size: var(--font-13);
    line-height: 1.5;
    white-space: pre-wrap;
    word-break: break-word;
}

.entrant-chat-empty {
    border: 1px dashed var(--entrant-detail-divider-border);
    border-radius: 0.75rem;
    color: var(--bs-gray-600);
    font-size: var(--font-13);
    padding: 1.5rem;
    text-align: center;
}

/* ── File/image previews ── */
.entrant-file-preview-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.entrant-file-thumb-link {
    display: block;
    cursor: zoom-in;
}

.entrant-file-thumb {
    width: 120px;
    height: 80px;
    object-fit: cover;
    border: 1px solid #e1e3ea;
    border-radius: 6px;
    background: #fff;
    display: block;
}

.entrant-file-download-link {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex: 1 1 100%;
    min-width: 0;
    max-width: 100%;
    font-size: var(--font-13);
    color: var(--bs-primary);
    text-decoration: none;
}

.entrant-file-download-link > i {
    flex-shrink: 0;
}

.entrant-file-download-link-text {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.entrant-file-download-link:hover .entrant-file-download-link-text {
    text-decoration: underline;
}

/* ── Picture choice previews ── */
.entrant-picture-choice-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.entrant-picture-choice-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.3rem;
    max-width: 120px;
}

.entrant-picture-choice-label {
    font-size: var(--font-12);
    color: var(--bs-gray-700);
    text-align: center;
    line-height: 1.3;
    word-break: break-word;
}

/* ── Bonus entries ── */
.entrant-bonus-content {
    padding: 0;
    background-color: transparent;
    border: 0;
    border-radius: 0;
}

.entrant-bonus-list {
    display: grid;
    gap: 0.5rem;
}

.entrant-bonus-empty {
    padding-top: 1rem;
}

.entrant-bonus-item {
    border: 1px solid var(--bs-gray-200);
    border-radius: 10px;
    background-color: #ffffff;
    padding: 0.75rem 0.85rem;
}

.entrant-bonus-item.incomplete {
    border-style: dashed;
    opacity: 0.65;
    background-color: var(--bs-gray-100);
}

.entrant-bonus-item-head {
    display: flex;
    gap: 0.65rem;
    align-items: center;
}

.entrant-bonus-item-expandable .entrant-bonus-item-head {
    cursor: pointer;
}

.entrant-bonus-item-icon-box {
    width: 36px;
    min-width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bs-gray-100);
    border: 1px solid var(--bs-gray-200);
    border-radius: 8px;
    color: var(--bs-gray-600);
    font-size: var(--font-14);
    flex-shrink: 0;
}

.entrant-bonus-item.incomplete .entrant-bonus-item-icon-box {
    border-style: dashed;
    color: var(--bs-gray-400);
}

.entrant-bonus-item-head-main {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
    flex: 1;
}

.entrant-bonus-item-head-side {
    display: grid;
    grid-template-columns: auto 26px;
    gap: 0.65rem;
    align-items: center;
    flex-shrink: 0;
    margin-left: auto;
}

.entrant-bonus-item-title {
    font-size: var(--font-14);
    font-weight: 600;
    color: var(--bs-gray-900);
}

.entrant-bonus-item-meta {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.entrant-bonus-item-type {
    font-size: var(--font-12);
    color: var(--bs-gray-600);
    line-height: 1.3;
}

.entrant-bonus-item-meta-dot {
    font-size: var(--font-10);
    color: var(--bs-gray-500);
    line-height: 1;
}

.entrant-bonus-item-total {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    color: rgb(22, 101, 52);
    font-size: var(--font-12);
    font-weight: 500;
    background-color: rgb(220, 252, 231);
    border-radius: 0.85rem !important;
    padding: 0.25rem 0.75rem;
    line-height: 1.2;
}
.entrant-bonus-item-total.is-zero {
    color: rgb(22, 101, 52);
    background-color: rgb(220, 252, 231);
}
.entrant-bonus-item-total.is-negative {
    color: var(--bs-danger);
    background-color: rgba(239, 68, 68, 0.1);
}
.entrant-bonus-item-total.is-pending {
    color: #1d4ed8;
    background-color: rgba(59, 130, 246, 0.12);
}
.entrant-bonus-item-time {
    font-size: var(--font-12);
    color: var(--bs-gray-600);
}

.entrant-bonus-item-points-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    font-size: var(--font-12);
    font-weight: 700;
    color: var(--bs-primary);
    background-color: rgba(75, 167, 238, 0.08);
    border-radius: 6px;
    white-space: nowrap;
}

.entrant-bonus-item.incomplete .entrant-bonus-item-points-badge {
    background-color: var(--bs-gray-100);
    color: var(--bs-gray-500);
}

.entrant-bonus-expand-toggle {
    grid-column: 2;
    justify-self: end;
    border: 1px solid #dbe1ea;
    background-color: #fff;
    color: #475569;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0;
}

.entrant-bonus-expand-slot {
    grid-column: 2;
    justify-self: end;
    width: 26px;
    height: 26px;
    display: inline-block;
    visibility: hidden;
}

.entrant-bonus-expand-toggle:hover {
    background-color: #f8fafc;
    color: #1f2937;
}

.entrant-bonus-expand-toggle i {
    font-size: 11px;
    transition: transform 0.18s ease;
}

.entrant-bonus-item.is-open .entrant-bonus-expand-toggle i {
    transform: rotate(180deg);
}

.entrant-bonus-expandable-content {
    margin-top: 0.45rem;
    padding-top: 0.45rem;
    border-top: 1px dashed #e5e7eb;
}

.entrant-bonus-item.compact {
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
}

.entrant-bonus-total {
    margin-top: 0.75rem;
}

.entrant-bonus-summary-divider {
    height: 1px;
    background-color: var(--bs-gray-200);
    margin-top: 0.95rem;
    margin-bottom: 0.7rem;
}

.entrant-bonus-summary-card {
    margin-top: 0;
    background-color: #f8fafc;
    border-color: #e2e8f0;
}

.entrant-bonus-total-title {
    color: var(--bs-gray-700);
    font-weight: 600;
}

.entrant-bonus-total .entrant-bonus-item-head-main {
    gap: 0;
}

.entrant-bonus-total-pill {
    margin-left: 0;
}

.entrant-bonus-events {
    display: grid;
    gap: 0.35rem;
}

.entrant-bonus-event-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
}

.entrant-bonus-event-left {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    min-width: 0;
}

.entrant-bonus-event-right {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-shrink: 0;
}

.entrant-bonus-event-label {
    font-size: var(--font-13);
    color: var(--bs-gray-900);
}

.entrant-bonus-event-meta,
.entrant-bonus-event-time {
    font-size: var(--font-12);
    color: var(--bs-gray-600);
}

.entrant-bonus-event-points {
    font-size: var(--font-13);
    font-weight: 600;
    color: var(--bs-gray-800);
}
.entrant-bonus-event-points.is-zero {
    color: var(--bs-gray-700);
    font-weight: 500;
}
.entrant-bonus-event-points.is-negative {
    color: var(--bs-danger);
}

.entrant-bonus-details {
    margin-top: 0.6rem;
    display: grid;
    gap: 0.4rem;
}

.entrant-bonus-detail-row {
    display: grid;
    grid-template-columns: minmax(90px, 120px) 1fr;
    gap: 0.6rem;
    align-items: start;
}

.entrant-bonus-detail-label {
    font-size: var(--font-11);
    color: var(--bs-gray-600);
    font-weight: 600;
    line-height: 1.35;
    padding-top: 0.2rem;
}

.entrant-bonus-detail-value {
    min-width: 0;
    font-size: var(--font-13);
    color: var(--bs-gray-800);
    line-height: 1.45;
    word-break: break-word;
}

.entrant-bonus-detail-value.is-long {
    white-space: normal;
    overflow-wrap: anywhere;
}

.entrant-bonus-pill {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    border-radius: 999px;
    border: 1px solid #d8e0ea;
    background-color: #f8fafc;
    color: #334155;
    font-size: var(--font-11);
    line-height: 1.2;
    padding: 0.12rem 0.5rem;
    word-break: break-word;
}

.entrant-bonus-pill-status-failed {
    border-color: rgba(239, 68, 68, 0.35);
    background-color: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
}

.entrant-bonus-claim-list {
    display: grid;
    gap: 0.35rem;
    padding-right: calc(26px + 0.65rem);
}

.entrant-bonus-claim-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.45rem 0.6rem;
}

.entrant-bonus-claim-main {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.entrant-bonus-claim-time,
.entrant-bonus-file-time {
    font-size: var(--font-11);
    color: var(--bs-gray-600);
}

.entrant-bonus-claim-meta {
    font-size: var(--font-12);
    color: var(--bs-gray-700);
    line-height: 1.35;
}

.entrant-bonus-payment-amount {
    color: var(--bs-gray-900);
    font-weight: 500;
}

.entrant-bonus-claim-value {
    font-size: var(--font-12);
    color: var(--bs-gray-800);
    font-weight: 500;
    text-align: right;
    white-space: nowrap;
}

.entrant-bonus-claim-link {
    color: #1d4ed8;
    text-decoration: none;
}

.entrant-bonus-claim-link:hover {
    text-decoration: underline;
}

.entrant-bonus-claim-points {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    justify-self: end;
    color: rgb(22, 101, 52);
    font-size: var(--font-12);
    font-weight: 500;
    background-color: rgb(220, 252, 231);
    border-radius: 0.85rem !important;
    padding: 0.1rem 0.55rem;
    line-height: 1.2;
}
.entrant-bonus-claim-points.is-zero {
    color: var(--bs-gray-700);
    background-color: var(--bs-gray-100);
}
.entrant-bonus-claim-points.is-negative {
    color: var(--bs-danger);
    background-color: rgba(239, 68, 68, 0.1);
}
.entrant-bonus-claim-points.is-pending {
    color: #1d4ed8;
    background-color: rgba(59, 130, 246, 0.12);
}

/* Shopify order summary card inside bonus expandable */
.entrant-bonus-details .entrant-data-card-row {
    grid-template-columns: 1fr;
}

/* Shopify order detail sections (Items Purchased / How Entries Were Earned) */
.entrant-bonus-shopify-section {
    margin-top: 0.35rem;
}

.entrant-bonus-shopify-heading {
    font-size: var(--font-11);
    font-weight: 600;
    color: var(--bs-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding-bottom: 0.35rem;
    margin-bottom: 0.3rem;
    border-bottom: 1px solid #e5e7eb;
}

.entrant-bonus-shopify-list {
    display: grid;
    gap: 0;
}

.entrant-bonus-shopify-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.4rem 0;
}

.entrant-bonus-shopify-row + .entrant-bonus-shopify-row {
    border-top: 1px solid #f1f5f9;
}

.entrant-bonus-shopify-row-main {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    min-width: 0;
}

.entrant-bonus-shopify-row-title {
    font-size: var(--font-13);
    font-weight: 500;
    color: var(--bs-gray-900);
    line-height: 1.35;
}

.entrant-bonus-shopify-row-meta {
    font-size: var(--font-12);
    color: var(--bs-gray-600);
    line-height: 1.3;
}

.entrant-bonus-shopify-row-value {
    font-size: var(--font-12);
    font-weight: 500;
    color: var(--bs-gray-800);
    white-space: nowrap;
    flex-shrink: 0;
    text-align: right;
    padding-top: 0.05rem;
}

.entrant-bonus-files {
    display: grid;
    gap: 0.45rem;
}

.entrant-bonus-file-item {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    padding: 0.45rem 0.55rem;
    border: 1px solid #e4e8f0;
    border-radius: 9px;
    background-color: #fff;
}

.entrant-bonus-file-thumb {
    width: 52px;
    height: 52px;
    border-radius: 8px;
    border: 1px solid #d8e0ea;
    overflow: hidden;
    background-color: #f8fafc;
    flex-shrink: 0;
    display: block;
}

.entrant-bonus-file-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.entrant-bonus-file-meta {
    min-width: 0;
    display: grid;
    gap: 0.25rem;
}

.entrant-bonus-file-link {
    font-size: var(--font-12);
    color: #1d4ed8;
    text-decoration: none;
    line-height: 1.35;
    word-break: break-word;
}

.entrant-bonus-file-link:hover {
    text-decoration: underline;
}

.entrant-bonus-file-link.is-muted {
    color: var(--bs-gray-700);
}

.entrant-bonus-file-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
    align-items: center;
}

.entrant-bonus-addon {
    margin-top: 0;
    padding: 0;
    border-top: 0;
    border-radius: 0;
    background-color: transparent;
}

.entrant-bonus-addon-title {
    font-size: var(--font-15);
    font-weight: 600;
}

.entrant-bonus-add-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 120px 130px;
    gap: 0.55rem;
    align-items: end;
}

.entrant-bonus-add-form.processing {
    opacity: 0.8;
    pointer-events: none;
}

/* ── Responsive ── */
@media (max-width: 767.98px) {
    .entrant-detail-drawer {
        --bs-offcanvas-width: 100vw;
    }

    .entrant-detail-drawer .offcanvas-header {
        align-items: flex-start;
        height: auto;
        padding: 0.75rem 1rem;
    }

    .entrant-detail-header-controls {
        align-items: flex-start;
        gap: 0.4rem;
    }

    .entrant-detail-header-action-slot,
    .contest-submission-header-meta {
        gap: 0.4rem;
    }

    .entrant-detail-header-action-slot {
        flex-wrap: wrap;
    }

    .contest-submission-header-actions {
        gap: 0.4rem;
        margin-left: auto;
    }

    .contest-submission-header-meta-text {
        font-size: 12px;
    }

    .entrant-detail-drawer[data-detail-kind="contest_submission"] .offcanvas-header {
        align-items: center;
        column-gap: 0.65rem;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        row-gap: 0.45rem;
    }

    .entrant-detail-drawer[data-detail-kind="contest_submission"] .offcanvas-title {
        grid-column: 1;
        grid-row: 1;
    }

    .entrant-detail-drawer[data-detail-kind="contest_submission"] .entrant-detail-header-controls,
    .entrant-detail-drawer[data-detail-kind="contest_submission"] .entrant-detail-header-action-slot {
        display: contents;
    }

    .entrant-detail-drawer[data-detail-kind="contest_submission"] .btn-close {
        grid-column: 3;
        grid-row: 1;
    }

    .entrant-detail-drawer[data-detail-kind="contest_submission"] .contest-submission-header-meta {
        flex-wrap: wrap;
        grid-column: 2;
        grid-row: 1;
        justify-content: flex-start;
        overflow: visible;
    }

    .entrant-detail-drawer[data-detail-kind="contest_submission"] .contest-submission-header-meta-text {
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .entrant-detail-drawer[data-detail-kind="contest_submission"] .contest-submission-header-actions {
        flex-wrap: wrap;
        grid-column: 1 / -1;
        grid-row: 2;
        justify-content: flex-end;
        margin-left: 0;
    }

    .entrant-profile-card {
        padding: 1rem 1rem 0.75rem;
    }

    .entrant-detail-tab-bar {
        padding: 0 1rem;
    }

    .entrant-detail-tab-content {
        padding: 1rem;
    }

    .entrant-detail-tab-pane[data-tab-pane="form-data"],
    .entrant-detail-tab-pane[data-tab-pane="bonus-entries"],
    .entrant-detail-tab-pane[data-tab-pane="activity"],
    .entrant-detail-tab-pane[data-tab-pane="chat-history"] {
        margin: -1rem;
        padding: 1rem;
    }

    .entrant-profile-name {
        font-size: var(--font-18);
    }
}

@media (max-width: 575.98px) {
    .entrant-profile-hero {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .entrant-profile-identity {
        align-items: center;
    }

    .entrant-profile-email,
    .entrant-profile-phone {
        justify-content: center;
    }

    .entrant-profile-avatar {
        width: 64px;
        min-width: 64px;
        height: 64px;
        min-height: 64px;
        font-size: var(--font-20);
    }

    .entrant-profile-meta-pills {
        justify-content: center;
    }

    .entrant-data-card-row {
        grid-template-columns: 1fr;
    }

    .entrant-data-card-row .entrant-data-cell:first-child:not(:last-child) {
        border-bottom: 1px solid var(--entrant-detail-divider-border);
        border-right: 0;
    }

    .entrant-delivery-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.3rem;
    }

    .entrant-chat-message-bubble {
        max-width: 100%;
    }

    .entrant-chat-message-meta {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.2rem;
    }

    .entrant-delivery-main {
        width: 100%;
    }

    .entrant-delivery-meta {
        align-items: flex-start;
        justify-self: start;
    }

    .entrant-delivery-time {
        text-align: left;
    }

    .entrant-activity-row {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 0.5rem 0.75rem;
    }

    .entrant-activity-time {
        grid-column: 2;
        text-align: left;
        white-space: normal;
    }

    .entrant-bonus-item-head {
        flex-direction: row;
        align-items: flex-start;
        gap: 0.65rem;
    }

    .entrant-bonus-item-head-side {
        width: auto;
        grid-template-columns: auto 26px;
        margin-left: auto;
        align-self: flex-end;
    }

    .entrant-bonus-total .entrant-bonus-item-head {
        align-items: center;
    }

    .entrant-bonus-total .entrant-bonus-item-head-side {
        align-self: center;
    }

    .entrant-bonus-event-row,
    .entrant-bonus-event-right {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0.3rem 0.55rem;
    }

    .entrant-bonus-detail-row {
        grid-template-columns: 1fr;
        gap: 0.15rem;
    }

    .entrant-bonus-claim-list {
        padding-right: 0;
    }

    .entrant-bonus-file-item {
        padding: 0.45rem;
    }

    .entrant-bonus-add-grid {
        grid-template-columns: 1fr;
        gap: 0.45rem;
    }
}

/* Builder website URL OG fetch loader */
.social-actions-wrapper .type-website .type_field_url .og-url-input-wrap {
    position: relative;
}

.social-actions-wrapper .type-website .type_field_url .og-url-input-wrap .og-url-loader {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    line-height: 1;
    background-color: #fff;
    border-radius: 999px;
    z-index: 6;
    pointer-events: none;
}

.social-actions-wrapper .type-website .type_field_url .og-url-input-wrap .og-url-loader .spinner-border {
    border-width: 2.2px;
}

body:not(.right-to-left) .social-actions-wrapper .type-website .type_field_url .og-url-input-wrap .field_url {
    padding-right: 3rem;
}

/* Facebook URL validation loader */
.social-actions-wrapper .fb-url-input-wrap {
    position: relative;
}

.social-actions-wrapper .fb-url-input-wrap .fb-url-loader {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    line-height: 1;
    background-color: #fff;
    border-radius: 999px;
    z-index: 6;
    pointer-events: none;
}

.social-actions-wrapper .fb-url-input-wrap .fb-url-loader .spinner-border {
    border-width: 2.2px;
}

.social-actions-wrapper .fb-url-input-wrap .fb-url-valid {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    line-height: 1;
    z-index: 6;
    pointer-events: none;
}

body:not(.right-to-left) .social-actions-wrapper .fb-url-input-wrap input.form-control {
    padding-right: 3rem;
}

body.right-to-left .social-actions-wrapper .fb-url-input-wrap .fb-url-loader,
body.right-to-left .social-actions-wrapper .fb-url-input-wrap .fb-url-valid {
    right: auto;
    left: 16px;
}

body.right-to-left .social-actions-wrapper .fb-url-input-wrap input.form-control {
    padding-left: 3rem;
    padding-right: 1rem;
}

/* Social username validation loader (Instagram/TikTok/X/Pinterest) */
.social-actions-wrapper .social-field-input-wrap {
    position: relative;
}

.social-actions-wrapper .social-field-input-wrap .social-field-loader {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    line-height: 1;
    background-color: #fff;
    border-radius: 999px;
    z-index: 6;
    pointer-events: none;
}

.social-actions-wrapper .social-field-input-wrap .social-field-loader .spinner-border {
    border-width: 2.2px;
}

.social-actions-wrapper .social-field-input-wrap .social-field-valid {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    line-height: 1;
    z-index: 6;
    pointer-events: none;
}

body:not(.right-to-left) .social-actions-wrapper .social-field-input-wrap input.form-control.social-username-field {
    padding-right: 3rem;
}

body.right-to-left .social-actions-wrapper .social-field-input-wrap .social-field-loader,
body.right-to-left .social-actions-wrapper .social-field-input-wrap .social-field-valid {
    right: auto;
    left: 16px;
}

body.right-to-left .social-actions-wrapper .social-field-input-wrap input.form-control.social-username-field {
    padding-left: 3rem;
    padding-right: 1rem;
}

/* X URL validation loader */
.social-actions-wrapper .x-url-input-wrap {
    position: relative;
}

.social-actions-wrapper .x-url-input-wrap .x-url-loader {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 999px;
    z-index: 6;
    pointer-events: none;
}

.social-actions-wrapper .x-url-input-wrap .x-url-loader .spinner-border {
    border-width: 2.2px;
}

.social-actions-wrapper .x-url-input-wrap .x-url-valid {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    line-height: 1;
    z-index: 6;
    pointer-events: none;
}

body:not(.right-to-left) .social-actions-wrapper .x-url-input-wrap input.form-control {
    padding-right: 3rem;
}

body.right-to-left .social-actions-wrapper .x-url-input-wrap .x-url-loader,
body.right-to-left .social-actions-wrapper .x-url-input-wrap .x-url-valid {
    right: auto;
    left: 16px;
}

body.right-to-left .social-actions-wrapper .x-url-input-wrap input.form-control {
    padding-left: 3rem;
    padding-right: 1rem;
}

/* Security Section Styles */
.selected-country-pill {
    background-color: var(--bs-gray-100);
    border: 1px solid var(--bs-gray-300);
    border-radius: 50px;
    padding: 2px 10px;
    font-size: var(--font-14);
}
.selected-country-pill .remove-country {
    opacity: 0.5;
    transition: opacity 0.2s, color 0.2s;
    line-height: 1;
}
.selected-country-pill .remove-country:hover {
    opacity: 1;
    color: var(--bs-danger) !important;
}

.country-result-item { transition: background-color 0.15s; padding: 10px 10px !important; }
.country-result-item:hover { background-color: var(--bs-gray-100); }
.country-result-item.selected { background-color: rgba(75, 167, 238, 0.1); }
.country-result-item.selected .country-selected-check { display: block !important; }
.country-selected-check { margin-right: 8px; }

.country-results-list { max-height: 300px; overflow-y: auto; }
.country-flag-img { width: 24px; height: 16px; object-fit: cover; border-radius: 2px; }
.selected-country-pill .country-flag-img { width: 16px; height: 11px; }

.ip-rule-row .btn-light-danger { opacity: 0.6; transition: opacity 0.2s; }
.ip-rule-row:hover .btn-light-danger { opacity: 1; }

#kt_app_header_logo.px-lg-10 { padding-left: 1.5rem !important; }
.app-sidebar-logo { display: inline-flex; margin: -6px; padding: 6px; border-radius: 8px; transition: background-color 0.2s ease, transform 0.2s ease; }
.app-sidebar-logo:hover { background-color: var(--bs-gray-200); transform: scale(1.1); }

body { --bs-app-header-height: 70px !important; --bs-app-sidebar-width: 250px !important; }

.user-default-avatar { width: 32px; height: 32px; border-radius: 50%; background-color: #fff; border: 1.5px solid #dbdfe9; display: flex; align-items: center; justify-content: center; font-weight: 600; font-size: 13px; color: var(--bs-gray-600); }
.user-default-avatar-lg { width: 40px; height: 40px; font-size: 16px; }
.user-menu-header { background-color: var(--bs-gray-100); }
.account-menu-trigger { width: 100%; min-width: 0; overflow: hidden; justify-content: space-between; gap: 0.75rem; }
.account-menu-trigger-copy { flex: 1 1 auto; min-width: 0; max-width: 11rem; }
.account-menu-trigger-name { display: block; max-width: 100%; }
.account-menu-arrow { display: inline-flex; align-items: center; justify-content: center; width: 0.875rem; margin-left: 0; }
.account-menu-dropdown { width: 320px; max-width: calc(100vw - 2rem); }
.account-menu-dropdown-copy { flex: 1 1 auto; min-width: 0; }
.account-menu-header-avatar { border-radius: 10px !important; object-fit: contain; }
.account-menu-link { display: flex !important; align-items: center; min-width: 0; }
.account-menu-dropdown-name,
.account-menu-item-name {
    display: block;
    min-width: 0;
    max-width: none;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
}
.account-menu-item-name { flex: 1 1 auto; }
#kt_sidebar_user_menu_toggle > .menu-sub-dropdown { overflow: hidden; }
#kt_sidebar_user_menu_toggle .menu-sub-dropdown .menu-link:hover { background-color: var(--bs-menu-link-bg-color-hover) !important; }
#kt_header_user_menu_toggle > .menu-sub-dropdown { overflow: hidden; }
#kt_header_user_menu_toggle .menu-sub-dropdown .menu-link:hover { background-color: var(--bs-menu-link-bg-color-hover) !important; }
.menu-arrow-icon { transition: transform 0.2s ease; }
[data-kt-menu-trigger].show > .menu-arrow-icon,
[data-kt-menu-trigger].show > .account-menu-arrow > .menu-arrow-icon { transform: rotate(180deg); }
@media (min-width: 992px) {
    [data-kt-menu-trigger]:hover > .menu-arrow-icon,
    [data-kt-menu-trigger]:hover > .account-menu-arrow > .menu-arrow-icon { transform: rotate(180deg); }
}

/* ── Command Bar ──────────────────────────────────── */
#kt_header_search_bar { position: relative; }

.command-bar-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1055;
    background: var(--bs-body-bg, #fff);
    border: 1px solid var(--bs-gray-300);
    border-top: none;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    max-height: 400px;
    overflow-x: hidden;
    overflow-y: auto;
}

#kt_header_search_bar.command-bar-expanded form {
    border: 1px solid var(--bs-gray-300);
    border-radius: 8px 8px 0 0;
}

.command-bar-item { transition: background-color 0.1s ease; }
.command-bar-item:hover,
.command-bar-item-active { background-color: var(--bs-gray-100) !important; }
.command-bar-item { width: 100%; overflow: hidden; }
.command-bar-item .flex-grow-1 { min-width: 0; }
.command-bar-item-icon { width: 20px; text-align: center; flex-shrink: 0; }
.command-bar-item-title,
.command-bar-item-subtitle {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#command_bar_dropdown .command-bar-actions-list,
#command_bar_dropdown .command-bar-recent-list,
#command_bar_dropdown .command-bar-results-list {
    overflow-x: hidden;
}

.command-bar-section-title {
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 10px !important;
    color: var(--bs-gray-500);
    font-weight: 600;
    padding: 8px 20px 4px;
}

.command-bar-kbd {
    display: inline-block;
    padding: 0 4px;
    font-size: 12px;
    line-height: 18px;
    color: var(--bs-gray-600);
    background: var(--bs-gray-200);
    border: 1px solid var(--bs-gray-300);
    border-radius: 3px;
}

.command-bar-footer { background: var(--bs-gray-50); border-radius: 0 0 8px 8px; }

.command-bar-shortcut-hint { pointer-events: none; }

/* Dark mode */
[data-bs-theme=dark] .command-bar-dropdown { border-color: #232323; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); }
[data-bs-theme=dark] .command-bar-item:hover,
[data-bs-theme=dark] .command-bar-item-active { background-color: #1a1a1a !important; }
[data-bs-theme=dark] .command-bar-footer { background: #131313; border-color: #232323; }

/* Hide dropdown when slide-out is open */
body.slide-out-open .command-bar-dropdown { display: none !important; }

@media (max-width: 991.98px) {
    #kt_app_header .d-flex.align-items-center.flex-stack.flex-grow-1 {
        gap: 0.5rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    #kt_app_header_logo {
        width: auto !important;
        min-width: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        flex: 0 0 auto;
    }

    #kt_app_sidebar_mobile_toggle {
        margin-left: 0 !important;
        margin-right: 0.5rem !important;
    }

    #kt_app_header_logo .app-sidebar-logo {
        margin-right: 0.25rem;
    }

    #kt_app_header .app-navbar {
        justify-content: flex-start !important;
        flex: 1 1 auto;
        min-width: 0;
    }

    #kt_app_header .app-navbar-item {
        flex: 1 1 auto;
        min-width: 0;
        margin-right: 0 !important;
    }

    #kt_app_header .d-flex.align-items-center.pe-lg-10.pe-5 {
        padding-right: 0.5rem !important;
    }

    #kt_header_search_bar {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ============================================================
   Winners Slide-out (REV-1188)
   TODO(REV-1189): Stage 2 enables behavior + winners_manage permission gates
   ============================================================ */

/* Status badges — reuse participant-status-badge base, map winner statuses to existing color tones */
.winners-status-badge-won { background-color: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.winners-status-badge-won .participant-status-dot { background-color: #15803d; }
.winners-status-badge-notified { background-color: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.winners-status-badge-notified .participant-status-dot { background-color: #15803d; }
.winners-status-badge-claimed { background-color: #f0fdf4; border-color: #bbf7d0; color: #15803d; }
.winners-status-badge-claimed .participant-status-dot { background-color: #15803d; }
.winners-status-badge-disqualified { background-color: #fff1f2; border-color: #fecdd3; color: #be123c; }
.winners-status-badge-disqualified .participant-status-dot { background-color: #be123c; }
.winners-status-badge-selected { background-color: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.winners-status-badge-selected .participant-status-dot { background-color: #1d4ed8; }
.winners-status-badge-expired { background-color: #fefce8; border-color: #fde68a; color: #a16207; }
.winners-status-badge-expired .participant-status-dot { background-color: #a16207; }

/* Grouped winners — alternate rows and expand/collapse */
.winners-group-toggle {
    align-items: center;
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 11px;
    height: 20px;
    justify-content: center;
    padding: 0;
    transition: transform 0.15s ease;
    width: 16px;
}
.winners-group-toggle[aria-expanded="true"] { transform: rotate(90deg); }
.winners-group-toggle:hover { color: #334155; }
.winners-alt-indent { display: inline-block; width: 28px; flex-shrink: 0; }
.winners-alt-row { background-color: #f8fafc; }
.winners-alt-row > td { border-top: 1px dashed #e2e8f0 !important; }
.winners-role-label {
    border-radius: 4px;
    flex-shrink: 0;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1;
    padding: 3px 6px;
}
.winners-role-primary { background-color: #eff6ff; color: #1d4ed8; }
.winners-role-alternate { background-color: #f1f5f9; color: #64748b; }
.winners-verification-label { font-size: 12px; line-height: 1.35; margin-top: 1px; }

/* Fraud flag badge */
.winners-fraud-badge {
    align-items: center;
    background-color: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 999px;
    color: #b45309;
    display: inline-flex;
    font-size: var(--font-11);
    height: 22px;
    justify-content: center;
    width: 22px;
}
.winners-fraud-badge i { font-size: 11px; }

/* Table column widths */
.winners-cell-number { width: 52px; text-align: center; white-space: nowrap; }
.winners-cell-announcement,
.winners-cell-status,
.winners-cell-date {
    white-space: nowrap;
    width: 1%;
}
.winners-cell-date { min-width: 120px; }
.winners-cell-announcement { min-width: 148px; }
.winners-cell-status { min-width: 136px; }
.winners-table th.winners-cell-announcement,
.winners-table td.winners-cell-announcement,
.winners-table th.winners-cell-status,
.winners-table td.winners-cell-status,
.winners-table th.winners-cell-date,
.winners-table td.winners-cell-date {
    width: 1%;
}
.winners-table .participant-status-badge-with-menu {
    white-space: nowrap;
}

/* Empty state */
.winners-empty-state { padding: 2rem 1rem; }
.winners-empty-icon { color: var(--bs-gray-400); font-size: 3rem; }

/* Draw history */
.winners-draw-history {
    margin-top: 2rem;
}
.winners-history-card {
    background: #fff;
    border: 1px solid #dbe3ef;
    border-radius: 18px;
    overflow: hidden;
}
.winners-history-card-header {
    align-items: center;
    color: #0f172a;
    display: flex;
    font-size: 1.125rem;
    font-weight: 700;
    gap: 0.75rem;
    padding: 1.6rem 1.8rem;
}
.winners-history-search-wrap {
    flex: 0 0 360px;
    max-width: 360px;
    width: 360px;
}
.winners-history-card-header i {
    color: #64748b;
    font-size: 1.1rem;
}
.winners-draw-history-empty {
    font-size: var(--font-13);
    padding: 2rem 1.5rem;
}
.winners-history-entry {
    border-top: 1px solid #e2e8f0;
}
.winners-history-entry:first-of-type {
    border-top: 1px solid #e2e8f0;
}
.winners-history-entry > summary {
    list-style: none;
}
.winners-history-entry > summary::-webkit-details-marker {
    display: none;
}
.winners-history-entry-summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 0.8rem;
    padding: 1.2rem 1.8rem;
}
.winners-history-entry-summary:hover {
    background: #fbfdff;
}
.winners-history-entry-caret {
    align-items: center;
    color: #64748b;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.95rem;
    justify-content: center;
    transition: transform 0.18s ease;
}
.winners-history-entry[open] .winners-history-entry-caret {
    transform: rotate(90deg);
}
.winners-history-entry-copy {
    flex: 1 1 auto;
    min-width: 0;
}
.winners-history-entry-line {
    align-items: center;
    color: #64748b;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.95rem;
    gap: 0.35rem;
    line-height: 1.45;
}
.winners-history-entry-date {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 700;
}
.winners-history-entry-separator {
    color: #94a3b8;
    font-weight: 600;
}
.winners-history-entry-line a {
    color: #60a5fa;
    font-weight: 500;
    text-decoration: none;
}
.winners-history-entry-line a:hover {
    color: #3b82f6;
}
.winners-history-drand-help {
    background: none;
    border: 0;
    color: #60a5fa;
    cursor: pointer;
    font-weight: 500;
    padding: 0;
    text-decoration: none;
}
.winners-history-drand-help:hover,
.winners-history-drand-help:focus {
    color: #3b82f6;
    outline: none;
}
.winners-history-entry-body {
    padding: 0 1.8rem 1.45rem 3.15rem;
}
.winners-history-draw-meta {
    align-items: center;
    color: #64748b;
    display: flex;
    flex-wrap: wrap;
    font-size: 0.9rem;
    gap: 0.45rem;
    line-height: 1.45;
    margin-bottom: 0.75rem;
}
.winners-history-draw-meta a {
    color: #60a5fa;
    font-weight: 500;
    text-decoration: none;
}
.winners-history-draw-meta a:hover {
    color: #3b82f6;
}
.winners-history-winner-meta {
    font-size: 0.93rem;
    line-height: 1.45;
}
.winners-history-winners-table-wrap {
    background: #fff;
    border: 1px solid #dbe3ef;
    border-radius: 10px;
    max-width: 980px;
    overflow: hidden;
    width: 100%;
}
.winners-history-winners-table {
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0;
    width: 100%;
}
.table.winners-history-winners-table thead th {
    background: #f8fafc;
    border-bottom: 1px solid #dbe3ef;
    color: #475569;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    padding: 0.65rem 0.9rem;
    text-transform: uppercase;
    white-space: nowrap;
}
.table.winners-history-winners-table tbody td {
    border-bottom: 1px solid #dbe3ef;
    color: #111827;
    font-size: 0.92rem;
    padding: 0.72rem 0.9rem;
    vertical-align: middle;
}
.table.winners-history-winners-table tbody tr:last-child td {
    border-bottom: 0;
}
.table.winners-history-winners-table thead th:first-child,
.table.winners-history-winners-table tbody td:first-child {
    padding-left: 1.1rem;
}
.table.winners-history-winners-table thead th + th,
.table.winners-history-winners-table tbody td + td {
    border-left: 1px solid #eef2f7;
}
.winners-history-col-timestamp {
    white-space: nowrap;
    width: 200px;
}
.winners-history-action-label {
    color: #111827;
    font-size: 0.92rem;
    font-weight: 600;
    line-height: 1.35;
}
.winners-history-action-detail {
    color: #64748b;
    font-size: 0.84rem;
    line-height: 1.4;
    margin-top: 0.12rem;
}
.winners-history-pagination-note {
    font-size: 0.88rem;
    line-height: 1.45;
    margin-top: 0.75rem;
}
.winners-history-load-more-wrap {
    margin-top: 0.85rem;
}
.winners-history-winner-name {
    color: #111827;
    font-size: 0.93rem;
    font-weight: 600;
    line-height: 1.35;
}
.winners-history-winner-email {
    color: #64748b;
    font-size: 0.84rem;
    line-height: 1.4;
    margin-top: 0.12rem;
}
.winners-history-panel {
    border-top: 1px solid #e2e8f0;
    margin-top: 1.15rem;
    padding-top: 1rem;
}
.winners-history-panel > summary {
    list-style: none;
}
.winners-history-panel > summary::-webkit-details-marker {
    display: none;
}
.winners-history-panel-summary {
    align-items: center;
    color: #111827;
    cursor: pointer;
    display: flex;
    font-size: 1.08rem;
    font-weight: 700;
    gap: 0.7rem;
    line-height: 1.35;
    padding: 0.15rem 0;
}
.winners-history-panel-caret {
    align-items: center;
    color: #64748b;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.8rem;
    justify-content: center;
    transition: transform 0.18s ease;
    width: 12px;
}
.winners-history-panel[open] .winners-history-panel-caret {
    transform: rotate(90deg);
}
.winners-history-panel-summary > i {
    color: #64748b;
    width: 14px;
}
.winners-history-panel-body {
    padding-top: 0.95rem;
}
.winners-history-pagination {
    border-top: 1px solid #e2e8f0;
    margin-top: 0.85rem;
    padding: 0.75rem 1.8rem 1rem;
}
.winners-history-proof-card,
.winners-history-math-card {
    background: #fff;
    border: 1px solid #dbe3ef;
    border-radius: 12px;
    padding: 1rem 1.05rem;
}
.winners-history-proof-card {
    display: grid;
    gap: 0.55rem;
}
.winners-history-proof-note {
    color: #64748b;
    font-size: 0.94rem;
    line-height: 1.5;
}
.winners-history-proof-label {
    color: var(--bs-text-primary);
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.35;
    margin-top: 0.55rem;
    text-transform: uppercase;
}
.winners-history-proof-label:first-child {
    margin-top: 0;
}
.winners-history-proof-value {
    background: var(--bs-light-bg-subtle);
    border: 1px solid #d1d9e6;
    border-radius: 8px;
    color: #374151;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.82rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
    padding: 0.6rem 0.75rem;
}
.winners-history-math-card + .winners-history-math-card {
    margin-top: 0.85rem;
}
.winners-history-math-header {
    color: #111827;
    font-size: 0.96rem;
    font-weight: 700;
    margin-bottom: 0.8rem;
}
.winners-history-math-body {
    display: grid;
    gap: 0.9rem;
}
.winners-history-math-line {
    color: #64748b;
    font-size: 0.94rem;
    line-height: 1.5;
}
.winners-history-flow {
    align-items: stretch;
    display: flex;
    gap: 0;
    margin-bottom: 1rem;
}
.winners-history-flow-chip {
    background: var(--bs-light-bg-subtle);
    border-bottom: 1px solid #d1d9e6;
    border-left: none;
    border-right: none;
    border-top: 1px solid #d1d9e6;
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.8rem 0.9rem;
}
.winners-history-flow-chip:first-child {
    border-bottom-left-radius: 8px;
    border-left: 1px solid #d1d9e6;
    border-top-left-radius: 8px;
}
.winners-history-flow-chip:last-child {
    border-bottom-right-radius: 8px;
    border-right: 1px solid #d1d9e6;
    border-top-right-radius: 8px;
}
.winners-history-flow-label {
    color: var(--bs-text-primary);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.winners-history-flow-value {
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.winners-history-flow-value-expandable {
    display: block;
    outline: none;
}
.winners-history-flow-value-short,
.winners-history-flow-value-full {
    display: block;
}
.winners-history-flow-value-full {
    display: none;
}
.winners-history-flow-value-expandable:hover .winners-history-flow-value-short,
.winners-history-flow-value-expandable:focus .winners-history-flow-value-short,
.winners-history-flow-value-expandable:focus-visible .winners-history-flow-value-short {
    display: none;
}
.winners-history-flow-value-expandable:hover .winners-history-flow-value-full,
.winners-history-flow-value-expandable:focus .winners-history-flow-value-full,
.winners-history-flow-value-expandable:focus-visible .winners-history-flow-value-full {
    display: block;
}
.winners-history-flow-arrow {
    align-items: center;
    background: var(--bs-light-bg-subtle);
    border-bottom: 1px solid #d1d9e6;
    border-left: 1px solid #d1d9e6;
    border-top: 1px solid #d1d9e6;
    color: #94a3b8;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.95rem;
    justify-content: center;
    padding: 0 0.75rem;
}
.winners-history-story-step {
    align-items: flex-start;
    display: flex;
    gap: 0.8rem;
}
.winners-history-story-number {
    align-items: center;
    background: var(--bs-primary-light);
    border: 1px solid var(--bs-primary-bg-subtle);
    border-radius: 999px;
    color: var(--bs-text-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.85rem;
    font-weight: 700;
    height: 30px;
    justify-content: center;
    margin-top: 0.05rem;
    width: 30px;
}
.winners-history-story-copy {
    min-width: 0;
}
.winners-history-story-title {
    color: #111827;
    font-size: 1.02rem;
    font-weight: 700;
    line-height: 1.4;
}
.winners-history-story-text {
    color: #4b5563;
    font-size: 0.95rem;
    line-height: 1.85;
    margin-top: 0.2rem;
}
.winners-history-inline-code {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    color: #475569;
    display: inline-block;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: 0.82rem;
    line-height: 1.4;
    padding: 0.08rem 0.35rem;
    vertical-align: baseline;
}
@media (max-width: 991.98px) {
    .winners-history-search-wrap {
        flex: 1 1 auto;
        max-width: none;
        width: 100%;
    }
    .winners-history-entry-summary {
        padding: 1rem 1.2rem;
    }
    .winners-history-entry-body {
        padding: 0 1.2rem 1.25rem 1.2rem;
    }
    .winners-history-pagination {
        padding: 0.75rem 1.2rem 0.9rem;
    }
}
@media (max-width: 767.98px) {
    .winners-history-card-header {
        padding: 1.2rem 1.2rem 1.1rem;
    }
    .winners-history-entry-summary {
        gap: 0.55rem;
    }
    .winners-history-entry-line {
        font-size: 0.88rem;
    }
    .winners-history-entry-date {
        font-size: 0.92rem;
    }
    .winners-history-draw-meta {
        font-size: 0.84rem;
    }
    .winners-history-winners-table-wrap {
        overflow-x: auto;
    }
    .winners-history-winners-table {
        min-width: 600px;
    }
    .winners-history-flow {
        flex-direction: column;
    }
    .winners-history-flow-chip {
        border-left: 1px solid #d1d9e6;
        border-right: 1px solid #d1d9e6;
    }
    .winners-history-flow-chip:first-child {
        border-bottom-left-radius: 0;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
        border-right: 1px solid #d1d9e6;
        border-top: 1px solid #d1d9e6;
    }
    .winners-history-flow-chip:last-child {
        border-bottom-left-radius: 8px;
        border-bottom-right-radius: 8px;
        border-left: 1px solid #d1d9e6;
        border-top-right-radius: 0;
    }
    .winners-history-flow-arrow {
        border-left: 1px solid #d1d9e6;
        border-right: 1px solid #d1d9e6;
        border-top: none;
        justify-content: flex-start;
        padding: 0.3rem 0.9rem;
    }
    .winners-history-flow-arrow i {
        transform: rotate(90deg);
    }
    .winners-history-proof-value {
        font-size: 0.78rem;
    }
}

/* Filter dropdown layout */
.winners-filter-menu {
    display: none;
}
.winners-filter-wrap.open .winners-filter-menu { display: flex; flex-direction: column; }
.winners-filter-header { align-items: center; display: flex; justify-content: space-between; }
.winners-filter-status-stack {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.5rem;
}

/* Disabled toolbar controls (Stage 1) */
.winners-toolbar button[disabled],
.winners-toolbar input[disabled] {
    cursor: not-allowed;
    opacity: 0.55;
}
.winners-sort-trigger { background: none; border: none; color: inherit; cursor: pointer; font: inherit; padding: 0; }
.winners-sort-trigger[disabled] { opacity: 0.55; }
.winners-sort-trigger .participants-sort-icon { margin-left: 0.25rem; }

/* Notify button disabled state */
.winners-notify-btn:disabled { cursor: not-allowed; opacity: 0.5; }

/* Draw modal — date range input border radius */
.winners-date-range-group .winners-draw-date-range.rounded-end { border-top-right-radius: 0.475rem !important; border-bottom-right-radius: 0.475rem !important; }

/* Pagination — match participants .slide-out-pagination */
.winners-pagination { border-top: 1px solid #e2e8f0; margin-top: 0 !important; padding: 0.25rem 1rem 0.5rem; }
.winners-pagination .page-link[disabled],
.winners-pagination .page-link.disabled { cursor: not-allowed; opacity: 0.5; pointer-events: none; }

/* Builder custom themes */
#colors_accordion .accordion-item {
    position: relative;
}
.builder-colors-toolbar {
    align-items: center;
    display: flex;
    justify-content: flex-end;
    min-height: 3.25rem;
    padding: 0.35rem 0.5rem 0.5rem 0.85rem;
    position: absolute;
    right: 3.25rem;
    top: 0.35rem;
    z-index: 2;
}
.builder-save-custom-theme-button {
    font-weight: 600;
    font-size: var(--font-12);
    line-height: 1.2;
    padding: 0.4rem 0.75rem !important;
    white-space: nowrap;
}
.builder-custom-theme-library-title {
    color: var(--bs-gray-700);
    font-size: var(--font-11);
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 0.75rem;
    text-transform: uppercase;
}
.builder-custom-theme-list {
    display: grid;
    gap: 0.65rem;
}
.builder-custom-theme-card {
    align-items: center;
    background: var(--bs-gray-100);
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.75rem;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.75rem 0.9rem;
}
.builder-custom-theme-card.is-active {
    background: var(--bs-primary-light);
    border-color: var(--bs-primary);
}
.builder-custom-theme-card-body {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: 0.75rem;
    justify-content: space-between;
    min-width: 0;
}
.builder-custom-theme-card-name {
    color: var(--bs-gray-900);
    font-weight: 600;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.builder-custom-theme-card-swatches {
    display: flex;
    flex: 0 0 auto;
    gap: 0.35rem;
}
.builder-custom-theme-card-swatch,
.builder-theme-preview-swatch {
    border: 1px solid var(--bs-gray-300);
    border-radius: 999px;
    display: inline-block;
    height: 1.25rem;
    width: 1.25rem;
}
.builder-theme-preview-row {
    display: flex;
    gap: 0.75rem;
}
.builder-theme-preview-block {
    align-items: center;
    background: var(--bs-gray-100);
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.75rem;
    display: flex;
    flex: 1 1 0;
    gap: 0.65rem;
    min-width: 0;
    padding: 0.75rem 0.9rem;
}
.builder-theme-preview-label {
    color: var(--bs-gray-800);
    font-size: var(--font-12);
    font-weight: 600;
}
.builder-theme-option-row {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    width: 100%;
}
.select2-results__option .builder-theme-option-row {
    padding-right: 1.75rem;
}
.select2-results__option .builder-theme-option-row.has-delete-action {
    padding-right: 3rem;
}
.builder-theme-option-content {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    min-width: 0;
    width: 100%;
}
.builder-theme-option-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.builder-theme-option-swatches {
    display: flex;
    flex: 0 0 auto;
    gap: 0.35rem;
}
.builder-theme-option-swatch {
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.35rem;
    display: inline-block;
    height: 1.25rem;
    width: 1.25rem;
}
.builder-theme-option-delete {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: var(--bs-gray-600);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 auto;
    height: 1.8rem;
    justify-content: center;
    padding: 0;
    transition: color 0.15s ease, background-color 0.15s ease;
    width: 1.8rem;
    z-index: 2;
}
.builder-theme-option-delete:hover,
.builder-theme-option-delete:focus-visible {
    background: rgba(var(--bs-danger-rgb), 0.1);
    color: var(--bs-danger);
    outline: none;
}
@media (max-width: 767px) {
    #colors_accordion .accordion-item {
        position: static;
    }
    .builder-colors-toolbar {
        display: flex;
        justify-content: flex-start;
        padding: 0.75rem 1rem 0;
        position: static;
        right: auto;
        top: auto;
    }
    .builder-save-custom-theme-button {
        font-size: var(--font-11);
    }
    .builder-custom-theme-card-body {
        align-items: flex-start;
        flex-direction: column;
    }
    .builder-theme-option-content {
        align-items: flex-start;
        flex-direction: column;
    }
    .builder-theme-preview-row {
        flex-direction: column;
    }
}

/* ============================================================
   Contacts List — mirrors participants-table-v2 patterns
   ============================================================ */

.contacts-list-wrapper {
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    overflow: visible !important;
    position: relative;
    z-index: 1;
}
.contacts-list-table-scroll { overflow-x: auto; position: relative; z-index: 1; }
.contacts-list-wrapper.is-loading .contacts-list-table-scroll {
    min-height: 320px;
}
.contacts-list-wrapper.is-loading .contacts-list-table-scroll > *:not(.sonar-table-loading-overlay) {
    pointer-events: none;
    user-select: none;
}
.table-loading-surface-locked {
    overflow-y: hidden;
}

/* Toolbar */
.contacts-toolbar { border-bottom: 1px solid #e2e8f0; overflow: visible; padding: 1rem; position: relative; z-index: 5; }
.contacts-toolbar .contacts-count { font-size: var(--font-14); white-space: nowrap; }
.contacts-toolbar-controls { width: 100%; justify-content: flex-end; }
.contacts-toolbar-search-wrap { width: min(100%, 360px); }
.contacts-toolbar-search-wrap .form-control { background-color: #fff; border-color: #dfe3ea; }
.contacts-toolbar-btn { border: 1px solid #d8dee8 !important; background-color: #fff !important; color: #1f2937 !important; display: inline-flex; align-items: center; gap: 0.45rem; }
.contacts-toolbar-btn:hover { background-color: #f8fafc !important; border-color: #c8d0dd !important; }

/* Refresh button */
.contacts-summary-refresh {
    align-items: center;
    background: none;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    height: 32px;
    justify-content: center;
    padding: 0;
    transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
    width: 32px;
}
.contacts-summary-refresh:hover { background-color: #f1f5f9; border-color: #e2e8f0; color: #334155; }

/* Search clear */
.contacts-search-clear { padding: 0 0.25rem; line-height: 1; }
.contacts-search-clear:hover { color: #1f2937 !important; }

/* Filter panel */
.contacts-filter-wrap { position: relative; z-index: 25; }
.contacts-filter-trigger { min-width: 128px; justify-content: center; position: relative; }
.contacts-filter-count {
    align-items: center;
    background-color: #1d4ed8;
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 700;
    height: 18px;
    justify-content: center;
    line-height: 1;
    min-width: 18px;
    padding: 0 5px;
}
.contacts-filter-menu {
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
    display: none;
    min-width: 320px;
    position: absolute;
    right: 0;
    top: calc(100% + 6px);
    z-index: 30;
}
.contacts-filter-wrap.open .contacts-filter-menu { display: flex; flex-direction: column; }
.contacts-filter-section {
    max-height: 65vh;
    overflow-y: auto;
    padding-top: 0.5rem;
}
.contacts-filter-section::after {
    content: '';
    display: block;
    height: 0.35rem;
}
.contacts-filter-header {
    align-items: center;
    display: flex;
    justify-content: space-between;
}
.contacts-filter-title { letter-spacing: 0.01em; }
.contacts-filter-rule-block {
    border-top: 1px solid #f1f5f9;
    padding-top: 0.75rem;
}
.contacts-filter-rule-block:last-child { padding-bottom: 0.25rem; }
.contacts-filter-rule-row { display: grid; gap: 0.45rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.contacts-filter-rule-row-single { grid-template-columns: minmax(0, 1fr); }
.contacts-filter-rule-block .contacts-filter-rule-row:last-child { margin-bottom: 0.25rem; }
.contacts-filter-inline-input { min-width: 0; }
.contacts-filter-rule-row .form-select,
.contacts-filter-inline-input .form-control {
    background-color: #fff;
    border-color: #dfe3ea;
    font-size: var(--font-13);
}
.contacts-filter-rule-row .form-select:focus,
.contacts-filter-inline-input .form-control:focus {
    border-color: #93c5fd;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.12);
}
.contacts-filter-menu .select2-container { width: 100% !important; }
.contacts-filter-menu .select2-container .select2-selection--single {
    background-color: #fff;
    border: 1px solid #dfe3ea;
    border-radius: 6px;
    font-size: var(--font-13);
    height: 32px;
    line-height: 32px;
    padding: 0 8px;
}
.contacts-filter-menu .select2-container .select2-selection--single .select2-selection__rendered {
    color: #334155;
    line-height: 30px;
    padding: 0;
}
.contacts-filter-menu .select2-container .select2-selection--single .select2-selection__arrow {
    height: 30px;
    right: 6px;
}
.contacts-filter-menu .select2-container--default.select2-container--open .select2-selection--single {
    border-color: #93c5fd;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.12);
}
.contacts-filter-menu .select2-dropdown {
    border-color: #dfe3ea;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.contacts-filter-menu .select2-results__option {
    font-size: var(--font-13);
}
.contacts-filter-date-input-group .input-group-text {
    background-color: #f8fafc;
    border-color: #dfe3ea;
    color: #64748b;
    font-size: var(--font-13);
    padding: 0 8px;
}
.contacts-filter-date-input-group .form-control {
    border-color: #dfe3ea;
    font-size: var(--font-13);
}
.contacts-filter-reset {
    background: none;
    border: none;
    color: #64748b;
    cursor: pointer;
    font-size: var(--font-12);
    padding: 0;
    text-decoration: none;
}
.contacts-filter-reset-inline { line-height: 1.1; white-space: nowrap; }
.contacts-filter-reset:hover { color: #1d4ed8; text-decoration: none; }

/* Bulk actions row */
.contacts-bulk-row {
    align-items: center;
    background-color: #f7f9fc;
    border-top: 1px solid #e2e8f0;
    display: flex;
    gap: 0.65rem;
    justify-content: space-between;
    margin: 1rem -1rem -1rem;
    min-height: 52px;
    padding: 0.4rem 1rem;
}
.contacts-bulk-summary-wrap { gap: 0.65rem !important; min-width: 0; }
.contacts-bulk-row .contacts-bulk-summary {
    font-size: var(--font-13);
    line-height: 1.25;
    white-space: nowrap;
}
.contacts-bulk-actions { gap: 0.35rem !important; margin-left: auto; }
.contacts-bulk-count {
    align-items: center;
    background-color: var(--bs-primary);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: var(--font-13);
    font-weight: 700;
    height: 28px;
    justify-content: center;
    line-height: 1;
    min-width: 28px;
    padding: 0 0.25rem;
}
.contacts-bulk-row .contacts-toolbar-btn {
    font-size: var(--font-13);
    min-height: 30px;
    padding: 0.22rem 0.62rem !important;
}
.contacts-bulk-row .contacts-toolbar-btn i { font-size: 13px; }
.contacts-bulk-row .contacts-toolbar-btn:disabled { opacity: 0.5; }
.contacts-bulk-delete-btn:not(:disabled):hover {
    background-color: #fff1f2 !important;
    border-color: #fecdd3 !important;
    color: #be123c !important;
}
.contacts-bulk-clear-link {
    align-items: center;
    color: #64748b;
    display: inline-flex;
    font-size: var(--font-13);
    font-weight: 500;
    gap: 0.4rem;
    line-height: 1;
    margin-left: 0.85rem;
    padding: 0.2rem 0.15rem;
    text-decoration: none;
}
.contacts-bulk-clear-link:hover { color: #1e293b; }

/* Table */
table.contacts-table-v2 th:first-child,
table.contacts-table-v2 td:first-child { padding-left: 16px !important; }
table.contacts-table-v2 thead th {
    background-color: #f7f9fc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-right: 1px solid #edf1f7 !important;
    color: #475467 !important;
    font-size: var(--font-13) !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em;
    padding: 12px 10px !important;
    white-space: nowrap;
}
table.contacts-table-v2 thead th:last-child { border-right: none !important; }
table.contacts-table-v2 tbody tr { border-top: 1px solid rgb(226 232 240) !important; }
table.contacts-table-v2 tbody tr:hover { background-color: #f9fbff !important; }
table.contacts-table-v2 tbody td {
    border-right: 1px solid #edf1f7 !important;
    font-size: var(--font-13) !important;
    padding: 14px 10px !important;
    vertical-align: middle !important;
    white-space: nowrap;
}
table.contacts-table-v2 tbody td:last-child { border-right: none !important; }
.contacts-table-v2 .contacts-cell-checkbox { width: 56px; }
.contacts-table-v2 .contacts-cell-actions { width: 52px; text-align: center; position: relative; }

/* Sort triggers */
.contacts-table-v2 .contacts-sort-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: inherit;
    display: inline-flex;
    font-size: inherit;
    font-weight: inherit;
    gap: 0.4rem;
    letter-spacing: inherit;
    padding: 0;
    text-transform: inherit;
}
.contacts-table-v2 .contacts-sort-trigger:hover,
.contacts-table-v2 .contacts-sort-trigger.active { color: inherit !important; }
.contacts-table-v2 .contacts-sort-icon { font-size: 11px; opacity: 0.8; }

/* Contact cell — avatar + name + email */
.contact-cell { min-width: 250px; }
.contact-avatar {
    align-items: center;
    border-radius: 50%;
    color: #fff;
    display: flex;
    flex-shrink: 0;
    font-size: var(--font-13);
    font-weight: 700;
    height: 34px;
    justify-content: center;
    letter-spacing: 0.02em;
    line-height: 1;
    overflow: hidden;
    position: relative;
    text-transform: uppercase;
    width: 34px;
}
.contact-gravatar {
    border-radius: 999px;
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    top: 0;
    width: 100%;
}
.contact-avatar-link { text-decoration: none; }
.contact-meta { min-width: 0; max-width: 320px; }
.contact-name { color: #0f172a; font-size: var(--font-13); font-weight: 600; line-height: 1.25; text-decoration: none; display: block; }
.contact-name:hover { color: #1d4ed8; }
.contact-email { color: #64748b; font-size: var(--font-13); line-height: 1.3; min-width: 0; margin-top: 1px; display: block; max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-decoration: none; }
.contact-email:hover { color: #1d4ed8; }

/* Phone & location */
.contact-phone { color: #334155; font-size: var(--font-13); display: inline-flex; align-items: center; gap: 6px; }
.contact-phone-flag { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 20%; overflow: hidden; border: 1px solid var(--bs-gray-200); flex-shrink: 0; }
.contact-phone-flag img { width: 20px; height: auto; object-fit: cover; }
.contact-location { color: #64748b; font-size: var(--font-13); }

/* Date */
.contact-date { color: #64748b; font-size: var(--font-13); }

/* Actions menu trigger */
.contact-actions-trigger {
    align-items: center;
    background: none;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #94a3b8;
    cursor: pointer;
    display: inline-flex;
    font-size: 15px;
    height: 30px;
    justify-content: center;
    padding: 0;
    transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
    width: 30px;
}
.contact-actions-trigger:hover { background-color: #f1f5f9; border-color: #e2e8f0; color: #334155; }
.contacts-row-menu { min-width: 180px; max-width: 200px; border: 1px solid #dbdfe9; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); }
.contacts-row-menu .menu-link { align-items: center; display: flex; font-size: var(--font-13); gap: 0.5rem; width: 100%; }
.contacts-row-menu .menu-link i { font-size: 13px; opacity: 0.75; width: 14px; text-align: center; }
.contacts-row-menu .menu-link:hover,
.contacts-row-menu .menu-link.active { background-color: var(--bs-gray-100) !important; color: #1e293b !important; }
.participants-row-menu .revup-destructive-menu-link,
.contacts-row-menu .revup-destructive-menu-link,
.revup-menu-border .revup-destructive-menu-link { color: var(--bs-danger) !important; }
.participants-row-menu .revup-destructive-menu-link span,
.contacts-row-menu .revup-destructive-menu-link span,
.revup-menu-border .revup-destructive-menu-link span,
.participants-row-menu .revup-destructive-menu-link i,
.contacts-row-menu .revup-destructive-menu-link i,
.revup-menu-border .revup-destructive-menu-link i { color: var(--bs-danger) !important; opacity: 1; }
.participants-row-menu .revup-destructive-menu-link:hover,
.participants-row-menu .revup-destructive-menu-link.active,
.participants-row-menu .revup-destructive-menu-link:focus-visible,
.contacts-row-menu .revup-destructive-menu-link:hover,
.contacts-row-menu .revup-destructive-menu-link.active,
.contacts-row-menu .revup-destructive-menu-link:focus-visible,
.revup-menu-border .revup-destructive-menu-link:hover,
.revup-menu-border .revup-destructive-menu-link.active,
.revup-menu-border .revup-destructive-menu-link:focus-visible { background-color: #fff1f2 !important; color: var(--bs-danger) !important; }
.participants-row-menu .revup-destructive-menu-link:hover span,
.participants-row-menu .revup-destructive-menu-link.active span,
.participants-row-menu .revup-destructive-menu-link:focus-visible span,
.contacts-row-menu .revup-destructive-menu-link:hover span,
.contacts-row-menu .revup-destructive-menu-link.active span,
.contacts-row-menu .revup-destructive-menu-link:focus-visible span,
.revup-menu-border .revup-destructive-menu-link:hover span,
.revup-menu-border .revup-destructive-menu-link.active span,
.revup-menu-border .revup-destructive-menu-link:focus-visible span,
.participants-row-menu .revup-destructive-menu-link:hover i,
.participants-row-menu .revup-destructive-menu-link.active i,
.participants-row-menu .revup-destructive-menu-link:focus-visible i,
.contacts-row-menu .revup-destructive-menu-link:hover i,
.contacts-row-menu .revup-destructive-menu-link.active i,
.contacts-row-menu .revup-destructive-menu-link:focus-visible i,
.revup-menu-border .revup-destructive-menu-link:hover i,
.revup-menu-border .revup-destructive-menu-link.active i,
.revup-menu-border .revup-destructive-menu-link:focus-visible i { color: var(--bs-danger) !important; opacity: 1; }

/* Pagination */
.contacts-pagination { border-top: 1px solid #e2e8f0; margin-top: 0 !important; padding: 0.25rem 1rem 0.5rem; }
.contacts-pagination .paging_wrapper { margin-left: auto; min-width: 0; }
.contacts-pagination .paging_wrapper .dt-paging { margin-left: auto; }
.contacts-pagination .page-link[disabled],
.contacts-pagination .page-link.disabled { cursor: not-allowed; opacity: 0.5; pointer-events: none; }

/* Responsive */
@media (max-width: 991.98px) {
    .contacts-toolbar-controls { align-items: stretch !important; }
    .contacts-toolbar-search-wrap { width: 100%; }
    .contacts-filter-trigger { width: 100%; justify-content: center; }
    .contacts-filter-menu { left: 0; min-width: 100%; right: auto; width: 100%; }
    .contacts-filter-rule-row { grid-template-columns: minmax(0, 1fr); }
    .contacts-bulk-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.6rem;
    }
    .contacts-bulk-row .contacts-bulk-summary { white-space: normal; }
    .contacts-bulk-actions {
        margin-left: 0;
        width: 100%;
    }
    .contacts-bulk-clear-link { margin-left: 0.45rem; }
    .contacts-bulk-row .contacts-toolbar-btn { justify-content: center; }
    .contacts-pagination .paging_wrapper { margin-left: 0; width: 100%; }
    .contacts-pagination .paging_wrapper .dt-paging { margin-left: 0; }
}
@media (min-width: 992px) and (max-width: 1399.98px) {
    .contact-meta { max-width: 240px; }
}
@media (min-width: 1200px) {
    .contacts-toolbar-controls {
        flex-direction: row !important;
        flex-wrap: nowrap;
        width: auto;
    }
    .contacts-toolbar-search-wrap {
        width: 280px;
    }
    .contacts-toolbar-controls .contacts-toolbar-btn {
        white-space: nowrap;
    }
}

/* ===== Contact Profile Page ===== */

.contact-profile {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.contact-profile-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin: 0 0 0.5rem;
    padding-top: 0.15rem;
}

.contact-profile-breadcrumb-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: var(--bs-gray-600);
    font-size: var(--font-13);
    font-weight: 600;
}

.contact-profile-breadcrumb-link:hover {
    color: var(--bs-primary);
}

.contact-profile-breadcrumb-separator,
.contact-profile-breadcrumb-current {
    font-size: var(--font-13);
    color: var(--bs-gray-500);
}

.contact-profile-breadcrumb-current {
    color: var(--bs-gray-700);
    font-weight: 600;
}

.contact-profile-header-card {
    background: #ffffff;
    border: 0;
    border-bottom: none;
    border-radius: 0;
    box-shadow: none;
}

.contact-profile-header-card > .card-body { padding: 2.25rem 1rem 2rem; }

.contact-profile-header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.contact-profile-hero {
    display: flex;
    flex: 1;
    min-width: 0;
    align-items: flex-start;
    gap: 1.5rem;
}

.contact-profile-avatar {
    position: relative;
    width: 76px;
    height: 76px;
    min-width: 76px;
    min-height: 76px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    flex-shrink: 0;
    box-shadow: 0 0 0 3px #ffffff, 0 0 0 5px var(--bs-gray-200), 0 4px 12px rgba(0, 0, 0, 0.08);
}

.contact-profile-gravatar {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.contact-profile-avatar-wrap { flex-shrink: 0; }

.contact-profile-identity {
    flex: 1;
    min-width: 0;
    padding-top: 0.2rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
}

.contact-profile-name { font-size: var(--font-22); font-weight: 700; color: var(--bs-gray-900); line-height: 1.2; margin-bottom: 0; }

.contact-profile-contact-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.contact-profile-contact-divider {
    color: var(--bs-gray-400);
    font-size: var(--font-14);
    line-height: 1;
    user-select: none;
}

.contact-profile-email,
.contact-profile-phone,
.contact-profile-location-inline {
    color: var(--bs-gray-600);
    font-size: var(--font-14);
    word-break: break-word;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.4rem;
    line-height: 1.4;
}

.contact-profile-email > i,
.contact-profile-phone > i,
.contact-profile-location-inline > i {
    font-size: var(--font-13);
    color: var(--bs-gray-400);
}

.contact-profile-meta-line {
    font-size: var(--font-13);
    color: var(--bs-gray-600);
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.contact-profile-meta-line i {
    font-size: var(--font-13);
    color: var(--bs-gray-400);
}

.contact-profile-meta-separator {
    color: var(--bs-gray-400);
    margin: 0 0.15rem;
}

.contact-profile-tab-actions {
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.contact-profile-tab-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--bs-gray-200);
    border-radius: 6px;
    background: #fff;
    color: var(--bs-gray-500);
    font-size: var(--font-14);
    cursor: pointer;
    transition: background-color 0.15s, border-color 0.15s, color 0.15s;
}

.contact-profile-tab-action-btn:hover,
.contact-profile-tab-action-btn:focus,
.contact-profile-tab-action-btn.show {
    background-color: var(--bs-gray-100);
    border-color: var(--bs-gray-300);
    color: var(--bs-gray-800);
}

.contact-profile-tab-action-btn i {
    margin: 0;
}

.contact-profile-actions-menu { min-width: 200px; }
.contact-profile-actions-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: var(--font-13);
    padding: 0.5rem 0.85rem;
}
.contact-profile-actions-menu .dropdown-item i { width: 16px; text-align: center; opacity: 0.7; }
.contact-profile-actions-menu .dropdown-item.disabled { opacity: 0.55; cursor: default; }

.contact-action-soon-badge {
    margin-left: auto;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--bs-gray-400);
}

/* Stats Row */
.contact-profile-stats-row {
    display: flex;
    gap: 0;
    background: #fff;
    border: 1px solid var(--bs-gray-200);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
    margin-bottom: 1.25rem;
}

.contact-profile-stat {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.2rem;
    padding: 1.1rem 1rem;
    border-right: 1px solid var(--bs-gray-200);
    min-width: 0;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.15s;
}

.contact-profile-stat:last-child { border-right: none; }
.contact-profile-stat:hover { background-color: var(--bs-gray-50); }

.contact-profile-stat-value {
    font-size: var(--font-18);
    font-weight: 700;
    color: var(--bs-gray-900);
    line-height: 1.2;
}

.contact-profile-stat-label {
    font-size: 11px;
    color: var(--bs-gray-500);
    font-weight: 500;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Tab Bar */
.contact-profile-tab-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    background: #ffffff;
    border-bottom: 1px solid var(--bs-gray-200);
    border-radius: 0;
    padding: 0 2rem 0 0;
    margin-top: 0;
    position: relative;
    top: auto;
    z-index: 1;
}

.contact-profile-tab-nav {
    margin-bottom: 0;
    border: 0;
    border-bottom: 0;
    border-radius: 0;
    background-color: transparent;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.contact-profile-tab-nav::-webkit-scrollbar {
    display: none;
}

.contact-profile-tab-nav .nav-item {
    flex: 0 0 auto;
}

.contact-profile-tab-nav .nav-link {
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    margin-right: 2rem;
    padding: 1rem 0.1rem;
    color: var(--bs-gray-600);
    background: transparent;
    font-size: var(--font-14);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    white-space: nowrap;
    transition: color 0.15s, border-color 0.15s;
}

.contact-profile-tab-nav .nav-link i {
    font-size: var(--font-14);
    color: inherit;
}

.contact-profile-tab-nav .nav-link:hover { color: var(--bs-gray-900); }

.contact-profile-tab-nav .nav-link.active {
    color: var(--bs-primary);
    border-bottom-color: var(--bs-primary);
    background: transparent;
}

.contact-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 20px;
    padding: 0 0.4rem;
    font-size: var(--font-12);
    font-weight: 700;
    border-radius: 99px;
    background-color: var(--bs-gray-200);
    color: var(--bs-gray-700);
    line-height: 1;
}

.contact-profile-tab-nav .nav-link.active .contact-tab-count {
    background-color: rgba(75, 167, 238, 0.12);
    color: var(--bs-primary);
}

/* Tab Content */
.contact-profile-tab-content { margin-top: 1.25rem; }
.contact-profile-tab-pane { display: none; }
.contact-profile-tab-pane.active { display: block; }

/* Overview Grid */
.contact-overview-grid {
    display: grid;
    grid-template-columns: 390px minmax(0, 1fr);
    gap: 1.25rem;
}

@media (max-width: 1199.98px) {
    .contact-overview-grid { grid-template-columns: 1fr; }
    .contact-profile-stats-row { flex-wrap: wrap; }
    .contact-profile-stat { min-width: calc(33.333% - 1px); }
}

.contact-overview-left { min-width: 0; }
.contact-overview-right { min-width: 0; }

.contact-about-card {
    border: 1px solid var(--bs-gray-200);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
    box-shadow: none;
}

.contact-attributes-card { margin-top: 1.25rem; }

.card.contact-about-card > .card-header.contact-about-card-header {
    min-height: 56px;
    padding: 0 1.25rem;
    border-bottom: 1px solid var(--bs-gray-200);
    background-color: #ffffff;
    display: flex;
    align-items: center;
}

.card.contact-about-card .card-header .card-title.contact-about-card-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--bs-gray-900);
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.contact-about-card-body {
    padding: 0.5rem 1.25rem 1rem !important;
    background-color: #ffffff;
}

.contact-about-field-list {
    display: flex;
    flex-direction: column;
}

.contact-about-field-row {
    display: grid;
    grid-template-columns: minmax(7rem, 9rem) minmax(0, 1fr);
    gap: 1rem;
    padding: 0.65rem 0;
}

.contact-about-field-label {
    min-width: 0;
    font-size: var(--font-13);
    font-weight: 400;
    color: var(--bs-text-dark);
    line-height: 1.5;
}

.contact-field-label-text {
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: bottom;
}

.contact-field-label-colon {
    flex: 0 0 auto;
}

.contact-about-field-value {
    min-width: 0;
    font-size: var(--font-13);
    font-weight: 400;
    color: var(--bs-text-dark);
    line-height: 1.5;
    word-break: break-word;
}

.contact-attribute-signature-link {
    display: inline-flex;
    max-width: 220px;
    padding: 0;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e1e3ea;
    background: #fff;
    cursor: zoom-in;
}

.contact-attribute-signature-image {
    display: block;
    width: 100%;
    max-height: 140px;
    object-fit: contain;
    background: #fff;
}

.contact-attribute-media-grid {
    grid-template-columns: repeat(auto-fill, minmax(84px, 1fr));
    max-width: 280px;
}

.contact-attribute-media-grid .contact-media-thumb {
    aspect-ratio: 4 / 3;
}

.contact-source-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--bs-gray-500);
    font-size: 11px;
    line-height: 1.4;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.contact-source-link:hover {
    color: var(--bs-gray-700);
}

.contact-source-label {
    display: inline-flex;
    align-items: baseline;
    gap: 0;
    max-width: 100%;
    min-width: 0;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    text-decoration-color: var(--bs-gray-400);
    cursor: help;
}

.contact-source-tooltip .tooltip-inner {
    max-width: 420px !important;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: left;
}

.contact-about-empty {
    padding: 1.5rem;
    color: var(--bs-gray-500);
    font-size: var(--font-14);
    font-style: italic;
}

.contact-attributes-toggle {
    width: 100%;
    margin-top: 0.35rem;
    padding: 0.9rem 0 0;
    border: 0;
    border-top: 1px solid var(--bs-gray-100);
    background: transparent;
    color: var(--bs-gray-600);
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: var(--font-13);
    font-weight: 600;
    text-align: left;
}

.contact-attributes-toggle:hover {
    color: var(--bs-gray-900);
}

.contact-attributes-toggle i {
    transition: transform 0.15s ease;
}

.contact-attributes-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.contact-media-card-body {
    padding: 1.25rem !important;
    background-color: #ffffff;
}

.contact-insights-card-body {
    padding: 1.25rem !important;
    background-color: #ffffff;
}

.contact-activity-card {
    border: 1px solid var(--bs-gray-200);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
    box-shadow: none;
}

.card.contact-activity-card > .card-header.contact-activity-card-header {
    min-height: 56px;
    padding: 0 1.25rem;
    border-bottom: 1px solid var(--bs-gray-200);
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.card.contact-activity-card .card-header .card-title.contact-activity-card-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--bs-gray-900);
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.contact-activity-card-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 24px;
    padding: 0 0.55rem;
    border-radius: 999px;
    background: var(--bs-gray-100);
    color: var(--bs-gray-700);
    font-size: var(--font-12);
    font-weight: 700;
}

.contact-activity-card-body {
    padding: 0.75rem 1.25rem !important;
    background-color: #ffffff;
}

.contact-activity-scroll-shell {
    max-height: 32rem;
    overflow: auto;
    padding-right: 0.2rem;
}

.contact-empty-state-compact {
    padding: 1.5rem 0.5rem;
}

/* Sections */
.contact-section { margin-top: 1.5rem; }
.contact-section-title {
    font-size: var(--font-14);
    font-weight: 600;
    color: var(--bs-gray-800);
    margin: 0 0 0.75rem;
    padding: 0;
}
.contact-section-count {
    font-size: var(--font-12);
    font-weight: 600;
    color: var(--bs-gray-400);
}

.contact-overview-left .entrant-data-section,
.contact-overview-right .entrant-data-section,
.contact-media-section,
.contact-insights-section { margin-top: 1.5rem; }
.contact-overview-left .entrant-data-section:first-child,
.contact-overview-right .entrant-data-section:first-child { margin-top: 0; }

/* Promotions Table (Overview Right Column) */
.contact-deals-card {
    border: 1px solid var(--bs-gray-200);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
    box-shadow: none;
    margin-bottom: 1.25rem;
}

.card.contact-deals-card > .card-header.contact-deals-card-header {
    min-height: 56px;
    padding: 0 1.25rem;
    border-bottom: 1px solid var(--bs-gray-200);
    background-color: #ffffff;
    display: flex;
    align-items: center;
}

.card.contact-deals-card .card-header .card-title.contact-deals-card-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--bs-gray-900);
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.contact-card-title-icon {
    color: var(--bs-gray-500);
    font-size: var(--font-15);
    line-height: 1;
}

.contact-deals-table-wrap {
    overflow-x: auto;
}

.contact-deals-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-13);
}

.contact-deals-table thead th {
    padding: 0.7rem 1.25rem;
    font-size: var(--font-12);
    font-weight: 600;
    color: var(--bs-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: var(--bs-gray-100);
    border-bottom: 1px solid var(--bs-gray-200);
    white-space: nowrap;
}

.contact-deals-table tbody td {
    padding: 0.75rem 1.25rem;
    color: var(--bs-gray-700);
    border-bottom: 1px solid var(--bs-gray-100);
    vertical-align: middle;
    white-space: nowrap;
}

.contact-deals-table tbody tr:last-child td {
    border-bottom: none;
}

.contact-deals-table tbody tr:hover {
    background-color: var(--bs-gray-50);
}

.contact-deals-name-cell {
    font-weight: 600;
    color: var(--bs-gray-900);
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.contact-deals-date-cell {
    color: var(--bs-gray-500);
}

.contact-deals-footer {
    padding: 0.75rem 1.25rem;
    border-top: 1px solid var(--bs-gray-200);
    text-align: center;
}

.contact-deals-view-all {
    font-size: var(--font-13);
    font-weight: 600;
    color: var(--bs-primary);
    text-decoration: none;
}

.contact-deals-view-all:hover {
    color: var(--bs-primary);
    text-decoration: underline;
}

/* Promotions Tab */
.contact-promotions-list { display: flex; flex-direction: column; gap: 0.5rem; }

.contact-referrals-card-header {
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--bs-gray-200);
}

.contact-referrals-card-title {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.contact-referrals-loading {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-size: var(--font-13);
    color: var(--bs-gray-600);
    margin-bottom: 1rem;
}

.contact-referrals-error {
    font-size: var(--font-13);
    margin-bottom: 1rem;
}

.contact-referral-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--bs-gray-200);
    border-radius: 0.85rem;
    background: #fff;
}

.contact-referral-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.contact-referral-table thead th {
    padding: 0.8rem 1rem;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-gray-600);
    background: var(--bs-gray-100);
    border-bottom: 1px solid var(--bs-gray-200);
    white-space: nowrap;
}

.contact-referral-table tbody td {
    padding: 0.9rem 1rem;
    border-bottom: 1px solid var(--bs-gray-100);
    color: var(--bs-gray-700);
    vertical-align: middle;
    white-space: nowrap;
}

.contact-referral-table tbody tr:last-child td {
    border-bottom: none;
}

.contact-referral-table-primary-cell {
    min-width: 240px;
    white-space: normal;
}

.contact-referral-summary-row-shell td {
    transition: background-color 0.15s ease;
}

.contact-referral-summary-row-shell:hover td {
    background: var(--bs-gray-100);
}

.contact-referral-summary-row-shell-expanded td {
    background: #fcfdff;
    border-bottom: none !important;
}

.contact-referral-summary-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--bs-gray-900);
    text-align: left;
    font: inherit;
}

.contact-referral-summary-trigger:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 3px;
    border-radius: 0.5rem;
}

.contact-referral-disclosure {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 999px;
    background: var(--bs-gray-100);
    color: var(--bs-gray-600);
    flex-shrink: 0;
    transition: transform 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.contact-referral-summary-row-shell:hover .contact-referral-disclosure,
.contact-referral-summary-row-shell-expanded .contact-referral-disclosure {
    background: var(--bs-primary-light);
    color: var(--bs-primary);
}

.contact-referral-disclosure-expanded {
    transform: rotate(90deg);
}

.contact-referral-summary-name {
    font-size: var(--font-13);
    font-weight: 600;
    line-height: 1.35;
}

.contact-referral-detail-row td {
    background: #fcfdff;
}

.contact-referral-detail-cell {
    padding: 0 1rem 1rem !important;
    white-space: normal !important;
}

.contact-referral-detail-wrap {
    padding-top: 0.25rem;
}

.contact-referral-detail-heading {
    margin-bottom: 0.75rem;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bs-gray-600);
}

.contact-referral-table-wrap-nested {
    border-color: var(--bs-gray-200);
    background: #fff;
}

.contact-referral-detail-table thead th {
    background: var(--bs-light);
}

.contact-referral-inline-state {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    font-size: var(--font-13);
    color: var(--bs-gray-600);
}

.contact-referral-inline-state-subtle {
    margin-top: 0.75rem;
}

.contact-referral-inline-empty {
    padding: 1rem 0 0.25rem;
}

.contact-referral-load-more-wrap {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
}

.contact-referral-contact-name {
    font-size: var(--font-13);
    font-weight: 600;
    color: var(--bs-gray-900);
}

.contact-referral-contact-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem;
    margin-top: 0.2rem;
    font-size: var(--font-12);
    color: var(--bs-gray-500);
}

.contact-referral-contact-dot {
    color: var(--bs-gray-300);
    line-height: 1;
}

.contact-promotion-card { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04); transition: box-shadow 0.15s; }
.contact-promotion-card:hover { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }

.contact-promotion-item {
    border: 1px solid var(--bs-gray-200);
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.contact-promotion-item:hover {
    box-shadow: 0 3px 12px rgba(15, 23, 42, 0.08);
}

.contact-promotion-item-expanded {
    border-color: var(--bs-gray-300);
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

.contact-promotion-dashboard-row {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent;
}

.contact-promotion-disclosure {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 999px;
    background: var(--bs-gray-100);
    transition: background-color 0.15s ease, color 0.15s ease;
}

.contact-promotion-item-expanded .contact-promotion-disclosure {
    background: #e9f7ef;
    color: #198754 !important;
}

.contact-promotion-detail-panel {
    border-top: 1px solid var(--bs-gray-200);
    background: #fff;
}

.contact-promotion-entry-inline {
    border-radius: 999px;
    color: var(--bs-gray-500);
    display: inline-flex;
    font-size: var(--font-12);
    font-weight: 600;
    line-height: 1.2;
    padding: 0.15rem 0.5rem;
    white-space: nowrap;
}

@keyframes contact-promotion-entry-flash {
    0% {
        background-color: transparent;
        box-shadow: none;
        color: var(--bs-gray-500);
    }
    8%,
    24% {
        background-color: var(--bs-warning-light);
        box-shadow: 0 0 0 1px rgba(246, 192, 0, 0.35);
        color: var(--bs-gray-900);
    }
    100% {
        background-color: transparent;
        box-shadow: none;
        color: var(--bs-gray-500);
    }
}

.contact-promotion-entry-inline-highlight {
    animation: contact-promotion-entry-flash 1.8s ease-out;
}

.contact-promotion-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.contact-promotion-info { flex: 1; min-width: 0; }

.contact-promotion-name-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.25rem;
}

.contact-promotion-name {
    font-size: var(--font-14);
    color: var(--bs-gray-900);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-promotion-meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: var(--font-12);
    color: var(--bs-gray-500);
}

.contact-promotion-meta i { font-size: 11px; margin-right: 0.2rem; }

.contact-promotion-stats-mini {
    display: flex;
    gap: 0.75rem;
    flex-shrink: 0;
}

.contact-promotion-mini-stat { text-align: center; }
.contact-promotion-mini-stat-value { display: block; font-size: var(--font-16); font-weight: 700; color: var(--bs-gray-900); line-height: 1.2; }
.contact-promotion-mini-stat-label { font-size: 11px; color: var(--bs-gray-500); }

/* Activity Badge (used in contact activity rows) */
.contact-activity-badge {
    display: inline-flex;
    align-items: center;
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 0.15rem 0.45rem;
    border-radius: var(--bs-border-radius-sm);
    line-height: 1;
    background: var(--bs-gray-100);
    color: var(--bs-gray-600);
    white-space: nowrap;
}

.contact-activity-badge-entry { background: var(--bs-gray-100); color: var(--bs-gray-600); }
.contact-activity-badge-bonus { background: var(--bs-gray-100); color: var(--bs-gray-600); }
.contact-activity-badge-integration { background: var(--bs-gray-100); color: var(--bs-gray-600); }
.contact-activity-badge-winner { background: var(--bs-gray-100); color: var(--bs-gray-600); }
.contact-activity-badge-status { background: var(--bs-gray-100); color: var(--bs-gray-600); }
.contact-activity-badge-fraud { background: var(--bs-danger-light); color: var(--bs-danger); }
.contact-activity-badge-admin { background: var(--bs-gray-100); color: var(--bs-gray-600); }
.contact-activity-badge-system { background: var(--bs-gray-100); color: var(--bs-gray-600); }
.contact-message-event-badge { font-size: 10px; }
.contact-message-event-badge-positive { background: #dcfce7; color: #15803d; }
.contact-message-event-badge-negative { background: var(--bs-danger-light); color: var(--bs-danger); }
.contact-message-event-badge-info,
.contact-message-event-badge-neutral { background: var(--bs-gray-100); color: var(--bs-gray-600); }

/* Activity meta column (badge + timestamp stacked) */
.entrant-activity-meta-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.25rem;
    flex-shrink: 0;
}

/* Uploads & Media */
.contact-media-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    gap: 0.5rem;
}

.contact-media-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.contact-media-thumb {
    position: relative;
    display: block;
    aspect-ratio: 1;
    border-radius: var(--bs-border-radius);
    overflow: hidden;
    border: 1px solid var(--bs-gray-200);
}

.contact-media-thumb-button {
    width: 100%;
    padding: 0;
    background: transparent;
    cursor: pointer;
}

.contact-media-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s;
}

.contact-media-thumb:hover img { transform: scale(1.05); }

.contact-media-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    opacity: 0;
    transition: opacity 0.2s;
}

.contact-media-thumb:hover .contact-media-overlay { opacity: 1; }

.contact-media-video {
    background: var(--bs-gray-100);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    color: var(--bs-gray-600);
    font-size: 28px;
    text-decoration: none;
}

.contact-media-video:hover { background: var(--bs-gray-200); color: var(--bs-gray-800); }

.contact-media-file {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    aspect-ratio: 1;
    border: 1px solid var(--bs-gray-200);
    border-radius: var(--bs-border-radius);
    background: var(--bs-gray-100);
    color: var(--bs-gray-600);
    font-size: 22px;
    text-decoration: none;
    padding: 0.5rem;
}

.contact-media-file:hover { background: var(--bs-gray-200); color: var(--bs-gray-800); }

.contact-media-file-label {
    font-size: 10px;
    font-weight: 500;
    text-align: center;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
    line-height: 1.2;
}

.contact-media-tooltip .tooltip-inner {
    max-width: 420px !important;
    white-space: nowrap;
    text-align: left;
}

.contact-media-modal .modal-content {
    border: 0;
    overflow: hidden;
}

.contact-media-modal-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.contact-media-modal .modal-body {
    padding: 1rem;
    background: #f5f7fb;
}

.contact-media-modal-image {
    display: block;
    width: 100%;
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
    margin: 0 auto;
    border-radius: 12px;
    background: #fff;
}

/* Insights Placeholder */
.contact-insights-placeholder { padding: 1.25rem 0; text-align: center; color: var(--bs-gray-500); }
.contact-insights-icon { font-size: 24px; color: var(--bs-gray-400); margin-bottom: 0.4rem; display: block; }

/* Empty States */
.contact-empty-state {
    text-align: center;
    padding: 1.5rem 1rem;
    color: var(--bs-gray-500);
}

.contact-empty-icon {
    font-size: 24px;
    display: block;
    margin-bottom: 0.5rem;
    opacity: 0.35;
}

.contact-empty-state p { margin-bottom: 0; font-size: var(--font-13); color: var(--bs-gray-400); }

/* Responsive */
@media (max-width: 767.98px) {
    .contact-profile { gap: 0; }
    .contact-profile-header-card > .card-body { padding: 1.75rem 1rem 1.5rem; }
    .contact-profile-hero {
        flex-direction: column;
        align-items: center;
        gap: 1rem;
    }
    .contact-profile-identity {
        align-items: center;
        text-align: center;
        width: 100%;
    }
    .contact-profile-contact-row {
        gap: 0.45rem;
        justify-content: center;
        width: 100%;
    }
    .contact-profile-email,
    .contact-profile-phone,
    .contact-profile-location-inline { justify-content: center; }
    .contact-profile-meta-line {
        justify-content: center;
        flex-wrap: wrap;
        text-align: center;
    }
    .contact-profile-stats-row { flex-wrap: wrap; }
    .contact-profile-stat { min-width: calc(33.333% - 1px); }
    .contact-profile-tab-bar { padding: 0 1rem 0 0; }
    .contact-profile-tab-nav {
        padding: 0;
    }
    .contact-profile-tab-nav .nav-link { padding: 0.9rem 0.1rem; margin-right: 1.25rem; }
    .contact-profile-avatar { width: 64px; height: 64px; min-width: 64px; min-height: 64px; font-size: var(--font-18); }
    .contact-overview-grid { grid-template-columns: 1fr; }
    .contact-about-card-header { padding: 0 1rem; min-height: 52px; }
    .contact-activity-card-header { padding: 0 1rem; min-height: 52px; }
    .contact-activity-card-body { padding: 1rem !important; }
    .contact-activity-scroll-shell { max-height: none; padding-right: 0; }
    .contact-referral-table thead th,
    .contact-referral-table tbody td { padding-left: 0.75rem; padding-right: 0.75rem; }
    .contact-referral-table-primary-cell { min-width: 210px; }
    .contact-about-field-row {
        grid-template-columns: minmax(6.5rem, 8.5rem) minmax(0, 1fr);
        align-items: start;
        gap: 0.45rem;
        padding: 0.5rem 0;
    }
    .contact-about-field-label {
        max-width: 100%;
    }
    .contact-field-label-text {
        max-width: 100%;
    }
    .contact-profile .entrant-activity-row {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 0.45rem 0.7rem;
        padding: 0.7rem 0.75rem;
    }
    .contact-profile .entrant-activity-icon-box {
        width: 32px;
        min-width: 32px;
        height: 32px;
    }
    .contact-profile .entrant-activity-meta-col {
        grid-column: 2;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 0.4rem;
        flex-wrap: wrap;
    }
    .contact-profile .entrant-activity-time {
        grid-column: auto;
        text-align: left;
        white-space: nowrap;
        line-height: 1.3;
    }
    .contact-profile .contact-activity-badge {
        white-space: nowrap;
    }
}

/* ─── Flows page ─────────────────────────────────── */
.flows-list-wrapper {
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.flows-toolbar .participants-summary { min-width: 0; }
.flows-toolbar .entries-count { min-width: 0; }
.flows-filter-menu {
    background-color: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
    min-width: 280px;
    overflow: hidden;
    width: min(280px, calc(100vw - 2rem));
}
.flows-filter-status-row {
    align-items: flex-start;
    gap: 0.5rem;
}
.flows-table {
    min-width: 1040px;
    table-layout: fixed;
}
.flows-table .flows-col-name {
    width: 27%;
}
.flows-table .flows-col-trigger {
    width: 17%;
}
.flows-table .flows-col-channel {
    width: 15%;
}
.flows-table .flows-col-promotions {
    width: 16%;
}
.flows-table .flows-col-status {
    width: 10%;
}
.flows-table .flows-col-updated {
    width: calc(15% - 52px);
}
.flows-table .flows-col-actions {
    width: 52px;
}
.flows-table .flows-cell-name {
    min-width: 0;
    white-space: normal !important;
    width: auto;
}
.flows-table .flows-cell-trigger {
    min-width: 0;
    width: auto;
}
.flows-table .flows-cell-trigger .flows-trigger-badge {
    max-width: 100%;
    min-width: 0;
    display: inline-flex;
    overflow: hidden;
    white-space: nowrap;
}
.flows-table .flows-cell-trigger .flows-trigger-badge .participant-status-badge-label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.flows-table .flows-cell-channel {
    min-width: 0;
    width: auto;
}
.flows-table .flows-cell-promotions {
    min-width: 0;
    width: auto;
}
.flows-table .flows-cell-status {
    min-width: 0;
    width: auto;
}
.flows-table .flows-cell-updated {
    min-width: 0;
    white-space: normal !important;
    width: auto;
}
.flows-table .flows-cell-actions {
    max-width: 52px;
    min-width: 52px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    position: relative;
    text-align: center !important;
    width: 52px;
}
.flows-table .flows-name-meta {
    max-width: none;
    min-width: 0;
}
.flows-table .flows-name {
    display: -webkit-box;
    font-size: var(--font-13);
    line-height: 1.35;
    overflow: hidden;
    text-decoration: none;
    transition: color 0.15s ease, text-decoration-color 0.15s ease;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.workflow-row-editable .flows-cell-name:hover .flows-name {
    color: #1d4ed8 !important;
    text-decoration-line: underline !important;
    text-decoration-color: currentColor;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}
.flows-table .flows-description {
    display: -webkit-box;
    font-size: var(--font-12);
    line-height: 1.35;
    margin-top: 0.2rem;
    max-width: 100%;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.flows-table .participant-status-badge { max-width: 100%; white-space: nowrap; }
.flows-promotions-trigger {
    align-items: center;
    background: transparent;
    border: 0;
    color: #475467;
    display: inline-flex;
    font-size: var(--font-13);
    gap: 0.4rem;
    max-width: 100%;
    min-width: 0;
    padding: 0;
    text-align: left;
}
.flows-promotions-trigger:hover {
    color: #1d4ed8;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.flows-promotions-count {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.flows-date {
    color: #475467;
    display: inline-grid;
    gap: 0.1rem;
    font-size: var(--font-13);
    line-height: 1.2;
    white-space: normal;
}
.flows-date-secondary {
    color: #98a2b3;
    font-size: var(--font-12);
}
.flows-actions-trigger {
    margin: 0 auto;
}
.flows-row-menu {
    min-width: 216px;
}
.flows-row-menu .menu-link {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    width: 100%;
}
.flows-row-menu .menu-link i {
    font-size: 13px;
    opacity: 0.75;
    text-align: center;
    width: 14px;
}
.flows-view-only {
    display: inline-block;
    min-width: 0;
    text-align: center;
}
.workflow-row-editable .flows-cell-name {
    cursor: pointer;
}
.workflow-promotions-modal-dialog {
    max-width: 760px;
}
body.workflow-promotions-modal-open::before {
    background: rgba(15, 23, 42, 0.28);
    content: "";
    inset: 0;
    pointer-events: none;
    position: fixed;
    z-index: 1060;
}
body.workflow-promotions-modal-open #workflow_promotions_modal {
    z-index: 1065;
}
.workflow-promotions-modal-content {
    max-height: min(86vh, 760px);
}
.workflow-promotions-modal-content .modal-body {
    overflow: hidden;
}
.flows-dashboard-modal.workflow-promotions-modal-content .workflow-promotions-footer {
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.8);
    border-top: 1px solid rgb(229, 231, 235);
}
.workflow-promotions-title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 0.75rem;
    margin-bottom: 0.25rem;
    min-width: 0;
}
.workflow-promotions-title {
    margin: 0;
    min-width: 0;
}
.workflow-promotions-badges {
    align-items: center;
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 0.4rem;
    min-width: 0;
}
.workflow-promotions-header-status {
    align-items: center;
    color: var(--bs-gray-700);
    display: inline-flex;
    font-size: var(--font-13);
    font-weight: 500;
    gap: 0.4rem;
}
.workflow-promotions-header-status-dot {
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
    height: 8px;
    width: 8px;
}
.workflow-promotions-header-status--primary .workflow-promotions-header-status-dot { background-color: #1d4ed8; }
.workflow-promotions-header-status--secondary .workflow-promotions-header-status-dot { background-color: var(--bs-gray-500); }
.workflow-promotions-header-status--success .workflow-promotions-header-status-dot { background-color: #15803d; }
.workflow-promotions-header-status--warning .workflow-promotions-header-status-dot { background-color: #b45309; }
.workflow-promotions-header-status--danger .workflow-promotions-header-status-dot { background-color: #be123c; }
.workflow-promotions-subtitle {
    line-height: 1.45;
}
.workflow-promotions-subtitle-trigger {
    color: var(--bs-gray-700);
    font-weight: 500;
}
.workflow-promotions-subtitle-sep {
    color: var(--bs-gray-400);
    margin: 0 0.2rem;
}
.workflow-promotions-active-notice {
    align-items: flex-start;
    background-color: #fffbeb;
    border-left: 3px solid #f59e0b;
    border-radius: 4px;
    color: #78350f;
    display: flex;
    font-size: var(--font-13);
    gap: 0.5rem;
    line-height: 1.4;
    padding: 0.55rem 0.75rem;
}
.workflow-promotions-active-notice i {
    color: #d97706;
    margin-top: 0.15rem;
}
.workflow-promotions-active-notice strong {
    color: #78350f;
    font-weight: 600;
}
.workflow-promotions-body {
    max-height: min(52vh, 430px);
    overflow-y: auto;
}
.workflow-promotions-state {
    border: 1px dashed #d9e2ef;
    border-radius: 8px;
    color: #667085;
    padding: 2rem 1rem;
    text-align: center;
}
.workflow-promotions-options {
    display: grid;
    gap: 0.65rem;
}
.workflow-promotions-option {
    align-items: flex-start;
    border: 1px solid #e4e7ec;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    gap: 0.85rem;
    padding: 0.9rem 1rem;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}
.workflow-promotions-option:hover {
    background-color: #f9fbff;
    border-color: #cbd5e1;
}
.workflow-promotions-option.is-selected {
    background-color: #eff6ff;
    border-color: #93c5fd;
}
.workflow-promotions-option.is-selected:hover {
    background-color: #e6efff;
    border-color: #60a5fa;
}
.workflow-promotions-option.is-ineligible {
    background-color: #f8fafc;
    cursor: default;
}
.workflow-promotions-option.is-ineligible.is-selected {
    background-color: #f8fafc;
    border-color: #e4e7ec;
}
.workflow-promotions-checkbox-wrap {
    flex: 0 0 auto;
    padding-top: 0.15rem;
}
.workflow-promotions-checkbox-wrap .workflow-promotion-option-input {
    background-position: center;
    background-size: 13px 13px;
    height: 22px;
    margin: 0;
    width: 22px;
}
.workflow-promotions-checkbox-wrap .workflow-promotion-option-input:checked {
    background-size: 13px 13px;
}
.workflow-promotions-option-main {
    display: grid;
    gap: 0.4rem;
}
.workflow-promotions-option-name {
    color: #101828;
    font-size: var(--font-14);
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
}
.workflow-promotions-option-meta {
    align-items: center;
    color: var(--bs-gray-600);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--font-12);
    gap: 0.45rem;
    line-height: 1.2;
}
.workflow-promotions-option-meta > * + *::before {
    color: var(--bs-gray-300);
    content: "\00b7";
    margin-right: 0.45rem;
}
.workflow-promotions-option-type {
    color: var(--bs-gray-700);
    font-weight: 500;
}
.workflow-promotions-option-status {
    align-items: center;
    color: var(--bs-gray-600);
    display: inline-flex;
    gap: 0.35rem;
}
.workflow-promotions-option-status-dot {
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
    height: 7px;
    width: 7px;
}
.workflow-promotions-option-status--primary .workflow-promotions-option-status-dot { background-color: #1d4ed8; }
.workflow-promotions-option-status--secondary .workflow-promotions-option-status-dot { background-color: var(--bs-gray-500); }
.workflow-promotions-option-status--success .workflow-promotions-option-status-dot { background-color: #15803d; }
.workflow-promotions-option-status--warning .workflow-promotions-option-status-dot { background-color: #b45309; }
.workflow-promotions-option-status--danger .workflow-promotions-option-status-dot { background-color: #be123c; }
.workflow-promotions-option-status--danger .workflow-promotions-option-status-label {
    color: #be123c;
    font-weight: 500;
}
.workflow-promotions-option-note {
    color: #b54708;
    font-size: var(--font-12);
    line-height: 1.35;
}
.workflow-modal-promotions {
    align-items: center;
    display: inline-flex;
    gap: 0.55rem;
    white-space: nowrap;
}
.workflow-modal-status-toggle.workflow-modal-status-toggle--primary {
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
    color: #fff !important;
}
.workflow-modal-status-toggle.workflow-modal-status-toggle--primary i,
.workflow-modal-status-toggle.workflow-modal-status-toggle--primary .svg-icon {
    color: #fff !important;
}
.workflow-modal-status-toggle.workflow-modal-status-toggle--primary:hover {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
    filter: brightness(0.96);
}
.workflow-canvas-title-wrap .workflow-modal-status-badge {
    margin-top: -2px;
}
.workflow-modal-promotions-count {
    min-width: 1.65rem;
}
.create-flow-modal-dialog {
    margin: 0.5rem auto;
    max-width: 820px;
    width: calc(100% - 2rem);
}
.flows-preview-modal-dialog {
    margin: 0.75rem auto;
    max-width: 980px;
    width: calc(100% - 2rem);
}
.flows-trigger-picker-dialog {
    margin: 0.75rem auto;
    max-width: 640px;
    width: calc(100% - 2rem);
}
.create-flow-modal-content,
.flows-preview-modal-content,
.trigger-picker-modal-content {
    overflow: hidden;
}
.flows-dashboard-modal {
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.16);
}
.flows-dashboard-modal .modal-header {
    align-items: flex-start;
    border-bottom: 1px solid #eef2f7;
    padding: 1rem 1.5rem;
}
.flows-dashboard-modal .modal-body {
    padding: 1.4rem 1.5rem;
}
.flows-dashboard-modal .modal-footer {
    background-color: #f8fafc;
    border-top: 1px solid #eef2f7;
    padding: 1rem 1.5rem;
}
.create-flow-modal-content .modal-body {
    padding-bottom: 1.25rem !important;
    padding-top: 1.25rem !important;
}
.create-flow-modal-content .modal-header {
    padding-bottom: 0.95rem;
}
.create-flow-modal-shell {
    max-width: 760px;
    width: 100%;
}
.flows-empty-state {
    max-width: 540px;
    margin: 0 auto;
}
.flows-table-empty {
    border-top: 1px solid #e2e8f0;
    margin: 0;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}
.flows-template-picker-body {
    max-height: min(85vh, 920px);
    overflow-x: hidden;
    overflow-y: auto;
    padding-bottom: 2rem;
}
.flows-template-grid {
    --bs-gutter-x: 0.85rem;
    --bs-gutter-y: 0.85rem;
    margin-left: 0;
    margin-right: 0;
}
.flow-template-card {
    transition: border-color 0.15s, box-shadow 0.15s;
}
.flow-template-card:hover {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 1px var(--bs-primary);
}
.flow-template-card-picker {
    background-color: #fff;
    min-height: 100%;
    padding: 0.85rem !important;
}
.flow-template-card-picker .flow-template-card-description {
    display: -webkit-box;
    line-height: 1.35;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.flow-template-card-icon {
    align-items: center;
    border-radius: 10px;
    display: inline-flex;
    flex: 0 0 auto;
    height: 36px;
    justify-content: center;
    width: 36px;
}
.flow-template-card-icon-primary {
    background: rgba(var(--bs-primary-rgb), 0.12);
    color: var(--bs-primary);
}
.flow-start-from-scratch-card {
    background: #fff;
    border: 1px solid var(--bs-gray-300);
    padding: 0.85rem !important;
}
.flow-start-from-scratch-card:hover,
.flow-start-from-scratch-card:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), 0.12);
}
.flow-start-from-scratch-card .fs-7 {
    display: block;
    line-height: 1.35;
    margin-top: 0.15rem;
}
.flow-category-group:last-child {
    margin-bottom: 0 !important;
}
.flow-category-group h4 {
    margin-bottom: 0.65rem !important;
}
.trigger-picker-modal-content {
    overflow: hidden;
}
.trigger-picker-list-wrap {
    padding: 1rem 1.5rem 1.5rem;
}
.trigger-picker-list {
    border: 1px solid var(--bs-gray-200);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
}
.trigger-picker-list .trigger-picker-item {
    border-left: 0;
    border-right: 0;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}
.trigger-picker-list .trigger-picker-item:hover {
    background-color: #f8fafc;
}
.trigger-picker-list .trigger-picker-item:first-child {
    border-top: 0;
}
.trigger-picker-list .trigger-picker-item:last-child {
    border-bottom: 0;
}
.flows-preview-sidebar {
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 0.9rem;
    padding: 1rem;
}
.flows-preview-meta-block:last-child {
    margin-bottom: 0;
}
.flows-preview-canvas {
    background-color: #fff;
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.9rem;
    height: 350px;
    min-height: 350px;
    overflow: hidden;
    position: relative;
    width: 100%;
}
.flows-preview-canvas.fb-root {
    height: 350px;
    min-height: 350px;
}
.workflow-canvas-modal-content .modal-header {
    align-items: center;
    border-bottom: 1px solid #e5e7eb;
    padding: 1rem 1.5rem;
}
.workflow-canvas-modal-content .modal-body {
    background-color: #f8fafc !important;
}
.workflow-canvas-header-actions {
    gap: 0.75rem;
}
.workflow-canvas-modal-content .workflow-modal-name {
    border-radius: 0.55rem;
    display: inline-block;
    min-width: 12ch;
    padding: 0.3rem 0.5rem;
}
.workflow-canvas-modal-content .workflow-modal-name:focus {
    background-color: #f8fafc;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12);
    outline: none;
}
.promotion-workflow-card {
    gap: 1rem;
    transition: border-color 0.15s;
}
.promotion-workflow-card:hover {
    border-color: var(--bs-gray-400) !important;
}
.promotion-workflow-actions {
    align-self: center;
    white-space: nowrap;
}
.promotion-workflow-action {
    align-items: center;
    color: var(--bs-gray-600);
    display: inline-flex;
    justify-content: center;
    line-height: 1;
    text-decoration: none;
    transition: color 0.15s ease;
}
.promotion-workflow-action:hover,
.promotion-workflow-action:focus {
    color: var(--bs-primary);
}
.promotion-workflow-action:focus-visible {
    outline: none;
}
.builder-workflow-source-grid {
    --bs-gutter-x: 0.85rem;
    --bs-gutter-y: 0.85rem;
    margin-left: 0;
    margin-right: 0;
}
.builder-workflow-source-card {
    background-color: #fff;
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.85rem;
    padding: 1rem;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
.builder-workflow-source-card:hover,
.builder-workflow-source-card:focus {
    border-color: var(--bs-primary) !important;
    box-shadow: 0 0 0 1px rgba(75, 167, 238, 0.14);
    transform: translateY(-1px);
}
.builder-workflow-picker-heading {
    align-items: flex-start;
    display: flex;
    gap: 0.35rem;
    min-width: 0;
}
.builder-workflow-inline-back {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: #64748b;
    display: inline-flex;
    flex: 0 0 auto;
    height: 2rem;
    justify-content: center;
    margin-left: -0.35rem;
    margin-top: 0.05rem;
    padding: 0;
    transition: background-color 0.15s ease, color 0.15s ease;
    width: 2rem;
}
.builder-workflow-inline-back:hover,
.builder-workflow-inline-back:focus {
    background-color: #f8fafc;
    color: #1e293b;
}
.builder-workflow-inline-back:focus-visible {
    box-shadow: 0 0 0 3px rgba(75, 167, 238, 0.16);
    outline: none;
}
.builder-workflow-template-results {
    max-height: min(85vh, 900px);
    overflow-y: auto;
    padding-bottom: 0.35rem;
}
.builder-workflow-existing-results {
    max-height: min(calc(100vh - 280px), 760px);
    overflow-y: auto;
    padding-bottom: 0.85rem;
}
.builder-workflow-picker-state,
.builder-workflow-empty-state {
    align-items: center;
    background-color: #fff;
    border: 1px dashed var(--bs-gray-300);
    border-radius: 0.9rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 220px;
    padding: 1.5rem;
    text-align: center;
}
.builder-workflow-template-card {
    appearance: none;
    background-color: #fff;
    border: 1px solid var(--bs-gray-300);
    min-height: 100%;
    padding: 1rem !important;
    position: relative;
}
.builder-workflow-template-card .flow-template-card-description {
    line-height: 1.45;
    max-width: 100%;
}
.builder-workflow-template-card.is-loading {
    cursor: progress;
    opacity: 0.72;
    pointer-events: none;
}
.builder-workflow-template-copy {
    display: block;
    min-width: 0;
}
.builder-workflow-existing-search-wrap {
    margin-bottom: 0.85rem;
}
.builder-workflow-existing-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.builder-workflow-existing-item {
    align-items: center;
    background-color: #fff;
    border: 1px solid var(--bs-gray-300);
    border-radius: 0.65rem;
    cursor: pointer;
    display: flex;
    gap: 0.85rem;
    margin: 0;
    padding: 0.7rem 1rem;
    transition: border-color 0.15s ease, background-color 0.15s ease;
}
.builder-workflow-existing-item:hover {
    border-color: #cbd5e1;
}
.builder-workflow-existing-item.is-selected {
    background-color: #eff6ff;
    border-color: #93c5fd;
}
.builder-workflow-existing-item.is-selected:hover {
    border-color: #60a5fa;
}
.builder-workflow-existing-checkbox-wrap {
    flex: 0 0 auto;
    padding-top: 0.15rem;
}
.builder-workflow-existing-checkbox-wrap .builder-workflow-existing-input {
    background-position: center;
    background-size: 13px 13px;
    height: 22px;
    margin: 0;
    width: 22px;
}
.builder-workflow-existing-checkbox-wrap .builder-workflow-existing-input:checked {
    background-size: 13px 13px;
}
.builder-workflow-existing-item-main {
    flex: 1 1 auto;
    min-width: 0;
}
.builder-workflow-existing-name {
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.builder-workflow-existing-meta {
    align-items: center;
    color: var(--bs-gray-600);
    display: flex;
    flex-wrap: wrap;
    font-size: var(--font-12);
    gap: 0.45rem;
    line-height: 1.2;
    margin-top: 0.2rem;
}
.builder-workflow-existing-meta > * + *::before {
    color: var(--bs-gray-300);
    content: "\00b7";
    margin-right: 0.45rem;
}
.builder-workflow-existing-meta-status {
    align-items: center;
    display: inline-flex;
    gap: 0.35rem;
}
.builder-workflow-existing-meta-dot {
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
    height: 7px;
    width: 7px;
}
.builder-workflow-existing-meta-status--secondary .builder-workflow-existing-meta-dot { background-color: var(--bs-gray-500); }
.builder-workflow-existing-meta-status--success .builder-workflow-existing-meta-dot { background-color: #15803d; }
.builder-workflow-existing-meta-status--warning .builder-workflow-existing-meta-dot { background-color: #b45309; }
.builder-workflow-existing-meta-status--danger .builder-workflow-existing-meta-dot { background-color: #be123c; }
.flows-dashboard-modal.builder-workflow-picker-content .builder-workflow-picker-footer {
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, 0.8);
    border-top: 1px solid rgb(229, 231, 235);
}
@media (min-width: 1200px) {
    .flows-toolbar .participants-toolbar-controls {
        flex-direction: row !important;
        flex-wrap: nowrap;
        width: auto;
    }
    .flows-toolbar .participants-toolbar-search-wrap {
        width: 360px;
    }
}
@media (max-width: 1199.98px) {
    .flows-table thead .flows-cell-actions,
    .flows-table tbody .flows-cell-actions {
        position: sticky;
        right: 0;
    }
    .flows-table thead .flows-cell-actions {
        background-color: #f7f9fc !important;
        box-shadow: -1px 0 0 #edf1f7;
        z-index: 3;
    }
    .flows-table tbody .flows-cell-actions {
        background-color: #fff !important;
        box-shadow: -1px 0 0 #edf1f7;
        z-index: 2;
    }
    .flows-table tbody tr:hover .flows-cell-actions {
        background-color: #f9fbff !important;
    }
}
@media (max-width: 991.98px) {
    .flows-filter-menu {
        left: 0;
        min-width: 100%;
        right: auto;
        width: 100%;
    }
    .flows-table {
        min-width: 1010px;
    }
    .flows-table .flows-col-name {
        width: 285px;
    }
    .flows-table .flows-col-trigger {
        width: 180px;
    }
    .flows-table .flows-col-channel {
        width: 150px;
    }
    .flows-table .flows-col-promotions {
        width: 160px;
    }
    .flows-table .flows-col-status {
        width: 100px;
    }
    .flows-table .flows-col-updated {
        width: 150px;
    }
    .flows-table .flows-col-actions {
        width: 52px;
    }
    .flows-preview-modal-dialog {
        max-width: 860px;
    }
}
@media (max-width: 767.98px) {
    .create-flow-modal-dialog {
        max-width: none;
        width: calc(100% - 1rem);
    }
    .flows-preview-modal-dialog,
    .flows-trigger-picker-dialog {
        max-width: none;
        width: calc(100% - 1rem);
    }
    .flows-toolbar {
        padding: 0.85rem;
    }
    .flows-toolbar .participants-toolbar-row {
        gap: 0.75rem !important;
    }
    .flows-toolbar .participants-toolbar-controls {
        gap: 0.5rem !important;
    }
    .flows-toolbar .participants-filter-trigger {
        min-width: 112px;
        padding-left: 0.85rem !important;
        padding-right: 0.85rem !important;
    }
    .flows-table {
        min-width: 940px;
    }
    .flows-table .flows-col-name {
        width: 235px;
    }
    .flows-table .flows-col-trigger {
        width: 155px;
    }
    .flows-table .flows-col-channel {
        width: 140px;
    }
    .flows-table .flows-col-promotions {
        width: 150px;
    }
    .flows-table .flows-col-status {
        width: 92px;
    }
    .flows-table .flows-col-updated {
        width: 145px;
    }
    .flows-table .flows-col-actions {
        width: 52px;
    }
    .flows-dashboard-modal .modal-header {
        padding: 0.9rem 1rem;
    }
    .flows-dashboard-modal .modal-body,
    .flows-dashboard-modal .modal-footer {
        padding-left: 1rem;
        padding-right: 1rem;
    }
    .create-flow-modal-shell {
        max-width: none;
    }
    .flows-template-picker-body {
        max-height: min(68vh, 720px);
        padding-bottom: 1rem;
    }
    .trigger-picker-list-wrap {
        padding: 0.9rem 1rem 1rem;
    }
    .workflow-canvas-modal-content .modal-header {
        padding: 0.85rem 1rem;
    }
    .workflow-canvas-header-actions {
        gap: 0.5rem;
        min-width: 0;
    }
    .workflow-modal-promotions {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
    .workflow-promotions-modal-dialog {
        max-width: none;
        width: calc(100% - 1rem);
    }
    .workflow-promotions-body {
        max-height: 52vh;
    }
    .builder-workflow-picker-heading {
        gap: 0.2rem;
    }
}

/* ── Auth sidebar ──────────────────────────────────────────────── */
.auth-sidebar-bg {
    background: linear-gradient(180deg, #4ba7eebd 0%, #daedfb 50%, #ffffff 100%);
}

/* Floating product icons (v3-nav-icon style) */
.auth-float-icon {
    position: absolute;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    z-index: 10;
    pointer-events: none;
}
.auth-float-icon-sm {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    font-size: 13px;
}
.auth-float-icon i  { color: inherit; }
.auth-float-blue    { color: #3b82f6; }
.auth-float-purple  { color: #a855f7; }
.auth-float-amber   { color: #f59e0b; }
.auth-float-red     { color: #ef4444; }
.auth-float-teal    { color: #14b8a6; }
.auth-float-slow {
    animation: authFloat 6s ease-in-out infinite;
}
.auth-float-medium {
    animation: authFloat 4.5s ease-in-out 1s infinite;
}
.auth-float-fast {
    animation: authFloat 5s ease-in-out 0.5s infinite;
}
@keyframes authFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}

.auth-sidebar-title {
    font-size: 3.75rem;
    font-weight: 800;
    color: #0d1b2a;
    letter-spacing: -0.025em;
    line-height: 1.1;
    margin-top: 1.5rem;
}
@media (min-width: 992px) {
    .auth-sidebar-title { margin-top: 0; }
}
.auth-sidebar-subtitle {
    font-size: 1.1rem;
    color: #64748b;
    line-height: 1.6;
    max-width: 340px;
}
.auth-sidebar-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 16px;
}

/* Slot-machine reel */
.auth-slot-card {
    position: relative;
    background: #fff;
    border-radius: 24px;
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.08);
    padding: 0;
    width: 100%;
    max-width: 420px;
    overflow: visible;
}
.auth-slot-card-inner {
    position: relative;
    background: #fff;
    border-radius: 24px;
    overflow: hidden;
}
.auth-slot-window {
    position: relative;
    overflow: hidden;
    height: 360px; /* 5 visible rows × 72px */
    border-radius: 24px;
}
/* Center highlight band — on card so it never scrolls */
.auth-slot-highlight {
    position: absolute;
    top: 144px; /* (360 − 72) / 2 */
    left: 10px;
    right: 10px;
    height: 72px;
    background: rgba(0, 0, 0, 0.035);
    border-radius: 12px;
    z-index: 4;
    pointer-events: none;
}
/* Top / bottom fades (pseudo-elements stay fixed in scroll containers) */
.auth-slot-window::before,
.auth-slot-window::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 72px;
    z-index: 5;
    pointer-events: none;
}
.auth-slot-window::before {
    top: 0;
    background: linear-gradient(to bottom, rgba(255,255,255,0.95), transparent);
}
.auth-slot-window::after {
    bottom: 0;
    background: linear-gradient(to top, rgba(255,255,255,0.95), transparent);
}
/* Strip: absolute during animation, JS adds .auth-slot-ready to switch to flow */
.auth-slot-strip {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    will-change: transform, filter;
    transform: translateZ(0);
}
.auth-slot-strip.auth-slot-ready {
    position: relative;
    top: auto;
    left: auto;
    will-change: transform;
    transform: none;
}
.auth-slot-row {
    display: flex;
    align-items: center;
    gap: 14px;
    height: 72px;
    padding: 0 20px;
}
.auth-slot-row-name {
    font-weight: 600;
    font-size: 1rem;
    color: #0d1b2a;
}
.auth-slot-row-desc {
    font-size: 0.85rem;
    color: #94a3b8;
}
.sender-verify-status {
    align-items: center;
    display: inline-flex;
    height: 4.5rem;
    justify-content: center;
    margin: 0 auto;
    position: relative;
    width: 4.5rem;
}
.sender-verify-status-success {
    animation: senderVerifyStatusPop 0.7s cubic-bezier(0.2, 0.9, 0.25, 1) forwards;
    opacity: 0;
    transform: scale(0.82);
}
.sender-verify-status-error {
    animation: senderVerifyStatusPop 0.65s cubic-bezier(0.2, 0.9, 0.25, 1) forwards;
    opacity: 0;
    transform: scale(0.82);
}
.sender-verify-status-success::after {
    animation: senderVerifyStatusHalo 1s ease-out 0.12s forwards;
    background: radial-gradient(circle, rgba(96, 165, 250, 0.22) 0%, rgba(96, 165, 250, 0) 72%);
    border-radius: 999px;
    content: "";
    inset: -0.9rem;
    opacity: 0;
    position: absolute;
}
.sender-verify-status-error::after {
    animation: senderVerifyStatusHalo 0.9s ease-out 0.1s forwards;
    background: radial-gradient(circle, rgba(248, 113, 113, 0.22) 0%, rgba(248, 113, 113, 0) 72%);
    border-radius: 999px;
    content: "";
    inset: -0.9rem;
    opacity: 0;
    position: absolute;
}
.sender-verify-status-checkmark {
    display: block;
    height: 100%;
    overflow: visible;
    width: 100%;
}
.sender-verify-status-crossmark {
    display: block;
    height: 100%;
    overflow: visible;
    width: 100%;
}
.sender-verify-status-circle,
.sender-verify-status-path {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.sender-verify-status-circle {
    stroke: #93c5fd;
    stroke-width: 2.5;
    stroke-dasharray: 132;
    stroke-dashoffset: 132;
    animation: senderVerifyCircleDraw 0.65s ease-out 0.08s forwards;
}
.sender-verify-status-path {
    stroke: #2563eb;
    stroke-width: 3.75;
    stroke-dasharray: 28;
    stroke-dashoffset: 28;
    animation: senderVerifyCheckDraw 0.4s ease-out 0.45s forwards;
}
.sender-verify-status-error .sender-verify-status-circle {
    stroke: #fca5a5;
}
.sender-verify-status-cross-line {
    fill: none;
    stroke: #dc2626;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3.75;
    stroke-dasharray: 22;
    stroke-dashoffset: 22;
    animation: senderVerifyCrossDraw 0.24s ease-out 0.45s forwards;
}
.sender-verify-status-cross-line-delayed {
    animation-delay: 0.62s;
}
@keyframes senderVerifyStatusPop {
    0% {
        opacity: 0;
        transform: scale(0.82);
    }
    65% {
        opacity: 1;
        transform: scale(1.06);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    }
}
@keyframes senderVerifyStatusHalo {
    0% {
        opacity: 0;
        transform: scale(0.7);
    }
    35% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: scale(1.15);
    }
}
@keyframes senderVerifyCircleDraw {
    to {
        stroke-dashoffset: 0;
    }
}

.moderation-toolbar {
    container-type: inline-size;
    margin-bottom: 1.5rem;
}
.moderation-toolbar .participants-toolbar-controls {
    flex: 1 1 auto;
    flex-wrap: nowrap !important;
    justify-content: flex-end;
    min-width: 0;
}
.moderation-toolbar .open-manual-contest-submission {
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap;
}
.moderation-toolbar .participants-toolbar-search-wrap {
    flex: 1 1 360px;
    max-width: min(100%, 520px);
    width: auto;
}
.moderation-toolbar .moderation-filter-wrap {
    flex: 0 0 auto;
}
@container (max-width: 1120px) {
    .moderation-toolbar .participants-toolbar-row {
        align-items: stretch !important;
        flex-direction: column !important;
    }
    .moderation-toolbar .participants-toolbar-controls {
        align-items: stretch !important;
        flex: 0 0 auto;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start;
        width: 100%;
    }
    .moderation-toolbar .open-manual-contest-submission {
        justify-content: flex-start;
        min-width: 0;
        width: 100%;
    }
    .moderation-toolbar .participants-toolbar-search-wrap {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%;
    }
    .moderation-toolbar .moderation-filter-wrap {
        flex: 0 0 auto;
        width: 100%;
    }
    .moderation-toolbar .moderation-filter-trigger {
        justify-content: flex-start;
        max-width: 100%;
        width: 100% !important;
    }
}
@media (max-width: 1199.98px) {
    .moderation-toolbar .participants-toolbar-row {
        align-items: stretch !important;
        flex-direction: column !important;
    }
    .moderation-toolbar .participants-toolbar-controls {
        align-items: stretch !important;
        flex: 0 0 auto;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start;
        width: 100%;
    }
    .moderation-toolbar .open-manual-contest-submission {
        justify-content: flex-start;
        min-width: 0;
        width: 100%;
    }
    .moderation-toolbar .participants-toolbar-search-wrap {
        flex: 0 0 auto;
        max-width: 100%;
        width: 100%;
    }
    .moderation-toolbar .moderation-filter-wrap {
        flex: 0 0 auto;
        width: 100%;
    }
    .moderation-toolbar .moderation-filter-trigger {
        justify-content: flex-start;
        max-width: 100%;
        width: 100% !important;
    }
}
.moderation-filter-trigger {
    align-items: center;
    gap: 0.5rem;
}
.moderation-filter-chip-input {
    height: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 0;
}
.moderation-filter-stack {
    align-items: stretch;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}
.moderation-filter-option {
    display: block;
    width: 100%;
}
.moderation-filter-option-pill {
    align-items: center;
    background-color: #fff;
    border: 1px solid #d8dee8;
    border-radius: 0.75rem;
    color: #1f2937;
    display: inline-flex;
    gap: 0.5rem;
    min-height: 40px;
    padding: 0.55rem 0.8rem;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
    width: 100%;
}
.participants-filter-chip-input:not(:checked) + .moderation-filter-option-pill {
    background-color: #f8fafc;
    border-color: #e2e8f0;
    color: #94a3b8;
}
.participants-filter-chip-input:checked + .moderation-filter-option-pill {
    border-color: #1d4ed8;
    box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.08);
}
.moderation-grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    padding: 1rem;
}
.moderation-card {
    background: #fff;
    border: 1px solid var(--bs-gray-200);
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}
.moderation-card-preview {
    align-items: center;
    aspect-ratio: 4 / 3;
    background: linear-gradient(145deg, #f8fafc 0%, #eef2ff 100%);
    border: 0;
    display: flex;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
}
.moderation-card-preview-video-placeholder {
    background: #fff;
}
.moderation-card-preview img,
.moderation-card-preview video,
.moderation-card-preview-embed {
    display: block;
    height: 100% !important;
    max-height: none !important;
    max-width: none !important;
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    width: 100% !important;
}
.moderation-card-preview-image {
    transform: rotate(var(--contest-submission-media-rotation, 0deg));
    transform-origin: center center;
    transition: transform 0.2s ease;
}
.moderation-card-preview-poster {
    object-fit: cover;
}
.moderation-card-preview-provider-fallback-poster {
    background: #fff;
    object-fit: contain;
    padding: 18%;
}
.moderation-card-preview video {
    pointer-events: none;
}
.moderation-card-preview-embed {
    border: 0;
    background: #000;
    pointer-events: none;
}
.moderation-card-preview-meta {
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    left: 0.85rem;
    position: absolute;
    top: 0.85rem;
}
.moderation-card-media-count {
    background: rgba(15, 23, 42, 0.78);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 11px;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
}
.moderation-card-placeholder-icon {
    align-items: center;
    background: rgba(15, 23, 42, 0.72);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 1rem;
    height: 2.75rem;
    justify-content: center;
    width: 2.75rem;
}
.moderation-card-placeholder-icon-video {
    background: transparent;
    border-radius: 0;
    color: #4b5675;
    font-size: 2rem;
    height: auto;
    width: auto;
}
.moderation-card-preview-meta {
    z-index: 3;
}
.moderation-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}
.moderation-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}
.moderation-card-title {
    background: transparent;
    border: 0;
    color: var(--bs-gray-900);
    font-size: 1rem;
    font-weight: 700;
    padding: 0;
    text-align: left;
}
.moderation-card-secondary {
    font-size: 13px;
    margin-top: -0.35rem;
}
.moderation-card-caption {
    color: var(--bs-gray-800);
    font-size: 13px;
    line-height: 1.6;
    min-height: 3.9em;
}
.moderation-card-caption.is-empty {
    color: var(--bs-gray-500);
    font-style: italic;
}
.moderation-card-votes {
    color: var(--bs-gray-700);
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 0.4rem 0.65rem;
}
.moderation-card-footer {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: auto;
}
.moderation-card-submitted {
    align-items: center;
    display: flex;
    font-size: 12px;
    gap: 0.4rem;
}
.moderation-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.moderation-card-actions .btn {
    flex: 1 1 0;
}
.moderation-pagination {
    margin-top: 1.5rem;
    padding: 0 1rem 1rem;
}
.moderation-empty-state {
    background: #fff;
    border: 1px dashed var(--bs-gray-300);
    border-radius: 1rem;
    margin: 1rem;
}

.contest-submission-detail {
    --contest-submission-card-border: #e5e7eb;
    --contest-submission-divider-border: #e0e5ee;
    --contest-submission-muted-surface: #eef2f7;
    display: flex;
    flex-direction: column;
    gap: 0;
    min-height: 100%;
    padding: 0;
}
.contest-submission-detail-body {
    background: var(--entrant-detail-drawer-bg, #f5f7fb);
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem;
}
.contest-submission-status-alert {
    align-items: flex-start;
    background: #fff;
    border: 1px solid var(--contest-submission-card-border);
    border-left-width: 4px;
    border-radius: 0.85rem;
    color: var(--bs-gray-800);
    display: flex;
    gap: 0.75rem;
    padding: 0.8rem 0.95rem;
}
.contest-submission-status-alert i {
    flex: 0 0 auto;
    font-size: 16px;
    margin-top: 0.1rem;
}
.contest-submission-status-alert-title {
    color: var(--bs-gray-900);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
}
.contest-submission-status-alert-copy {
    color: var(--bs-gray-600);
    font-size: 12.5px;
    line-height: 1.45;
    margin-top: 0.2rem;
}
.contest-submission-status-alert-copy a {
    color: var(--bs-primary);
}
.contest-submission-status-alert-warning {
    background: #fffbeb;
    border-color: #f6c343;
}
.contest-submission-status-alert-danger {
    background: #fff1f3;
    border-color: #f5b5c3;
}
.contest-submission-status-alert-primary {
    background: #eff6ff;
    border-color: #b8d2ff;
}
.contest-submission-status-alert-success {
    background: #ecfdf3;
    border-color: #a7e3bd;
}
.contest-submission-status-alert-warning i {
    color: #b45309;
}
.contest-submission-status-alert-warning .contest-submission-status-alert-title {
    color: #b45309;
}
.contest-submission-status-alert-danger i {
    color: #d9214e;
}
.contest-submission-status-alert-primary i {
    color: #1d4ed8;
}
.contest-submission-status-alert-success i {
    color: #15803d;
}
.contest-submission-visibility-row {
    align-items: center;
    background: #fff;
    border-bottom: 1px solid var(--contest-submission-card-border);
    border-top: 1px solid var(--contest-submission-card-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: 0 -1.5rem;
    padding: 0.9rem 1.5rem;
}
.contest-submission-detail-body > .contest-submission-visibility-row:first-child {
    border-top: 0;
    margin-top: -1.5rem;
}
.contest-submission-visibility-summary {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    min-width: 0;
}
.contest-submission-visibility-pill {
    font-weight: 700;
    white-space: nowrap;
}
.contest-submission-visibility-pill i {
    color: inherit !important;
    font-size: var(--font-12);
    line-height: 1;
}
.contest-submission-visibility-copy {
    color: var(--bs-gray-600);
    font-size: 13px;
    line-height: 1.3;
}
.contest-submission-visibility-actions {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 0.5rem;
}
.contest-submission-panel,
.contest-submission-media-section {
    background: #fff;
    border: 1px solid var(--contest-submission-card-border);
    border-radius: 1rem;
}
.contest-submission-media-section {
    overflow: hidden;
}
.contest-submission-detail-stage-wrap {
    display: flex;
    flex-direction: column;
    position: relative;
}
.contest-submission-detail-stage {
    align-items: center;
    aspect-ratio: 16 / 10;
    background: var(--bs-gray-100);
    border: 0;
    border-radius: 0;
    display: flex;
    justify-content: center;
    max-height: min(52vh, 520px);
    overflow: hidden;
    position: relative;
    width: 100%;
}
.contest-submission-media-nav {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid var(--contest-submission-card-border);
    border-radius: 999px;
    box-shadow: 0 0.45rem 1.25rem rgba(15, 23, 42, 0.12);
    color: var(--bs-gray-800);
    display: inline-flex;
    height: 32px;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    z-index: 4;
}
.contest-submission-media-nav:hover,
.contest-submission-media-nav:focus {
    color: var(--bs-primary);
}
.contest-submission-media-nav-prev {
    left: 1rem;
}
.contest-submission-media-nav-next {
    right: 1rem;
}
.contest-submission-detail-stage.is-interactive {
    cursor: zoom-in;
}
.contest-submission-detail-stage--embed {
    background: var(--bs-gray-100);
    aspect-ratio: 16 / 9;
}
.contest-submission-detail-stage--video {
    aspect-ratio: 16 / 9;
    background: #000;
}
.contest-submission-detail-stage--landscape-embed {
    aspect-ratio: 16 / 9;
    height: auto;
    max-height: min(52vh, 520px);
}
.contest-submission-detail-stage--portrait-embed {
    aspect-ratio: 4 / 5;
    max-height: min(82vh, 860px);
}
.contest-submission-detail-stage--x-embed {
    aspect-ratio: auto;
    height: auto;
    max-height: none;
    overflow: visible;
}
.contest-submission-stage-media-frame {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}
.contest-submission-stage-image,
.contest-submission-stage-video {
    display: block;
    height: 100%;
    object-fit: contain;
    width: 100%;
}
.contest-submission-stage-image {
    transform: rotate(var(--contest-submission-media-rotation, 0deg)) scale(var(--contest-submission-stage-scale, 1));
    transform-origin: center center;
    transition: transform 0.2s ease;
}
.contest-submission-stage-embed-frame {
    align-items: center;
    background: var(--bs-gray-100);
    display: flex;
    height: 100%;
    justify-content: center;
    max-height: 100%;
    overflow: hidden;
    padding: 0;
    width: 100%;
}
.contest-submission-stage-video--embed {
    border: 0;
    height: 100%;
    width: 100%;
}
.contest-submission-stage-embed-frame--youtube,
.contest-submission-stage-embed-frame--vimeo,
.contest-submission-stage-embed-frame--twitch {
    aspect-ratio: 16 / 9;
    max-height: min(52vh, 520px);
    width: 100%;
}
.contest-submission-stage-embed-frame--x {
    background: transparent;
    height: auto;
    max-height: none;
    min-height: 180px;
    overflow: visible;
    padding: 0.75rem 0;
}
.contest-submission-x-tweet {
    margin: 0 auto !important;
    max-width: 560px;
    width: min(100%, 560px);
}
.contest-submission-stage-embed-frame--x .contest-submission-x-fallback-frame {
    border-radius: 0.75rem;
    height: min(72vh, 760px);
    max-width: 560px;
    transform: none;
    width: min(100%, 560px);
}
.contest-submission-stage-embed-frame--x .twitter-tweet-rendered ~ .contest-submission-x-fallback-frame,
.contest-submission-stage-embed-frame--x iframe[id^="twitter-widget-"] ~ .contest-submission-x-fallback-frame {
    display: none;
}
.contest-submission-stage-embed-frame--instagram .contest-submission-stage-video--embed,
.contest-submission-stage-embed-frame--tiktok .contest-submission-stage-video--embed {
    border-radius: 0.75rem;
    height: 100%;
    max-width: 390px;
    transform: none;
    width: min(100%, 390px);
}
.contest-submission-stage-placeholder {
    align-items: center;
    color: var(--bs-gray-600);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    justify-content: center;
}
.contest-submission-stage-placeholder i {
    font-size: 2rem;
}
.contest-submission-stage-loader {
    align-items: center;
    background: rgba(245, 247, 251, 0.88);
    display: flex;
    inset: 0;
    justify-content: center;
    position: absolute;
    z-index: 2;
}
.contest-submission-stage-loader .spinner-border {
    height: 2.25rem;
    width: 2.25rem;
}
.contest-submission-thumbnail-strip {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 0.15rem 0 0.15rem;
    scroll-padding-inline: 0.25rem;
}
.contest-submission-files-section {
    border-top: 1px solid var(--contest-submission-card-border);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}
.contest-submission-files-header {
    align-items: flex-start;
    display: flex;
    gap: 0.75rem;
    justify-content: flex-start;
}
.contest-submission-files-heading {
    align-items: flex-start;
    display: grid;
    gap: 0 0.85rem;
    grid-template-columns: auto minmax(0, 1fr);
    min-width: 0;
}
.contest-submission-files-heading .contest-submission-section-icon {
    grid-row: 1 / span 2;
}
.contest-submission-files-heading .contest-submission-section-title {
    min-height: 0;
}
.contest-submission-file-counter {
    color: var(--bs-gray-600);
    font-size: 12px;
    font-weight: 400;
    grid-column: 2;
    line-height: 1.4;
    margin-top: 0;
}
.contest-submission-thumbnail {
    align-items: center;
    background: #fff;
    border: 1px solid #cfd7e4;
    border-radius: 0.9rem;
    display: inline-flex;
    flex: 0 0 auto;
    height: 64px;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 64px;
}
.contest-submission-thumbnail.active {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 3px rgba(0, 158, 247, 0.08);
}
.contest-submission-thumbnail.is-hidden-media {
    opacity: 0.58;
}
.contest-submission-thumbnail.is-hidden-media::after {
    background: rgba(15, 23, 42, 0.42);
    border-radius: inherit;
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}
.contest-submission-hidden-marker {
    background: rgba(15, 23, 42, 0.86);
    border-radius: 999px;
    color: #fff;
    font-size: 0.625rem;
    font-weight: 700;
    left: 50%;
    line-height: 1;
    padding: 0.25rem 0.45rem;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}
.contest-submission-thumbnail img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.contest-submission-thumbnail-video {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.contest-submission-thumbnail-video-loader,
.file-upload-thumbnail-video-loader {
    align-items: center;
    background: rgba(255, 255, 255, 0.82);
    inset: 0;
    display: flex;
    justify-content: center;
    position: absolute;
    z-index: 2;
}
.contest-submission-thumbnail-video-loader .spinner-border,
.file-upload-thumbnail-video-loader .spinner-border {
    height: 1.25rem;
    width: 1.25rem;
}
.contest-submission-thumbnail-video-fallback {
    display: none;
}
.contest-submission-thumbnail-video-fallback.is-visible {
    display: flex;
}
.contest-submission-thumbnail-image {
    transform: rotate(var(--contest-submission-media-rotation, 0deg));
    transform-origin: center center;
    transition: transform 0.2s ease;
}
.contest-submission-thumbnail-poster {
    object-fit: cover;
}
.contest-submission-thumbnail-provider-fallback-poster {
    background: #fff;
    object-fit: contain;
    padding: 24%;
}
.file-upload-thumbnail-video-poster {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}
.file-upload-thumbnail-uploaded-video-preview {
    display: block;
    overflow: hidden;
    position: relative;
}
.file-upload-thumbnail-uploaded-video-placeholder,
.file-upload-thumbnail-uploaded-video-layer {
    display: block;
    height: 100%;
    inset: 0;
    width: 100%;
}
.file-upload-thumbnail-uploaded-video-placeholder {
    box-sizing: border-box;
    object-fit: contain;
    padding: 24%;
    position: relative;
    z-index: 1;
}
.file-upload-thumbnail-uploaded-video-layer {
    object-fit: cover;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    transition: opacity 0.18s ease;
    z-index: 2;
}
.file-upload-thumbnail-uploaded-video-preview.is-video-ready .file-upload-thumbnail-uploaded-video-layer {
    opacity: 1;
}
.file-upload-thumbnail-video-fallback {
    align-items: center;
    color: var(--bs-gray-700);
    display: flex;
    font-size: 1rem;
    height: 100%;
    justify-content: center;
    width: 100%;
}
.contest-submission-thumbnail-icon {
    color: var(--bs-gray-700);
    font-size: 1rem;
}
.contest-submission-thumbnail-provider-fallback {
    align-items: center;
    background: #0f172a;
    color: #fff;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    height: 100%;
    justify-content: center;
    line-height: 1;
    padding: 0.35rem;
    text-align: center;
    width: 100%;
}
.contest-submission-thumbnail-provider-fallback--instagram {
    background: #833ab4;
}
.contest-submission-thumbnail-provider-fallback--tiktok {
    background: #111827;
}
.contest-submission-thumbnail-provider-fallback--x {
    background: #fff;
    color: #000;
}
.contest-submission-thumbnail-provider-mark {
    font-size: 0.72rem;
    font-weight: 700;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.contest-submission-thumbnail-provider-fallback--x .contest-submission-thumbnail-provider-mark {
    font-size: 1.9rem;
    letter-spacing: 0;
}
.contest-submission-thumbnail-provider-logo {
    color: #fff !important;
    font-size: 1.5rem !important;
    line-height: 1;
}
.contest-submission-thumbnail-provider-fallback--x .contest-submission-thumbnail-provider-logo {
    color: #000 !important;
}
.contest-submission-detail-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.contest-submission-detail-card {
    background: #fff;
    border: 1px solid var(--contest-submission-card-border);
    border-radius: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.9rem 1rem;
}
.contest-submission-participant-card {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0.9rem 1rem;
}
.contest-submission-participant-body {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.contest-submission-identity-block {
    align-items: flex-start;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    min-width: 0;
}
.contest-submission-identity-avatar {
    align-items: center;
    background: var(--bs-primary-light);
    border-radius: 999px;
    color: #1d4ed8;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    height: 40px;
    justify-content: center;
    letter-spacing: 0.01em;
    overflow: hidden;
    position: relative;
    width: 40px;
}
.contest-submission-identity-avatar img {
    display: block;
    height: 100%;
    inset: 0;
    object-fit: cover;
    position: absolute;
    width: 100%;
    z-index: 1;
}
.contest-submission-identity-avatar span {
    position: relative;
    z-index: 0;
}
.contest-submission-identity-main {
    min-width: 0;
}
.contest-submission-view-profile-link {
    align-items: center;
    color: var(--bs-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 13px;
    font-weight: 500;
    gap: 0.35rem;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}
.contest-submission-view-profile-link:hover,
.contest-submission-view-profile-link:focus {
    color: var(--bs-primary);
    text-decoration: underline;
}
.contest-submission-view-profile-link i {
    color: inherit !important;
    font-size: 12px;
}
.contest-submission-snapshot-note {
    background: var(--contest-submission-muted-surface);
    border: 1px solid var(--contest-submission-divider-border);
    border-radius: 0.65rem;
    color: var(--bs-gray-700);
    display: flex;
    flex-direction: column;
    font-size: 13px;
    gap: 0.2rem;
    line-height: 1.35;
    padding: 0.65rem 0.75rem;
}
.contest-submission-snapshot-note span {
    color: var(--bs-gray-600);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.contest-submission-snapshot-note strong {
    color: var(--bs-gray-800);
    font-weight: 500;
}
.contest-submission-participant-details-list {
    border-top: 1px solid var(--contest-submission-divider-border);
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    padding-top: 0.9rem;
}
.contest-submission-participant-detail-row {
    align-items: baseline;
    color: var(--bs-gray-700);
    display: grid;
    font-size: 13px;
    gap: 0.8rem;
    grid-template-columns: 88px minmax(0, 1fr);
    line-height: 1.35;
}
.contest-submission-participant-detail-row span {
    color: var(--bs-gray-600);
    font-weight: 700;
}
.contest-submission-participant-detail-row strong {
    color: var(--bs-gray-800);
    font-weight: 500;
    min-width: 0;
}
.contest-submission-participant-note-block {
    border-top: 1px solid var(--contest-submission-divider-border);
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
    padding-top: 0.9rem;
}
.contest-submission-sectioned-card {
    gap: 0;
    overflow: hidden;
}
.contest-submission-section-header {
    border-bottom: 1px solid var(--contest-submission-divider-border);
    margin: 0 -1rem;
    padding: 0 1rem 0.9rem;
}
.contest-submission-section-body {
    padding-top: 0.9rem;
}
.contest-submission-section-title {
    align-items: center;
    color: var(--bs-gray-700);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 0.55rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.contest-submission-section-icon {
    align-items: center;
    background: var(--bs-gray-100);
    border: 1px solid var(--bs-gray-200);
    border-radius: 8px;
    color: var(--bs-gray-600);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: var(--font-14);
    height: 36px;
    justify-content: center;
    min-width: 36px;
    width: 36px;
}
.contest-submission-section-icon i {
    color: inherit !important;
}
.contest-submission-detail-card-label {
    color: var(--bs-gray-600);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.contest-submission-identity-name {
    color: var(--bs-gray-900);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 0.25rem;
}
.contest-submission-identity-secondary {
    color: var(--bs-gray-700);
    font-size: 13px;
    line-height: 1.35;
    margin-top: 0.1rem;
}
.contest-submission-identity-meta,
.contest-submission-detail-meta-list {
    color: var(--bs-gray-700);
    display: flex;
    flex-direction: column;
    font-size: 12.5px;
    gap: 0.35rem;
}
.contest-submission-identity-meta {
    margin-top: 0.45rem;
}
.contest-submission-identity-meta span,
.contest-submission-detail-meta-list span {
    color: var(--bs-gray-600);
    font-weight: 700;
}
.contest-submission-detail-copy {
    background: var(--contest-submission-muted-surface);
    border-radius: 0.75rem;
    color: var(--bs-gray-800);
    font-size: 13px;
    line-height: 1.5;
    max-height: 5.5rem;
    overflow-y: auto;
    padding: 0.75rem;
}
.contest-submission-votes-header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
}
.contest-submission-votes-totals {
    color: var(--bs-gray-700);
    display: flex;
    flex-wrap: wrap;
    font-size: 12.5px;
    gap: 0.4rem 0.75rem;
    margin-top: 0;
}
.contest-submission-votes-header .participants-toolbar-btn i {
    color: inherit !important;
}
.contest-submission-vote-status {
    background: var(--bs-gray-100);
    border-radius: 999px;
    color: var(--bs-gray-700);
    display: inline-flex;
    font-size: 11px;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
}
.contest-submission-detail {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.contest-submission-caption-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.9rem;
}
.contest-submission-caption-heading {
    align-items: flex-start;
    display: grid;
    gap: 0 0.85rem;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-rows: minmax(36px, auto) auto;
    min-width: 0;
}
.contest-submission-caption-heading .contest-submission-section-icon {
    grid-row: 1 / span 2;
}
.contest-submission-caption-heading .contest-submission-section-title {
    min-height: 36px;
}
.contest-submission-caption-heading--with-selection {
    grid-template-rows: auto auto;
}
.contest-submission-caption-heading--with-selection .contest-submission-section-title {
    min-height: 0;
}
.contest-submission-caption-heading--with-selection .contest-submission-caption-selection {
    margin-top: 0;
}
.contest-submission-caption-selection,
.contest-submission-cover-selection {
    font-size: 12px;
    grid-column: 2;
    line-height: 1.4;
    margin-top: 0.2rem;
}
.contest-submission-review-header {
    align-items: flex-start;
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
}
.contest-submission-caption-edit-toggle {
    flex: 0 0 auto;
}
.contest-submission-notes-edit-toggle {
    flex: 0 0 auto;
}
.contest-submission-caption-disabled,
.contest-submission-caption-editor {
    font-size: 13px;
}
.contest-submission-caption-editor {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.contest-submission-caption-input {
    font-size: 15px;
    line-height: 1.45;
    min-height: 54px;
    overflow-y: hidden;
    resize: none;
}
.contest-submission-caption-input.is-readonly {
    background: transparent;
    border-color: transparent;
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    border-bottom: 0;
    box-shadow: none;
    margin: 0 -1rem -0.9rem;
    padding: 0 1rem 1rem;
    pointer-events: none;
}
.contest-submission-caption-input.is-readonly:focus,
.contest-submission-moderator-notes-input.is-readonly:focus {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
    outline: 0 !important;
}
.contest-submission-caption-input:not(.is-readonly) {
    border-color: #cfd7e4;
    border-radius: 0.55rem;
    min-height: 92px;
    overflow-y: auto;
    padding: 0.75rem 1rem;
}
.contest-submission-moderator-notes-input.is-readonly {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    min-height: 1.45em;
    padding: 0;
    pointer-events: none;
}
.contest-submission-moderator-notes-input {
    font-size: 15px;
    line-height: 1.45;
    min-height: 54px;
    overflow-y: hidden;
    resize: none;
}
.contest-submission-caption-input:not(.is-readonly),
.contest-submission-moderator-notes-input:not(.is-readonly) {
    background: #fff;
}
.contest-submission-moderator-notes-input:not(.is-readonly) {
    border-color: #cfd7e4;
    border-radius: 0.55rem;
    min-height: 92px;
    overflow-y: auto;
    padding: 0.75rem 1rem;
}
.contest-submission-caption-actions,
.contest-submission-review-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.contest-submission-original-copy {
    border-top: 1px solid var(--contest-submission-divider-border);
    margin-top: 0.1rem;
    padding-top: 0.75rem;
}
.contest-submission-review-fields {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr);
}
.contest-submission-notes-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.6rem;
}
.contest-submission-review-actions {
    align-items: center;
    justify-content: flex-start;
}
.contest-submission-cover-preview {
    aspect-ratio: 16 / 9;
    border: 1px solid var(--bs-gray-200);
    border-radius: 10px;
    display: block;
    flex: 0 1 220px;
    max-width: none;
    overflow: hidden;
    position: relative;
    width: min(220px, 100%);
}
.contest-submission-cover-preview-image {
    display: block;
    height: 100%;
    min-height: 100%;
    min-width: 100%;
    object-fit: cover;
    width: 100%;
}
.contest-submission-cover-preview .contest-submission-remove-cover-btn {
    border: 0;
    position: absolute;
    right: 6px;
    top: 6px;
    z-index: 2;
}
.contest-submission-detail-footer {
    align-items: center;
    backdrop-filter: blur(10px);
    background-color: rgb(255 255 255 / 94%);
    border-top: 1px solid var(--contest-submission-card-border);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-top: auto;
    padding: 1rem 1.5rem;
    position: sticky;
    bottom: 0;
    z-index: 3;
}
.contest-submission-detail-footer-label {
    align-items: center;
    color: var(--bs-gray-600);
    display: inline-flex;
    font-size: 12px;
    font-weight: 700;
    gap: 0.55rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.contest-submission-detail-footer-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: flex-end;
}
.contest-submission-detail-footer-actions .btn {
    align-items: center;
    border: 1px solid currentColor;
    border-radius: 0.55rem;
    display: inline-flex;
    font-size: 12px;
    font-weight: 500;
    justify-content: center;
    line-height: 1.2;
    min-height: 34px;
    padding: 0.48rem 0.85rem;
}
.contest-submission-detail-footer-actions .contest-submission-return-to-pending-btn {
    border-color: #f6c343;
    color: #b45309;
}
.contest-submission-detail-footer-actions .contest-submission-deny-btn {
    border-color: #f5b5c3;
}
.contest-submission-detail-footer-actions .contest-submission-approve-btn {
    border-color: var(--bs-primary);
}
.contest-submission-header-rotate-btn {
    flex: 0 0 auto;
}
.contest-submission-preview-modal.is-measuring-layout {
    display: block !important;
    opacity: 0 !important;
    pointer-events: none;
    visibility: hidden;
}
.contest-submission-preview-modal.is-measuring-layout .modal-dialog,
.contest-submission-preview-modal.is-measuring-layout .modal-content {
    transform: none !important;
    transition: none !important;
}
.contest-submission-preview-modal .modal-content {
    border: 0;
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 2rem);
    overflow: hidden;
}
.contest-submission-preview-modal .modal-body {
    background: #f5f7fb;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    padding: 1rem;
}
.contest-submission-preview-modal-frame {
    --contest-submission-preview-offset-y: 0px;
    --contest-submission-preview-scale: 1;
    align-items: center;
    display: flex;
    height: min(calc(100vh - 7rem), 720px);
    justify-content: center;
    max-height: calc(100vh - 7rem);
    min-height: 0;
    overflow: hidden;
    width: 100%;
}
.contest-submission-preview-modal-frame.is-rotated-quarter-turn {
    align-items: flex-start;
}
.contest-submission-preview-modal-media {
    background: #fff;
    border-radius: 0.85rem;
    display: block;
    height: auto;
    margin: 0 auto;
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}
.contest-submission-preview-modal-image {
    margin-top: var(--contest-submission-preview-offset-y, 0px);
    transform: rotate(var(--contest-submission-media-rotation, 0deg)) scale(var(--contest-submission-preview-scale, 1));
    transform-origin: center center;
}
.contest-submission-preview-modal-frame.is-rotated-quarter-turn .contest-submission-preview-modal-image {
    max-height: 100%;
    max-width: 100%;
}
.contest-submission-preview-modal-video {
    background: #0f172a;
}
.contest-submission-preview-modal-embed-frame {
    background: var(--bs-gray-100);
    overflow: hidden;
}
.contest-submission-preview-modal-video--embed {
    border: 0;
    height: 118%;
    max-height: none;
    max-width: none;
    transform: scale(0.85);
    width: 118%;
}

@media (max-width: 767px) {
    .moderation-grid {
        grid-template-columns: 1fr;
        padding: 0.9rem;
    }
    .moderation-card-actions .btn {
        flex: 1 1 calc(50% - 0.25rem);
    }
    .contest-submission-detail-stage {
        aspect-ratio: 4 / 3;
        max-height: min(44vh, 420px);
    }
    .contest-submission-detail-stage--portrait-embed {
        aspect-ratio: 3 / 4;
        max-height: min(72vh, 680px);
    }
    .contest-submission-detail-stage--x-embed {
        max-height: none;
    }
    .contest-submission-preview-modal-frame {
        height: min(calc(100vh - 7rem), 520px);
    }
    .contest-submission-stage-embed-frame {
        max-height: min(54vh, 460px);
    }
    .contest-submission-stage-embed-frame--instagram,
    .contest-submission-stage-embed-frame--tiktok {
        max-height: 100%;
    }
    .contest-submission-stage-embed-frame--x {
        max-height: none;
        padding: 0.5rem 0;
    }
    .contest-submission-stage-embed-frame--x .contest-submission-x-fallback-frame {
        height: min(74vh, 640px);
    }
    .contest-submission-preview-modal-frame.is-rotated-quarter-turn .contest-submission-preview-modal-image {
        max-height: 100%;
        max-width: 100%;
    }
    .contest-submission-detail-body {
        padding: 1rem;
    }
    .contest-submission-visibility-row {
        align-items: center;
        flex-direction: row;
        gap: 0.75rem;
        margin: 0 -1rem;
        padding: 0.85rem 1rem;
    }
    .contest-submission-detail-body > .contest-submission-visibility-row:first-child {
        margin-top: -1rem;
    }
    .contest-submission-visibility-summary {
        flex: 1 1 auto;
    }
    .contest-submission-visibility-actions {
        flex: 0 0 auto;
        justify-content: flex-end;
    }
    .contest-submission-visibility-actions .participants-toolbar-btn {
        width: auto;
        justify-content: center;
        white-space: nowrap;
    }
    .contest-submission-identity-block {
        grid-template-columns: 40px minmax(0, 1fr);
    }
    .contest-submission-view-profile-link {
        grid-column: 2;
        justify-self: flex-start;
        margin-top: -0.35rem;
    }
    .contest-submission-participant-detail-row {
        grid-template-columns: 76px minmax(0, 1fr);
    }
    .contest-submission-detail-footer {
        align-items: stretch;
        flex-direction: column;
        padding: 1rem;
    }
    .contest-submission-detail-footer-actions {
        flex-wrap: nowrap;
        gap: 0.45rem;
        width: 100%;
    }
    .moderation-pagination {
        padding: 0 0.9rem 0.9rem;
    }
    .contest-submission-detail-footer-actions .btn {
        flex: 1 1 0;
        font-size: 11.5px;
        min-height: 32px;
        min-width: 0;
        padding: 0.42rem 0.5rem;
        white-space: normal;
        width: auto;
    }
    .contest-submission-review-actions .btn,
    .contest-submission-caption-actions .btn {
        width: 100%;
    }
    .contest-submission-media-nav {
        height: 32px;
        width: 32px;
    }
    .contest-submission-media-nav-prev {
        left: 0.75rem;
    }
    .contest-submission-media-nav-next {
        right: 0.75rem;
    }
    .contest-submission-thumbnail-strip {
        gap: 0.55rem;
        justify-content: flex-start;
        padding-inline: 0;
        scroll-padding-inline: 0;
    }
    .contest-submission-thumbnail {
        border-radius: 0.75rem;
        height: 58px;
        width: 58px;
    }
}
@keyframes senderVerifyCheckDraw {
    to {
        stroke-dashoffset: 0;
    }
}
@keyframes senderVerifyCrossDraw {
    to {
        stroke-dashoffset: 0;
    }
}
@media (prefers-reduced-motion: reduce) {
    .sender-verify-status-success,
    .sender-verify-status-error,
    .sender-verify-status-success::after,
    .sender-verify-status-error::after,
    .sender-verify-status-circle,
    .sender-verify-status-path,
    .sender-verify-status-cross-line {
        animation: none !important;
    }
    .sender-verify-status-success,
    .sender-verify-status-error {
        opacity: 1;
        transform: none;
    }
    .sender-verify-status-success::after,
    .sender-verify-status-error::after {
        display: none;
    }
    .sender-verify-status-circle,
    .sender-verify-status-path,
    .sender-verify-status-cross-line {
        stroke-dashoffset: 0;
    }
}
.popup-display-rules-drawer {
    box-shadow: -12px 0 32px rgba(15, 23, 42, 0.12);
    z-index: 1105 !important;
}

.popup-display-rules-shell {
    min-height: 100%;
}

.popup-display-rules-close {
    background: transparent !important;
    color: var(--bs-gray-700, #4B5675);
}

.popup-display-rules-close i {
    color: inherit;
}

.popup-display-rules-close:hover,
.popup-display-rules-close:focus {
    background: transparent !important;
    color: var(--bs-primary, #4ba7ee);
}

.popup-display-rules-close:hover i,
.popup-display-rules-close:focus i {
    color: var(--bs-primary, #4ba7ee) !important;
}

.popup-display-rules-body textarea {
    resize: vertical;
}

.popup-rules-rule-card {
    background: var(--bs-gray-100);
    border: 1px solid var(--bs-gray-200);
}

.popup-rules-summary-content {
    flex: 1 1 auto;
    min-width: 0;
}

.popup-rules-summary-text {
    line-height: 1.45;
    max-width: 78ch;
}

.popup-rules-open-drawer {
    flex: 0 0 auto;
    min-height: 44px;
}

#text_accordion .builder-text-search {
    width: 100%;
    flex-basis: 100%;
}

#text_accordion .builder-text-search-empty {
    border: 1px dashed var(--bs-gray-300);
    border-radius: var(--bs-border-radius);
    background: var(--bs-gray-100);
}

@media (max-width: 991.98px) {
    .popup-rules-summary-text {
        max-width: none;
    }

    .popup-rules-open-drawer {
        width: 100%;
    }
}

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

.participant-import-modal.d-none {
    display: none !important;
}

.participant-import-modal .d-none {
    display: none !important;
}

.participant-import-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 24, 39, 0.44);
}

.participant-import-dialog {
    position: relative;
    width: min(640px, 100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-gray-200);
    border-radius: 8px;
    box-shadow: 0 20px 55px rgba(15, 23, 42, 0.22);
}

.participant-import-header,
.participant-import-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--bs-gray-200);
}

.participant-import-footer {
    border-top: 1px solid var(--bs-gray-200);
    border-bottom: 0;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}

.participant-import-footer .btn {
    min-width: 150px;
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.participant-import-title {
    margin: 0;
    color: var(--bs-gray-900);
    font-size: 18px;
    font-weight: 700;
}

.participant-import-subtitle,
.participant-import-help {
    color: var(--bs-gray-600);
    font-size: 13px;
    line-height: 1.45;
}

.participant-import-body {
    display: grid;
    gap: 16px;
    padding: 20px;
}

.participant-import-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
}

.participant-import-file,
.participant-import-check,
.participant-import-options {
    display: grid;
    gap: 8px;
    margin: 0;
}

.participant-import-options {
    gap: 10px;
}

.participant-import-uploadcare {
    display: grid;
    gap: 10px;
}

.participant-import-upload-status {
    min-height: 18px;
}

.participant-import-selected-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid rgba(var(--bs-primary-rgb), 0.25);
    border-radius: 8px;
    background: rgba(var(--bs-primary-rgb), 0.06);
}

.participant-import-selected-main {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: var(--bs-gray-900);
    font-size: 13px;
    font-weight: 700;
}

.participant-import-selected-main i {
    color: var(--bs-primary);
}

.participant-import-selected-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.participant-import-replace-file {
    flex: 0 0 auto;
    font-size: 12px;
    font-weight: 700;
}

.participant-import-check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--bs-gray-800);
    font-size: 13px;
}

.participant-import-check .form-check-input {
    flex: 0 0 auto;
    margin-top: 2px;
}

.participant-import-check .form-check-label {
    color: var(--bs-gray-800);
    font-size: 13px;
    line-height: 1.45;
    padding-top: 2px;
}

.participant-import-label,
.participant-import-status-title {
    color: var(--bs-gray-800);
    font-size: 13px;
    font-weight: 700;
}

.participant-import-icon-btn {
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 6px;
    background: transparent !important;
    color: var(--bs-gray-700);
}

.participant-import-icon-btn:hover,
.participant-import-icon-btn:focus {
    background: transparent !important;
    color: var(--bs-primary, #4ba7ee);
}

.participant-import-icon-btn i {
    color: inherit;
}

.participant-import-icon-btn:hover i,
.participant-import-icon-btn:focus i {
    color: var(--bs-primary, #4ba7ee) !important;
}

.participant-import-status {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--bs-gray-200);
    border-radius: 8px;
    background: var(--bs-gray-100);
}

.participant-import-result-head {
    display: grid;
    grid-template-columns: 35px 1fr;
    gap: 10px;
    align-items: start;
}

.participant-import-result-icon {
    width: 35px;
    height: 35px;
}

.participant-import-result-icon .symbol-label {
    width: 35px;
    height: 35px;
}

.participant-import-status-summary {
    margin-top: 2px;
    color: var(--bs-gray-600);
    font-size: 12px;
    line-height: 1.4;
}

.participant-import-count-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.participant-import-count-card {
    min-width: 0;
    padding: 10px;
    border: 1px solid var(--bs-gray-200);
    border-radius: 8px;
    background: var(--bs-body-bg);
}

.participant-import-count-card span,
.participant-import-status-grid span {
    display: block;
    color: var(--bs-gray-600);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
}

.participant-import-count-card strong {
    display: block;
    margin-top: 4px;
    color: var(--bs-gray-900);
    font-size: 14px;
    line-height: 1.2;
}

.participant-import-progress {
    position: relative;
    height: 6px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--bs-gray-300);
}

.participant-import-progress-bar {
    position: absolute;
    height: 100%;
    width: 38%;
    min-width: 38%;
    border-radius: inherit;
    background: var(--bs-primary);
    animation: participantImportProgress 1.25s ease-in-out infinite;
}

.participant-import-status-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 6px 12px;
    font-size: 13px;
}

.participant-import-status-error {
    color: var(--bs-danger);
    font-size: 13px;
}

.participant-import-status-success {
    border-color: rgba(var(--bs-success-rgb), 0.35);
    background: rgba(var(--bs-success-rgb), 0.08);
}

.participant-import-status-warning {
    border-color: rgba(var(--bs-warning-rgb), 0.45);
    background: rgba(var(--bs-warning-rgb), 0.1);
}

.participant-import-status-danger {
    border-color: rgba(var(--bs-danger-rgb), 0.35);
    background: rgba(var(--bs-danger-rgb), 0.08);
}

.participant-import-status-error-only {
    border-color: rgba(var(--bs-danger-rgb), 0.35);
    background: rgba(var(--bs-danger-rgb), 0.08);
}

.participant-import-status-error-only .participant-import-status-title {
    color: var(--bs-danger);
}

.participant-import-modal.participant-import-status-mode .participant-import-setup-section,
.participant-import-modal.participant-import-status-mode .participant-import-submit {
    display: none !important;
}

.participant-import-modal.participant-import-status-mode .participant-import-footer {
    justify-content: flex-end;
}

.participant-import-modal:not(.participant-import-status-mode) .participant-import-footer-history {
    display: none !important;
}

.participant-import-modal.participant-import-status-mode .participant-import-status {
    display: grid !important;
}

.participant-import-modal.participant-import-status-mode .participant-import-footer-close {
    min-width: 110px;
}

.participant-import-failure-list {
    display: grid;
    gap: 6px;
    margin-top: 2px;
}

.participant-import-failure-row {
    color: var(--bs-danger);
    font-size: 12px;
    line-height: 1.4;
}

@keyframes participantImportProgress {
    0% {
        left: -42%;
    }

    100% {
        left: 104%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .participant-import-progress-bar {
        animation: none;
        left: 0;
        width: 100%;
        opacity: 0.55;
    }
}

@media (max-width: 575.98px) {
    .participant-import-modal {
        padding: 12px;
    }

    .participant-import-header,
    .participant-import-footer {
        padding: 14px 16px;
    }

    .participant-import-body {
        padding: 16px;
    }

    .participant-import-count-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .participant-import-footer .btn {
        flex: 1 1 auto;
    }
}

.participant-import-account-list {
    display: grid;
    gap: 10px;
}

.participant-import-account-item {
    border: 1px solid var(--bs-gray-200);
    border-radius: 8px;
    overflow: hidden;
}

.participant-import-account-summary {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(260px, 2fr);
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    border: 0;
    background: var(--bs-body-bg);
    text-align: left;
}

.participant-import-account-summary:hover {
    background: var(--bs-gray-100);
}

.participant-import-account-main {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.participant-import-account-title {
    color: var(--bs-gray-900);
    font-weight: 700;
}

.participant-import-account-meta,
.participant-import-account-counts {
    color: var(--bs-gray-600);
    font-size: 12px;
}

.participant-import-account-counts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    justify-content: flex-end;
    align-items: center;
}

.participant-import-account-detail {
    padding: 14px 16px;
    border-top: 1px solid var(--bs-gray-200);
    background: var(--bs-gray-100);
}

.participant-import-account-failure-summary,
.participant-import-account-failure-rows {
    display: grid;
    gap: 8px;
    font-size: 12px;
}

.participant-import-account-failure-row {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    color: var(--bs-danger);
}

@media (max-width: 767px) {
    .participant-import-account-summary {
        grid-template-columns: 1fr;
    }

    .participant-import-account-counts {
        justify-content: flex-start;
    }
}

/* Account/User settings pages: white form fields with gray-300 border (also covers modals declared outside the content container) */
body:has(.account-settings-tabs) .form-control-solid,
body:has(.account-settings-tabs) .form-select-solid,
body:has(.user-settings-tabs) .form-control-solid,
body:has(.user-settings-tabs) .form-select-solid {
    background-color: #fff;
    border-color: var(--bs-gray-300);
}

body:has(.account-settings-tabs) .form-control-solid:focus,
body:has(.account-settings-tabs) .form-control-solid.focus,
body:has(.account-settings-tabs) .form-control-solid:active,
body:has(.account-settings-tabs) .form-control-solid.active,
body:has(.account-settings-tabs) .form-select-solid:focus,
body:has(.account-settings-tabs) .form-select-solid.focus,
body:has(.user-settings-tabs) .form-control-solid:focus,
body:has(.user-settings-tabs) .form-control-solid.focus,
body:has(.user-settings-tabs) .form-control-solid:active,
body:has(.user-settings-tabs) .form-control-solid.active,
body:has(.user-settings-tabs) .form-select-solid:focus,
body:has(.user-settings-tabs) .form-select-solid.focus {
    background-color: #fff;
    border-color: var(--bs-gray-400);
}

/* Select2 rendered selection box on these same pages */
body:has(.account-settings-tabs) .select2-container--bootstrap5 .select2-selection.form-select-solid,
body:has(.user-settings-tabs) .select2-container--bootstrap5 .select2-selection.form-select-solid {
    background-color: #fff !important;
    border-color: var(--bs-gray-300) !important;
}

/* Account/User settings pages: match builder input border-radius (~5px) */
body:has(.account-settings-tabs) .form-control,
body:has(.account-settings-tabs) .form-select,
body:has(.account-settings-tabs) .form-control-lg,
body:has(.account-settings-tabs) .form-select-lg,
body:has(.user-settings-tabs) .form-control,
body:has(.user-settings-tabs) .form-select,
body:has(.user-settings-tabs) .form-control-lg,
body:has(.user-settings-tabs) .form-select-lg {
    border-radius: 0.475rem;
}

/* Input-group flush corners: round outer edges to 0.475rem, keep inner edges square */
body:has(.account-settings-tabs) .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback),
body:has(.user-settings-tabs) .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
body:has(.account-settings-tabs) .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu),
body:has(.user-settings-tabs) .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Select2 rendered selection radius too */
body:has(.account-settings-tabs) .select2-container--bootstrap5 .select2-selection,
body:has(.user-settings-tabs) .select2-container--bootstrap5 .select2-selection {
    border-radius: 0.475rem !important;
}
