.logo-upload-wrapper {
    cursor: pointer;
}

.logo-upload-wrapper .edit-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 11px;
    color: white;
    background: rgba(0, 0, 0, 0.5);
    padding: 13px 16px;
    border-radius: 50%;
    opacity: 0;
    transition: 0.3s ease-in-out;
}

.logo-upload-wrapper:hover .edit-icon {
    opacity: 1;
}

.logo-upload-wrapper:hover .logo-image {
    opacity: 0.6;
}


/* Change tooltip background color & text */
/* Bubble background */
.tooltip-inner {
    background-color: var(--bs-primary) !important;
    color: #fff !important;
    font-size: 10px;
}

/* Tooltip arrow color fix – Bootstrap 5 uses CSS variables */
.bs-tooltip-auto[data-popper-placement^="top"] .tooltip-arrow::before,
.bs-tooltip-top .tooltip-arrow::before {
    border-top-color: var(--bs-primary) !important;
}

.bs-tooltip-auto[data-popper-placement^="bottom"] .tooltip-arrow::before,
.bs-tooltip-bottom .tooltip-arrow::before {
    border-bottom-color: var(--bs-primary) !important;
}

.bs-tooltip-auto[data-popper-placement^="left"] .tooltip-arrow::before,
.bs-tooltip-start .tooltip-arrow::before {
    border-left-color: var(--bs-primary) !important;
}

.bs-tooltip-auto[data-popper-placement^="right"] .tooltip-arrow::before,
.bs-tooltip-end .tooltip-arrow::before {
    border-right-color: var(--bs-primary) !important;
}


.dataTables_wrapper {
    /* background: #fff; */
    padding: 20px 10px;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    margin-bottom: 20px !important;
}

.dataTables_wrapper .dataTables_length select {
    padding: 8px 12px !important;
    border-radius: 10px !important;
    background: #fff !important;
    border: 1px solid #dcdcdc !important;
    font-size: 14px !important;
    outline: none !important;
    cursor: pointer;
}

.dataTables_wrapper .dataTables_length {
    color: #555 !important;
    font-size: 15px !important;
    font-weight: 500 !important;
}

.dataTables_wrapper .dataTables_filter {
    float: right !important;
    text-align: right !important;
}

.dataTables_wrapper .dataTables_filter input {
    width: 260px !important;
    padding: 10px 16px !important;
    border-radius: 10px !important;
    border: 1.2px solid #e3e3e3 !important;
    background: #fff !important;
    font-size: 15px !important;
    color: #444 !important;
    transition: 0.25s ease !important;
    outline: none !important;
}

.dataTables_wrapper .dataTables_filter input:focus {
    border-color: #ec407a !important;
}

.dataTables_wrapper .dataTables_filter label {
    font-weight: 600;
    color: #666;
}

.dataTables_wrapper .dataTables_filter label>span {
    display: none !important;
}

@media (max-width: 768px) {

    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_length {
        float: none !important;
        text-align: left !important;
        margin-bottom: 15px !important;
    }

    .dataTables_wrapper .dataTables_filter input {
        width: 100% !important;
    }
}

table.dataTable thead th {
    background: #fbfcfd;
    padding: 16px 20px !important;
    font-size: 12px;
    font-weight: 400;
    color: #a4a5ab;
    text-transform: capitalize;
    border-bottom: 2px solid #eee !important;
}

table.dataTable tbody tr {
    transition: 0.25s ease;
}

table.dataTable tbody tr:hover {
    background: #f8f9fc !important;
}

table.dataTable tbody td {
    padding: 14px 20px !important;
    color: #4a4a4a;
    font-size: 12px;
    vertical-align: middle !important;
}

.table-checkbox {
    width: 20px;
    height: 20px;
    border: 2px solid #bbb;
    border-radius: 6px;
    cursor: pointer;
    transition: 0.2s ease;
    appearance: none;
    -webkit-appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.table-checkbox:checked {
    background: #ec407a;
    border-color: #ec407a;
}

/* Optional check mark */
.table-checkbox:checked::after {
    content: "✓";
    color: #fff;
    font-size: 14px;
    font-weight: bold;
}


/* -----------------------------------
   PAGINATION (Rounded Premium)
------------------------------------*/

/* Pagination Buttons */
.dataTables_paginate .paginate_button {
    margin: 5px 5px !important;
    padding: 0 !important;

    /* Force perfect circle */
    min-width: 42px !important;
    height: 42px !important;

    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;

    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;

    font-size: 12px !important;
    font-weight: 600 !important;
    color: #6c6c6c !important;

    transition: 0.25s ease;
    overflow: hidden;
    /* Fix long numbers */
}

/* Fix inner span for large numbers like “1,000” */
.dataTables_paginate .paginate_button span {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 12px;
}

.dataTables_paginate .paginate_button i {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 12px;
}

/* Hover */
.dataTables_paginate .paginate_button:hover:not(.current) {
    background: #ec407a !important;
    border-color: #ec407a !important;
    color: #fff !important;
}

/* Active Page */
.dataTables_paginate .paginate_button.current {
    background: #ec407a !important;
    border-color: #ec407a !important;
    color: #fff !important;

    font-weight: 700 !important;
}

/* Active text ALWAYS white */
.dataTables_paginate .paginate_button.current span,
.dataTables_paginate .paginate_button.current {
    color: #fff !important;
}

/* Fix ellipsis ("...") spacing */
.dataTables_paginate .ellipsis {
    padding: 0 8px;
    color: #999;
}

/* Previous and Next arrows */
.dataTables_paginate .paginate_button.previous,
.dataTables_paginate .paginate_button.next {
    font-size: 20px !important;
    font-weight: 500 !important;
}

/* FORCE current number text to always be white */
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current span,
.dataTables_wrapper .dataTables_paginate .paginate_button.current>*,
.dataTables_wrapper .dataTables_paginate .paginate_button.current a {
    color: #fff !important;
    fill: #fff !important;
    /* for SVG arrows */
}



/* -----------------------------------
   INFO TEXT
------------------------------------*/
.dataTables_wrapper .dataTables_info {
    margin-top: 12px;
    color: #6c757d;
    font-weight: 500;
    font-size: 13px;
}

/* -----------------------------------
   MOBILE RESPONSIVE
------------------------------------*/
@media (max-width: 575px) {

    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_length {
        float: none !important;
        text-align: left;
        margin-bottom: 15px;
    }

    .dataTables_wrapper .dataTables_filter input {
        width: 100% !important;
    }

    .dataTables_wrapper .dataTables_info {
        width: 100%;
        align-items: center;
    }

    .dataTables_wrapper .justify-content-between {
        flex-wrap: wrap !important;
    }

}

/* Positioning container */
.dataTables_processing {
    background: rgba(255, 255, 255, 0.7) !important;
    color: #ec407a !important;
    border-radius: 12px !important;
    padding: 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    z-index: 9999 !important;
}

/* Adjust inner animation wrapper */
.dataTables_processing>div {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
}

/* The 4 animated dots */
.dataTables_processing>div>div {
    width: 13px !important;
    height: 13px !important;
    background: #ec407a !important;
    /* YOUR THEME COLOR */
    border-radius: 50% !important;
    animation: dt-bounce 0.8s infinite alternate;
}

/* Delay each bounce which creates the wave effect */
.dataTables_processing>div>div:nth-child(1) {
    animation-delay: 0s;
}

.dataTables_processing>div>div:nth-child(2) {
    animation-delay: 0.2s;
}

.dataTables_processing>div>div:nth-child(3) {
    animation-delay: 0.4s;
}

.dataTables_processing>div>div:nth-child(4) {
    animation-delay: 0.6s;
}

.dataTables_processing>div>div:nth-child(5) {
    animation-delay: 0.8s;
}

/* Bounce animation */
@keyframes dt-bounce {
    from {
        transform: translateY(0);
        opacity: 0.6;
    }

    to {
        transform: translateY(-8px);
        opacity: 1;
    }
}


/* MULTISTEP FORMS */

.choices .choices__list {
    background: no-repeat bottom, 50% calc(100% - 1px);
    background-size: 0 100%, 100% 100%;
    transition: .2s ease
}

.choices .choices__list.choices__list--single .choices__item--selectable {
    margin-bottom: .5rem
}

.choices .choices__list.choices__list--single,
.choices .choices__list.choices__list--single:focus {
    background-image: linear-gradient(0deg, #e91e63 2px, rgba(156, 39, 176, 0) 0), linear-gradient(0deg, #d2d2d2 1px, hsla(0, 0%, 82%, 0) 0)
}

.choices .choices__list.choices__list--dropdown {
    background: #fff
}

.choices.is-focused .choices__list {
    background-size: 100% 100%, 100% 100%
}

.border-right-after:after {
    content: "";
    position: absolute;
    right: 0;
    top: 3vh;
    height: 70%;
    width: 50%;
    border-right: 1px solid #dee2e6
}


.multisteps-form__progress {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr))
}

.multisteps-form__progress-btn {
    transition-property: all;
    transition-duration: .15s;
    transition-timing-function: linear;
    transition-delay: 0s;
    position: relative;
    padding-top: 20px;
    color: hsla(0, 0%, 100%, .4);
    text-transform: uppercase;
    font-weight: 500;
    font-size: .75rem;
    text-indent: -9999px;
    border: none;
    background-color: transparent;
    outline: none !important;
    cursor: pointer
}

@media (min-width:500px) {
    .multisteps-form__progress-btn {
        text-indent: 0
    }
}

.multisteps-form__progress-btn:before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 13px;
    height: 13px;
    content: "";
    transform: translateX(-50%);
    transition: all .15s linear 0s, transform .15s cubic-bezier(.05, 1.09, .16, 1.4) 0s;
    border: 2px solid hsla(0, 0%, 100%, 0);
    border-radius: 50%;
    background-color: #d4d4d4;
    box-sizing: border-box;
    z-index: 3
}

.bg-gradient-primary .multisteps-form__progress-btn:before {
    background-color: #f48aaa
}

.bg-gradient-success .multisteps-form__progress-btn:before {
    background-color: #9ed1a0
}

.bg-gradient-danger .multisteps-form__progress-btn:before {
    background-color: #f79592
}

.bg-gradient-warning .multisteps-form__progress-btn:before {
    background-color: #ffc483
}

.bg-gradient-info .multisteps-form__progress-btn:before {
    background-color: #88d9e4
}

.bg-gradient-dark .multisteps-form__progress-btn:before {
    background-color: #848486
}

.bg-gradient-secondary .multisteps-form__progress-btn:before {
    background-color: #a4a9b2
}

.bg-gradient-light .multisteps-form__progress-btn:before {
    background-color: #ebeef1
}

.multisteps-form__progress-btn:after {
    position: absolute;
    top: 5px;
    left: calc(-50% - 6.5px);
    transition-property: all;
    transition-duration: .15s;
    transition-timing-function: linear;
    transition-delay: 0s;
    display: block;
    width: 100%;
    height: 2px;
    content: "";
    background-color: currentColor;
    z-index: 1
}

.multisteps-form__progress-btn:first-child:after {
    display: none
}

.multisteps-form__progress-btn.js-active {
    color: #fff
}

.multisteps-form__progress-btn.js-active span {
    color: hsla(0, 0%, 100%, .7)
}

.multisteps-form__progress-btn.js-active:before {
    transform: translateX(-50%) scale(1.2);
    background-color: currentColor
}

.multisteps-form__form {
    position: relative
}

.multisteps-form__panel {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    opacity: 0;
    visibility: hidden
}

.multisteps-form__panel.js-active {
    height: auto;
    opacity: 1;
    visibility: visible
}

.multisteps-form__panel[data-animation=scaleIn] {
    transform: scale(.9)
}

.multisteps-form__panel[data-animation=scaleIn].js-active {
    transition-property: all;
    transition-duration: .2s;
    transition-timing-function: linear;
    transition-delay: 0s;
    transform: scale(1)
}

.multisteps-form__panel .multisteps-form__content .btn-check:active+.btn-outline-primary,
.multisteps-form__panel .multisteps-form__content .btn-check:checked+.btn-outline-primary,
.multisteps-form__panel .multisteps-form__content .btn-outline-primary:active {
    color: #fff
}

.multisteps-form__panel .multisteps-form__content .is-filled .btn:hover,
.multisteps-form__panel .multisteps-form__content .is-filled.is-focused .btn:hover,
.multisteps-form__panel .multisteps-form__content .is-focused .btn:hover {
    color: #e91e63 !important
}

.multisteps-form__panel .multisteps-form__content .btn i {
    font-size: 2rem
}

/* Pipeline section */
.pipeline-section {
    padding: 12px 14px;
    background: #fafafa;
    border-radius: 12px;
    border: 1px solid #eee;
}

/* Header above pipeline */
.pipeline-header {
    display: flex;
    flex-direction: column;
    margin-bottom: 8px;
}

/* Title */
.pipeline-title {
    font-weight: 600;
    font-size: 14px;
    color: #333;
}

/* Helper text */
.pipeline-help {
    font-size: 12px;
    color: #777;
}


/* Wrapper */
.service-pipeline-wrapper {
    padding: 8px;
    border-radius: 40px;
    /* background: #f2f2f2; */
    overflow-x: auto;
}

/* Pipeline */
.service-pipeline {
    display: flex;
    gap: 1px;
    min-width: max-content;
    overflow: hidden;
}

/* Step */
.pipeline-step {
    position: relative;
    flex: 1;
    padding: 6px 18px;
    text-align: center;
    cursor: pointer;
    min-width: 90px;
    margin: 0 3px;
}

/* Label */
.pipeline-step .step-label {
    position: relative;
    z-index: 2;
    font-weight: 600;
    font-size: 12px;
    color: #fff;
    white-space: nowrap;
}

/* Arrow layers (NO SEAM FIX APPLIED) */
.pipeline-step::before,
.pipeline-step::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 51%;
    background: #4c4747;
    z-index: 1;
}

/* Top */
.pipeline-step::before {
    top: 0;
    transform: skew(20deg);
    border-radius: 6px 6px 0 0;
}

/* Bottom */
.pipeline-step::after {
    bottom: 0;
    transform: skew(-20deg);
    border-radius: 0 0 6px 6px;
}

/* Active step */
.pipeline-step.active::before,
.pipeline-step.active::after {
    background: #e91e63;
}

.pipeline-step.complete::before,
.pipeline-step.complete::after {
    background: #176710;
}

/* Hover */
.pipeline-step:hover::before,
.pipeline-step:hover::after {
    background: #e91e63;
}

/* First step – flat left */
.pipeline-step:first-child::before,
.pipeline-step:first-child::after {
    left: 8%;
    width: 92%;
}

/* Last step – flat right */
.pipeline-step:last-child::before,
.pipeline-step:last-child::after {
    width: 100%;
}

/* Mobile */
@media (max-width: 768px) {
    .pipeline-step {
        padding: 6px 14px;
        min-width: max-content;
    }

    .pipeline-step .step-label {
        font-size: 10px !important;
    }
}



.crm-timeline-item,
.crm-followup-item,
.crm-task-item {
    display: flex;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px dashed #e9ecef;
}

.crm-icon {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.crm-content,
.crm-followup-content,
.crm-task-content {
    flex: 1;
}

.crm-title {
    font-weight: 600;
    font-size: 14px;
}

.crm-text {
    font-size: 13px;
    color: #555;
    margin-top: 2px;
}

.crm-meta {
    font-size: 12px;
    color: #888;
    margin-top: 4px;
}

.crm-date {
    width: 48px;
    text-align: center;
    background: #f8f9fa;
    border-radius: 6px;
    padding: 6px 0;
}

.crm-date .day {
    font-size: 16px;
    font-weight: 700;
}

.crm-date .month {
    font-size: 11px;
    text-transform: uppercase;
    color: #666;
}