/* *# sourceMappingURL=custom.min.css.map */
:root {
    /* --vz-dark-primary-rgb: 152, 16, 250;
    --vz-light-primary-rgb: 130, 0, 219;
    --vz-secondary-rgb: 55, 42, 172;

    --sidebar-opacity: 0.9; */

    /* /////////////////////////////////////// */
    --vz-dark-primary-color: #9810fa;
    --vz-light-primary-color: #8200db;
    --vz-secondary-color: #372aac;

    --vz-light-opacity-primary-color: #ad47fe1a;
    --vz-dark-opacity-primary-color: #ad47fe4a;

    --vz-border-color-primary: #e9d4ff;
    --vz-text-color: #fff;
    --vz-text-color-blue: #4f39f6;

    --vz-border-bg-color: #f3e8ff;
    --vz-secondary-border-color: #e5e7eb;

    --sidebar-opacity: 0.9;
    --btn-pagination-gradient: linear-gradient(
        90deg,
        var(--vz-dark-primary-color) 0%,
        var(--vz-light-primary-color) 100%
    );

    /* /////////////////////////////////// */

    --vz-bg-color: #faf5ff;
    --vz-bg-color-gradient: #fff7ed;

    --vz-text-color: #fff;
    --vz-input-bg-color: #f5f6fa;

    --vz-card-color: #fff;
    --vz-card-shadow: #0000001a;
    --vz-card-border-color: #faf5ff;

    --vz-icon-bg-color: rgba(178, 82, 234, 0.2);
    --vz-vertical-menu-bg-dark: #a500ff;
    --vz-vertical-menu-bg-dark-opacity: #ffffff00;

    --vz-input-border: #b252ea;

    /* ///////////////////////////////////////// */

    --vz-input-focus-border: #919da9;

    --vz-input-focus-bg: #f2f2f2;
    --vz-vertical-menu-item-color-dark: #fff;
    --vz-vertical-menu-title-color-dark: #e9f2ff;

    --vz-body-bg: #fff;

    /*--vz-topbar-user-bg: #dbe0e9;*/

    --vz-border-color: #cfd5df80;
    --vz-modal-color: #3f3f3f;
    --vz-link-color: var(--vz-light-primary-color);
    --vz-btn-active-color: #fff;
    --vz-primary-rgb: 15, 54, 181;
}

.bg-dark-primary {
    background-color: var(--vz-light-primary-color);
}
.bg-light-primary {
    background-color: var(--vz-dark-opacity-primary-color);
}
:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar="dark"]
    .navbar-menu {
    background: linear-gradient(
        135deg,
        var(--vz-dark-primary-color),
        var(--vz-light-primary-color),
        var(--vz-secondary-color)
    );
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar="dark"]
    .navbar-nav
    .nav-link {
    color: var(--vz-vertical-menu-item-color-dark);
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar="dark"]
    .menu-title {
    color: var(--vz-vertical-menu-title-color-dark);
}
table {
    /* border-radius: 16px;
    border: 2px solid var(--vz-border-color-primary);
    background: #fff;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1); */
}

thead.table-light {
    background: linear-gradient(
        135deg,
        var(--vz-dark-primary-color),
        var(--vz-light-primary-color),
        var(--vz-secondary-color)
    ) !important;
}

/* 2. MAKE CELLS TRANSPARENT (Crucial Step) */
/* This removes the solid color 'stickers' that block the gradient */
thead.table-light th {
    background-color: transparent !important;
    background-image: none !important;
    color: white !important; /* Change text color to white for better contrast */
    border: none !important; /* Removes lines that break the gradient visual */
    padding-top: 15px;
    padding-bottom: 15px;
}

/* 3. Ensure the framework doesn't add a background to the row */
thead.table-light tr {
    /* background-color: transparent !important; */
}
.page-link {
    /* color: var(--vz-li); */
    border-radius: 14px;
    border: 1.493px solid var(--vz-light-primary-color);
    background: #fff;
    margin-right: 5px;
}

.btn-primary {
    color: #fff !important;
    background: linear-gradient(
        135deg,
        var(--vz-dark-primary-color),
        var(--vz-light-primary-color),
        var(--vz-secondary-color)
    ) !important;
    border-radius: 25px;
    border: none !important;
}

/* Override ONLY the variables */
.btn-outline-primary {
    --vz-btn-color: var(--vz-light-primary-color); /* text */
    --vz-btn-border-color: var(--vz-light-primary-color); /* normal border */
    --vz-btn-hover-color: #ffffff; /* hover text */
    --vz-btn-hover-bg: var(--vz-light-primary-color); /* hover bg */
    --vz-btn-hover-border-color: var(
        --vz-light-primary-color
    ); /* hover border */
    --vz-btn-active-color: #ffffff; /* active text */
    --vz-btn-active-bg: var(--vz-light-primary-color); /* active bg */
    --vz-btn-active-border-color: var(
        --vz-light-primary-color
    ); /* active border */
    --vz-btn-focus-shadow-rgb: 165, 0, 255;
    border-radius: 20px;
}

.them-color {
    /* font-family: Inter; */
    font-size: 24px !important;
    font-style: normal;
    font-weight: 700;
    line-height: 32px; /* 133.333% */
    letter-spacing: 0.07px;

    background: linear-gradient(
        90deg,
        var(--vz-light-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.them-color-small {
    /* font-family: Inter; */
    font-size: 16px !important;
    font-style: normal;
    font-weight: 700;
    line-height: 32px; /* 133.333% */
    letter-spacing: 0.07px;

    background: linear-gradient(
        90deg,
        var(--vz-light-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.login-heading {
    /* font-family: Inter; */
    font-size: 20px !important;
    font-style: normal;
    font-weight: 700;
    line-height: 32px; /* 133.333% */
    letter-spacing: 0.07px;

    background: linear-gradient(
        90deg,
        var(--vz-light-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.thems-card {
    /* -webkit-box-shadow: 0 5px 4px #dce1ea; */
    border-radius: 16px;
    border: 2px solid var(--vz-border-color-primary);
    background: #fff;
    box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

table.dataTable {
    margin-top: unset !important;
    /* min-height: 300px; */
}

.btn-label .label-icon {
    background-color: transparent;
}

.btn-label {
    padding-left: inherit;
}

.page-title-box {
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: transparent;
}

/* .form-label {
    font-weight: bold;
    color: #000;
} */

.form-control {
    border: 2px solid var(--vz-border-color-primary);
    padding: 5px;
}

.material-shadow-none {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form-control:focus {
    border: 2px solid var(--vz-light-primary-color);
}

.dataTables_processing {
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: transparent;
}

.bg-info-subtle {
    background-color: var(--vz-modal-color);
}

.parsley-errors-list {
    list-style: none;
    padding-left: 0 !important;
}

.parsley-required {
    color: #ff5f00;
    font-weight: 600;
}

.parsley-type {
    color: #ff5f00;
    font-weight: 600;
}

.dataTables_length label {
    font-weight: bold !important;
}

.dataTables_filter label {
    font-weight: bold !important;
}

.table-card div.dataTables_wrapper .col-md-6 {
    width: 50%;
}

.dataTables_info {
    font-weight: bold !important;
    color: var(--vz-light-primary-color);
    margin-top: 10px;
}

.parsley-custom-error-message {
    color: #ff5f00;
    font-weight: 600;
}

.parsley-maxlength {
    color: #ff5f00;
    font-weight: 600;
}

.choices__list {
    z-index: 9999 !important;
}
.choices__inner {
    border: 2px solid var(--vz-border-color-primary);
    padding: 8px;
    padding-left: 8px;
    border-radius: 8px !important;
}

.choices[data-type*="select-multiple"] .choices__inner,
.choices[data-type*="text"] .choices__inner {
    cursor: text;
    padding: 8px !important;
    padding-left: 8px !important;
    border-radius: 8px !important;
}

/* Keep selected Choices chips visually stable on click/focus (global fix). */
.choices[data-type*="select-multiple"] .choices__list--multiple .choices__item,
.choices[data-type*="text"] .choices__list--multiple .choices__item,
.choices[data-type*="select-multiple"] .choices__list--multiple .choices__item.is-highlighted,
.choices[data-type*="text"] .choices__list--multiple .choices__item.is-highlighted,
.choices[data-type*="select-multiple"] .choices__list--multiple .choices__item:focus,
.choices[data-type*="text"] .choices__list--multiple .choices__item:focus,
.choices[data-type*="select-multiple"] .choices__list--multiple .choices__item.is-selected,
.choices[data-type*="text"] .choices__list--multiple .choices__item.is-selected {
    background-color: var(--vz-light-primary-color) !important;
    border-color: var(--vz-dark-opacity-primary-color) !important;
    color: #fff !important;
}

[data-filepond-item-state*="error"] .filepond--file-wrapper,
[data-filepond-item-state*="load-invalid"] .filepond--file-wrapper,
[data-filepond-item-state*="invalid"] .filepond--file-wrapper {
    background-color: red;
}

.topbar-user {
    background-color: unset !important;
}

.char-count-display {
    background-color: #777;
    margin-top: -20px;
    margin-right: 5px;
}

.campaign-title {
    word-wrap: break-word;
    white-space: normal;
    overflow: visible;
}

/*****************/

.table > :not(caption) > * > * {
    padding: 0.75rem 0.6rem;
    border-bottom-width: 0px;
}

.page-content {
    padding-bottom: 30px !important;

    /* Diagonal gradient: top-left to bottom-right */
    background: linear-gradient(
        320deg,
        /* angle: 45° for both top→bottom and left→right */ var(--vz-bg-color),
        var(--vz-bg-color-gradient)
    ) !important;
    min-height: 100vh;
}

.navbar-header {
    /* padding-bottom: 30px !important; */

    /* Diagonal gradient: top-left to bottom-right */
    background: linear-gradient(
        320deg,
        /* angle: 45° for both top→bottom and left→right */ var(--vz-bg-color),
        var(--vz-bg-color-gradient)
    );
}
@media (min-width: 768px) {
    :is(
        [data-layout="vertical"],
        [data-layout="semibox"]
    )[data-sidebar-size="sm"] {
        min-height: 100vh;
    }
}

.navbar-nav {
    position: relative;
    z-index: 100;
}

.rounded-button {
    border-radius: 10px;
}

.custom-rounded {
    border-radius: 10px;
    height: 35px;
}

.navbar-menu:not(:hover) .navbar-nav {
    width: 55px;
    margin: 0 auto;
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar-size="sm"]
    .navbar-menu
    .navbar-nav
    .nav-link
    span {
    white-space: nowrap;
    font-size: 13px;
}

div#scrollbar {
    z-index: 100;
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar-size="sm"]
    .navbar-menu {
    position: fixed;
}

.app-menu.navbar-menu {
    z-index: 9999;
    transition: all 0.5s ease-out;
    height: 100vh;
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar-size="sm"]
    .navbar-menu
    .navbar-nav
    .nav-item.nav-active
    > a.menu-link {
    background-color: white;
    color: white;
}

.navbar-menu .navbar-nav .nav-item > a.menu-link .nav-icon img {
    height: 15px;
    width: 15px;
}

.navbar-menu .navbar-nav .nav-item > a.menu-link .nav-icon i {
    font-size: 18px;
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar-size="sm"]
    .navbar-menu:hover {
    width: 200px !important;
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar-size="sm"]
    .navbar-menu
    .navbar-nav
    .nav-item.nav-active {
    margin-bottom: 10px;
    color: white;
}

:is(
        [data-layout="vertical"],
        [data-layout="semibox"]
    )[data-sidebar="dark"][data-sidebar-size="sm"]
    .navbar-menu
    .navbar-nav
    .nav-item:hover
    > .menu-dropdown {
    display: none;
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar-size="sm"]
    .navbar-menu
    .navbar-nav
    .nav-item:hover
    > a.menu-link:after {
    display: none;
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar-size="sm"]
    .navbar-menu:not(:hover)
    .navbar-nav
    .nav-item.nav-active
    > a.menu-link
    .nav-icon {
    background: #fff;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: white;
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar-size="sm"]
    .navbar-menu
    .navbar-nav
    .nav-item:hover
    > a.menu-link {
    width: 100%;
}

.navbar-menu .navbar-nav .nav-item > a.menu-link {
    width: 100%;
    display: flex;
    align-items: center;
    text-align: center;
    padding: 5px;
}

.navbar-menu .navbar-nav .nav-item {
    padding: 0 10px;
}

.navbar-menu .navbar-nav .nav-item > a.menu-link span,
.navbar-menu .navbar-nav .nav-item > a.menu-link:hover span {
    padding-left: 10px !important;
}

.navbar-menu:hover
    .navbar-nav
    .nav-item
    > a.menu-link:hover
    .nav-icon
    .nav-normal {
    display: none;
}

.navbar-menu .navbar-nav .nav-item > a.menu-link .nav-icon {
    width: 24px;
    height: 25px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.navbar-menu:hover .navbar-nav .nav-item > a.menu-link {
    border-radius: 30px;
}

.navbar-menu .navbar-nav .nav-item:hover > a.menu-link {
    background-color: #fff !important;
}

.navbar-menu .navbar-nav .nav-item:hover > a.menu-link span,
.navbar-menu .navbar-nav .nav-item:hover > a.menu-link .nav-icon i,
.navbar-menu .navbar-nav .nav-item.nav-active > a.menu-link span {
    /* color: var(--vz-vertical-menu-bg-dark); */
    color: var(--vz-light-primary-color);
}

.navbar-menu .navbar-nav .nav-item.nav-active a {
    /* background: var(--vz-primary-color-gradient); */
    border-radius: 30px;
    background-color: #ffffff;
}

.navbar-menu .navbar-nav .simplebar-content li {
    margin-bottom: 5px;
}

/*
.navbar-menu .navbar-nav .nav-item.nav-active >a.menu-link .nav-icon .nav-normal{
	display:none;
}

.navbar-menu .navbar-nav .nav-item .nav-title {
    opacity:0;
    visibility:hidden;
    position: absolute;
    top: -24px;
    font-size: 12px;
    background: #3f3f3f;
    border:1px solid #cfd5df;
    white-space: nowrap;
    border-radius: 4px;
    padding: 4px 8px !important;
    left: 10px;
    display: block;
    z-index: 100;
}
    */

.navbar-menu .navbar-nav .nav-item .nav-title {
}

:is([data-layout="vertical"], [data-layout="semibox"])[data-sidebar-size="sm"]
    .navbar-menu:hover
    .navbar-nav
    .nav-link
    span {
    display: block;
}

.navbar-menu .navbar-nav .nav-item:hover .nav-title {
    /* visibility: visible; */
    /* opacity: 1; */
}

.navbar-menu .navbar-nav .nav-item .nav-hover {
    position: absolute;
    visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.navbar-menu .navbar-nav .nav-item:hover .nav-hover,
.navbar-menu .navbar-nav .nav-item.nav-active .nav-hover {
    visibility: visible;
}

.nav-hover {
    color: var(--vz-light-primary-color);
}

.header-search {
    /* background: var(--vz-input-bg-color); */
    /* max-width: 350px; */
    display: none;
}

.header-search form input {
    padding: 0 5px;
    display: none;
}

.header-search form input::placeholder {
    color: #3f3f3f;
}

.header-notification > button {
    background: var(--vz-input-border);
    height: 48px;
    width: 48px;
    min-width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-notification > button.active-dot:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 8px;
    /* background: var(--vz-vertical-menu-bg-dark); */
    position: absolute;
    top: 3px;
    right: -1px;
}

button#page-header-user-dropdown {
    background: var(--vz-dark-opacity-primary-color);
    /* background: linear-gradient(
        135deg,
        var(--vz-dark-primary-color),
        var(--vz-light-primary-color),
        var(--vz-secondary-color)
    ) !important; */
    /* color: white; */
    border-radius: 30px;
    padding: 3.5px 10px 3.5px 3px;
}

button#page-header-user-dropdown > span:after {
    display: inline-block;
    margin-left: 10px;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.5em solid var(--vz-primary-color);
    border-right: 0.5em solid transparent;
    border-bottom: 0;
    border-left: 0.5em solid transparent;
}

.navbar-header .user-name-text {
    color: var(--vz-primary-color);
}

.header-profile-user {
    height: 27px;
    width: 27px;
}

.header-notification .dropdown-menu {
    background: var(--vz-vertical-menu-title-color-dark);
    max-width: 500px;
    min-width: 500px;
}

.notification-item {
    padding-top: 25px;
    padding-bottom: 25px;
    gap: 30px;
    border-radius: 6px;
}

.notification-item h4 {
    font-size: 20px;
    color: #323232;
}

.notification-item h4 span {
    color: #8c8c8c;
}

.notification-item h6 {
    font-size: 12px;
    color: #343434;
}

.unread-notification {
    background: #ffffff;
}

.subpage-nav {
    background-color: #fff;
}

.thems-card .dataTables_wrapper > .row:first-child > div:first-child {
    min-height: 58vh;
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination {
    justify-content: start;
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination li:first-child a,
div.dataTables_wrapper div.dataTables_paginate ul.pagination li:last-child a {
    color: var(--vz-light-primary-color);
    border: 1.5px solid var(--vz-light-primary-color);

    border-radius: 14px;
    background: var(-btn-pagination-gradient);
    box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination li:last-child {
    margin-left: auto;
}

div.dataTables_wrapper div.dataTables_paginate ul.pagination li:nth-child(2) {
    margin-left: auto;
}

.page-item.active .page-link {
    /* background: var(--vz-vertical-menu-bg-dark);
    border-radius: 10px;
    padding-left: 15px;
    padding-right: 15px;
    border-color: 1px solid var(--vz-vertical-menu-bg-dark); */

    border-radius: 14px;
    background: linear-gradient(
        90deg,
        var(--vz-dark-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.subpage-nav ul {
    list-style: none;
    padding: 15px 0px;
}

.subpage-nav li {
    padding: 5px 15px;
    position: relative;
}

.subpage-nav li a {
    padding: 0 10px;
    display: block;
    color: var(--vz-vertical-menu-bg-dark);
    font-size: 14px;
}

.subpage-nav .subpage-active-btn a {
    padding: 6px 10px;
    border-radius: 16px;
    background: linear-gradient(
        90deg,
        var(--vz-dark-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    color: #ffffff;
}

.subpage-nav #sidenav-toggle {
    z-index: 999;
}

#page-sidenav {
    transition: width 0.3s ease-in-out;
}

.navbar-brand-box {
    background: #9810fa00 !important;
}

.page-inner-content,
.page-title-box,
.subpage-nav ul {
    transition: width 0.3s ease-in-out;
}

#page-sidenav.hidden .page-title-box,
#page-sidenav.hidden .subpage-nav ul {
    width: 0;
    overflow: hidden;
    visibility: hidden;
}

#page-sidenav.hidden {
    width: 0;
    padding: 0;
}

#page-sidenav.hidden > div {
    width: 15px;
    margin-left: -15px;
    z-index: 9;
}

#page-sidenav.hidden .subpage-nav {
    border-radius: 0 10px 10px 0 !important;
}

.breadcrumb li,
.breadcrumb li a,
.breadcrumb-item.active {
    color: #b2b9c7;
}

#payment-form-validation input,
#payment-form-validation select,
#payment-form-validation textarea,
#payment-form-validation checkbox {
    color: var(--vz-light-primary-color) !important;
    border-color: #b2b9b7 !important;
    border-radius: 8px;
}

.regular {
    font-weight: 400;
}

.color-3f3f3f {
    color: #3f3f3f;
}

.color-b2b9c7 {
    color: #b2b9c7;
}

.color-1a305d {
    color: var(--vz-light-primary-color);
}

.color-909cb6 {
    color: #909cb6;
}

.color-c6cbd0 {
    color: #c6cbd0;
}

/* .tag-list span {
    background: #dbe0e9;
    display: inline-block;
    color: #3f3f3f;
    padding: 4px 12px;
    border-radius: 6px;
    font-weight: 400;
    font-size: 12px;
} */

.badge-tag-unassigned {
    background-color: #f9f9f9;
    color: #8d8d8d;
    font-weight: 400;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 6px;
    white-space: nowrap;
}

.badge-tag-unassigned i {
    font-size: 13px;
    line-height: 1;
}

form.table-search {
    border-color: var(--vz-input-bg-color) !important;
}

#profilemodal {
    width: 1020px;
    margin: 0 0 0 auto;
    height: 100vh;
}

#flowchainmodal2 {
    width: 1020px;
    margin: 0 0 0 auto;
    height: 100vh;
}

#flowchainModal3 {
    width: 1020px;
    margin: 0 0 0 auto;
    height: 100vh;
}

#flowchainmodal4 {
    width: 1020px;
    margin: 0 0 0 auto;
    height: 100vh;
}

.offcanvs-scrollbar .tab-content::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

.offcanvs-scrollbar .tab-content::-webkit-scrollbar {
    width: 12px;
}

.offcanvs-scrollbar .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

.offcanvs-scrollbar .tab-content {
    height: calc(100vh - 56px);
    overflow: auto;
    overflow-x: auto;
}

#clonePageModal {
    width: 80%;
    margin: 0 0 0 auto;
    height: 100vh;
}

#editPageModal {
    width: 80%;
    margin: 0 0 0 auto;
    height: 100vh;
}

#addProfileModal {
    width: 80%;
    margin: 0 0 0 auto;
    height: 100vh;
    z-index: 9999;
}

#cloneModal {
    width: 1020px;
    margin: 0 0 0 auto;
    height: 100vh;
}

#adminmodal {
    width: 1020px;
    margin: 0 0 0 auto;
    height: 100vh;
}

#activityEventDetailModal,
#visitorEventDetailModal {
    width: 1020px;
    margin: 0 0 0 auto;
    height: 100vh;
    z-index: 1070;
}

#visitorEventDetailModal + .offcanvas-backdrop {
    z-index: 1065;
}

#activityEventDetailModal > div,
#visitorEventDetailModal > div {
    position: relative;
    height: 100%;
}

#activityEventDetailModal .modal-body,
#visitorEventDetailModal .modal-body {
    height: calc(100vh - 56px);
    overflow: auto;
    overflow-x: hidden;
}

#activityEventDetailModal .modal-body::-webkit-scrollbar,
#visitorEventDetailModal .modal-body::-webkit-scrollbar {
    width: 12px;
}

#activityEventDetailModal .modal-body::-webkit-scrollbar-track,
#visitorEventDetailModal .modal-body::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

#activityEventDetailModal .modal-body::-webkit-scrollbar-thumb,
#visitorEventDetailModal .modal-body::-webkit-scrollbar-thumb {
    background: #ffffff;
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

.tab-content {
    background: #fff;
}
#profilemodal .tab-content,
.offcanvas-level-2 .tab-content {
    height: calc(100vh - 56px);
    overflow: auto;
    overflow-x: hidden;
}

#clonePageModal .tab-content {
    height: calc(100vh - 56px);
    overflow: auto;
    overflow-x: hidden;
}

#editPageModal .tab-content {
    height: calc(100vh - 56px);
    overflow: auto;
    overflow-x: hidden;
}

#addProfileModal .tab-content {
    height: calc(100vh - 56px);
    overflow: auto;
    overflow-x: hidden;
}

#adminmodal .tab-content {
    height: calc(100vh - 56px);
    overflow: auto;
    overflow-x: hidden;
}

#cloneModal .tab-content {
    height: calc(100vh - 56px);
    overflow: auto;
    overflow-x: hidden;
}

#profile-tab-pane {
    padding-top: 10px;
}

#adminmodal-tab-pane {
    padding-top: 22px;
}

/* width */
#profilemodal .tab-content::-webkit-scrollbar {
    width: 12px;
}

#visitormodal .tab-content::-webkit-scrollbar {
    width: 12px;
}

#flowchainmodal2 .tab-content::-webkit-scrollbar {
    width: 12px;
}

#clonePageModal .tab-content::-webkit-scrollbar {
    width: 12px;
}

#editPageModal .tab-content::-webkit-scrollbar {
    width: 12px;
}

#addProfileModal .tab-content::-webkit-scrollbar {
    width: 12px;
}

#cloneModal .tab-content::-webkit-scrollbar {
    width: 12px;
}

#adminmodal .tab-content::-webkit-scrollbar {
    width: 12px;
}

/* Track */
#profilemodal .tab-content::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

#visitormodal .tab-content::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

#flowchainmodal2 .tab-content::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

#clonePageModal .tab-content::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

#editPageModal .tab-content::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

#addProfileModal .tab-content::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

#adminmodal .tab-content::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

/* Handle */
#profilemodal .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

#visitormodal .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

#flowchainmodal2 .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

#clonePageModal .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

#editPageModal .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

#addProfileModal .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

#cloneModal .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

#adminmodal .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

#profilemodal button.btn-close[data-bs-dismiss="offcanvas"],
.offcanvas .btn-close {
    position: absolute;
    left: -45px;
    background: #fff;
    opacity: 1;
    color: #000;
    width: 30px;
    height: 30px;
    top: 10px;
    border-radius: 6px;
}

#clonePageModal button.btn-close[data-bs-dismiss="offcanvas"] {
    position: absolute;
    left: -45px;
    background: #fff;
    opacity: 1;
    color: #000;
    width: 30px;
    height: 30px;
    top: 10px;
    border-radius: 6px;
}

#editPageModal button.btn-close[data-bs-dismiss="offcanvas"] {
    position: absolute;
    left: -45px;
    background: #fff;
    opacity: 1;
    color: #000;
    width: 30px;
    height: 30px;
    top: 10px;
    border-radius: 6px;
}

#addProfileModal button.btn-close[data-bs-dismiss="offcanvas"] {
    position: absolute;
    left: -45px;
    background: #fff;
    opacity: 1;
    color: #000;
    width: 30px;
    height: 30px;
    top: 10px;
    border-radius: 6px;
}

#cloneModal button.btn-close[data-bs-dismiss="offcanvas"] {
    position: absolute;
    left: -45px;
    background: #fff;
    opacity: 1;
    color: #000;
    width: 30px;
    height: 30px;
    top: 10px;
    border-radius: 6px;
}

#adminmodal button.btn-close[data-bs-dismiss="offcanvas"] {
    position: absolute;
    left: -45px;
    background: #fff;
    opacity: 1;
    color: #000;
    width: 30px;
    height: 30px;
    top: 10px;
    border-radius: 6px;
}

#savemodal button.btn-close {
    position: relative;
    margin-left: auto;
    background: transparent;
    width: 30px;
    height: 30px;
}

#savemodal .btn-secondary {
    background: #ebeff3;
    color: #3f3f3f;
}

#profileTab,
#donationProfileTab {
    /* padding-top: 8px; */
    /* padding-right: 4px; */
    /* padding-left: 14px; */
    padding: 0;

    /* background: #dce1ea; */
    border: 0px solid #fff;
    background: #fff;
    border-bottom: 1px solid #e5e7eb;
    gap: 0;
    flex-wrap: nowrap;
}

#adminTab {
    padding-top: 4px;
    /* background: #dce1ea; */
    /* border: 0; */
}

#profileTab .nav-item .nav-link,
#donationProfileTab .nav-item .nav-link {
    color: #4a5565;
    text-align: center;
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    /* font-weight: 600; */
    font-weight: 500;
    line-height: 20px; /* 142.857% */
    letter-spacing: -0.15px;
    /* padding: 12px 15px; */
    padding: 14px 24px;
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    margin-bottom: -1px;
}

#profileTab .nav-item .nav-link:hover,
#donationProfileTab .nav-item .nav-link:hover {
    color: var(--vz-light-primary-color);
    border: none;
    border-bottom: 3px solid transparent;
    background: transparent;
    box-shadow: none;
}

#adminTab .nav-item .nav-link {
    color: var(--vz-light-primary-color);
    padding: 12px 15px;
    font-size: 14px;
    font-weight: 600;
}

#profileTab .nav-item.show .nav-link,
#profileTab .nav-link.active,
#donationProfileTab .nav-item.show .nav-link,
#donationProfileTab .nav-link.active {
    /* color: #fff; */
    color: var(--vz-light-primary-color);
    /* background: linear-gradient(90deg, var(--vz-dark-primary-color) 0%, var(--vz-text-color-blue) 100%); */
    /* border-radius: 6px; */
    /* padding: 12px 15px; */

    /* border-radius: 12px 12px 12px 12px; */
    /* background: linear-gradient(
        90deg,
        var(--vz-dark-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    ); */
    /* box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1); */
    background: transparent;
    border: none;
    border-bottom: 3px solid var(--vz-light-primary-color);
    border-radius: 0;
    box-shadow: none;
}
#profileTab .nav-item.show .nav-link,
#profileTab .nav-link.active:hover,
#donationProfileTab .nav-item.show .nav-link,
#donationProfileTab .nav-link.active:hover {
    /* color: #fff; */
    color: var(--vz-light-primary-color);

    /* border-radius: 12px 12px 12px 12px; */
    /* background: linear-gradient(
        90deg,
        var(--vz-dark-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    ); */
    /* box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1); */
    background: transparent;
    border: none;
    border-bottom: 3px solid var(--vz-light-primary-color);
    border-radius: 0;
    box-shadow: none;
}

#adminTab .nav-item.show .nav-link,
#adminTab .nav-link.active {
    color: #fff;
    background: var(--vz-light-primary-color);
    border-radius: 6px;
    padding: 12px 15px;
}

#profileTab .nav-tabs .nav-link,
#donationProfileTab .nav-tabs .nav-link {
    border: 0;
}

#adminTabQ .nav-tabs .nav-link {
    border: 0;
}

.profile-img {
    height: 86px;
    width: 86px;
    border-radius: 50%;
    object-fit: cover;
}

.profile-card,
.bg-a5ffb8 {
    display: flex;
    padding: 22px 22px 22px 22px;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    align-self: stretch;
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
    justify-self: stretch;
    border-radius: 14px;
    border: 2px solid #00d492;
    background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%);
    box-shadow:
        0 1px 3px 0 rgba(0, 0, 0, 0.1),
        0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.assignee-bg-a5ffb8 {
    background: #bfd4ff;
}

.profile-card * {
    color: var(--vz-light-primary-color);
}

.btn-plain {
    color: var(--vz-light-primary-color);
}

.bg-edff8e {
    background-color: #edff8e;
}

.bg-edff8e {
    background-color: #edff8e;
}

.bg-e7ebff {
    background-color: #e7ebff;
}

.text-00ac47 {
    color: #00ac47;
}

.assignee-text-00ac47 {
    color: #00ac47;
}

.text-859046 {
    color: #859046;
}

.text-324ee8 {
    color: #324ee8;
}

.chart-colors {
    /* background-color: #000;
    color: #000; */
}

.chart-wrapper h3 {
    /* font-weight: 700; */
    /* font-size: 22px; */
    color: var(--vz-light-primary-color);
    text-align: center;
    font-family: Inter;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 140% */
    letter-spacing: -0.449px;
}

div#savemodal {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

tr td .form-check-input {
    width: 18px;
    height: 18px;
    border-width: 2px;
    border-color: #cfd5df;
    border-radius: 5px !important;
}

tr th .form-check-input {
    width: 18px;
    height: 18px;
    border-width: 2px;
    border-color: var(--vz-text-color);
    background: transparent;
    border-radius: 5px !important;
}

.dataTable tr th {
    font-size: 12px;
    font-weight: 600;
}

table.dataTable > thead .sorting:before,
table.dataTable > thead .sorting:after {
    font-size: 1.3rem;
}

table.dataTable > thead .sorting:before {
    top: -5px;
}

table.dataTable > thead .sorting:after {
    top: 3px;
}

#datatable-table_previous a:before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 15px;
    vertical-align: middle;
    margin-right: 5px;
    background: url(../images/icon/prev-arrow.svg) no-repeat center;
}

#datatable-table_next a:after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 15px;
    vertical-align: middle;
    margin-left: 5px;
    background: url(../images/icon/next-arrow.svg) no-repeat center;
}

form.form-format-step1 label {
    cursor: pointer;
}

form.form-format-step1 label p {
    color: #000;
    opacity: 0.7;
}

form.form-format-step1 input[type="radio"]:checked ~ label,
.form-format-step2 input[type="radio"]:checked ~ label {
    border-color: #000 !important;
}

form.form-format-step1 label .inpuct-checked,
.form-format-step2 label .inpuct-checked {
    opacity: 0;
    visibility: hidden;
}

form.form-format-step1 input[type="radio"]:checked ~ label .inpuct-checked,
.form-format-step2 input[type="radio"]:checked ~ label .inpuct-checked {
    visibility: visible;
    opacity: 1;
}

ul#pageTab li button:hover {
    border: 0 !important;
}

ul#pageTab li button {
    border: 0;
    border-bottom: 5px solid transparent;
    color: #000;
    opacity: 0.7;
}

ul#pageTab li button.active {
    background: transparent;
    border: 0;
    border-bottom: 5px solid var(--vz-light-primary-color);
    color: var(--vz-light-primary-color);
    opacity: 1;
}

.add-item-popup .modal-lg {
    max-width: 600px;
}

.add-item-popup .form-control::placeholder {
    color: #9aa0a6;
    opacity: 1; /* important */
}

.add-item-popup .form-control,
.add-item-popup .form-select {
    /* border-radius: 8px; */
    /* border: 1px solid var(--vz-light-primary-color); */
    /* color: #3f3f3f;
    font-size: 14px;
    font-weight: 400; */

    border-radius: 8px !important;
    /* border: 2px solid var(--vz-border-color-primary); */
    /* background: #fff; */

    border: 2px solid var(--vz-border-color-primary);
    padding: 8px;
    padding-left: 8px;

    /* box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), */
    /* 0 4px 6px -4px rgba(0, 0, 0, 0.1); */
    /* box-shadow: 0px 0px 2px var(--vz-light-primary-color); */
}

.add-item-popup .form-control:focus,
.add-item-popup .form-select:focus {
    border: 2px solid var(--vz-light-primary-color);
}

.add-item-popup label.form-label {
    font-size: 12px;
    font-weight: 400;
    color: #3f3f3f;
    margin-bottom: 8px;
    line-height: 14px;
}

.add-item-popup .add-edit-form-inner {
    max-height: 70vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 10px;
}

.modal-body.modal-min-height .add-edit-form-inner {
    min-height: 50vh;
}

#bulkAddTagsForm .add-edit-form-inner {
    min-height: 300px;
}

/* width */
.add-item-popup .add-edit-form-inner::-webkit-scrollbar,
.ms-container .ms-list::-webkit-scrollbar {
    width: 12px;
}

/* Track */
.add-item-popup .add-edit-form-inner::-webkit-scrollbar-track,
.ms-container .ms-list::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

/* Handle */
.add-item-popup .add-edit-form-inner::-webkit-scrollbar-thumb,
.ms-container .ms-list::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
    max-height: 100px;
}

.add-item-popup .modal-content {
    background: transparent;
}

.add-item-popup .modal-header {
    background: #ffffff;
    padding-bottom: 10px !important;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    padding: 12px 24px 10px;
}

.add-item-popup .modal-header .modal-title {
    background: linear-gradient(
        90deg,
        var(--vz-light-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.add-item-popup .modal-header .btn-close {
    /* background: transparent; */
    opacity: 1;
    padding: 0;
    width: 30px;
    height: 30px;
}

.add-item-popup .modal-body {
    padding: 0;
}

.add-edit-form-scroll {
    background: #fff;
    /* border-top: 1px solid #cfd5df; */
    padding-left: 25px;
    padding-right: 20px;
    padding-top: 12px;
    padding-bottom: 12px;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
}

.add-edit-form-scroll label + span.bg-light {
    line-height: 12px;
}

.add-edit-form-footer {
    margin-top: 20px;
    padding: 12px 24px !important;
    background: #fff;
    border-radius: 16px;
}

.add-edit-form-footer button {
    min-width: 160px;
    box-shadow: none;
    padding: 12px;
}

.add-edit-form-footer button.btn-light {
    background: #ebeff3;
    border-radius: 25px;
}

/* Modal multi-step tab stepper (50/50, centered labels) */
.add-item-popup .modal-stepper-nav {
    border-bottom-color: var(--vz-secondary-border-color);
}

.add-item-popup .modal-stepper-tab {
    color: #9ca3af;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.35;
    padding: 0 12px 16px;
    position: relative;
    transition: color 0.2s ease;
}

.add-item-popup .modal-stepper-tab:hover:not(.is-active) {
    color: #6b7280;
}

.add-item-popup .modal-stepper-tab.is-active {
    color: var(--vz-dark-primary-color);
    font-weight: 600;
}

.add-item-popup .modal-stepper-tab.is-active::after {
    background-color: var(--vz-dark-primary-color);
    border-radius: 2px 2px 0 0;
    bottom: -1px;
    content: '';
    height: 3px;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 2;
}

.add-item-popup .modal-stepper-nav .nav-link {
    background: transparent;
    border: 0;
    border-radius: 0;
}

.add-item-popup .modal-stepper-nav .nav-link.active {
    background: transparent;
}

.add-item-popup .modal-stepper-nav .nav-link.disabled,
.add-item-popup .modal-stepper-nav .nav-link:disabled {
    opacity: 1;
    pointer-events: none;
}

.add-item-popup .modal-step-subsection-title {
    color: #495057;
    font-size: 13px;
    font-weight: 600;
    margin: 1.25rem 0 0.75rem;
}

.add-item-popup .modal-step-subsection-title:first-child {
    margin-top: 0;
}

.add-item-popup .btn-modal-step-primary {
    background: linear-gradient(90deg, var(--vz-dark-primary-color) 0%, var(--vz-secondary-color) 100%);
    border: 0;
    border-radius: 25px;
    color: #fff;
    min-width: 160px;
    padding: 12px;
}

.add-item-popup .btn-modal-step-primary:hover,
.add-item-popup .btn-modal-step-primary:focus {
    background: linear-gradient(90deg, var(--vz-light-primary-color) 0%, var(--vz-secondary-color) 100%);
    color: #fff;
}

/* Donation create modal — header alignment (icon, title, dropdown) */
.membership-create-modal .modal-header .membership-header-main {
    margin-top: 6px;
}

.membership-create-modal .modal-header .modal-title {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    -webkit-text-fill-color: currentcolor;
    font-size: 18px;
    line-height: 1.25;
}

.subscription-create-modal .modal-header .subscription-header-main {
    margin-top: 6px;
}

.subscription-create-modal .modal-header .modal-title {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    -webkit-text-fill-color: currentcolor;
    font-size: 18px;
    line-height: 1.25;
}

.donation-create-modal .modal-header .donation-header-main {
    margin-top: 6px;
}

.donation-create-modal .modal-header .modal-title {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    -webkit-text-fill-color: currentcolor;
    font-size: 18px;
    line-height: 1.25;
}

.modal-icon-bg {
    background-color: #8E51FF1A;
}

.modal-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 0.5rem;
}

.modal-header-icon > i {
    font-size: 22px;
    line-height: 1;
}

.donation-create-modal .modal-header #donation-type-select {
    width: auto;
    min-width: 108px;
    height: 32px;
    min-height: 32px;
    padding: 0 1.75rem 0 10px !important;
    border: 1.5px solid var(--vz-light-primary-color) !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 30px;
    background-color: #fff;
    background-position: right 0.55rem center;
    background-size: 10px 7px;
}

.donation-create-modal .modal-header #donation-type-select:focus {
    border-color: var(--vz-dark-primary-color) !important;
    box-shadow: none;
}

.flatpickr-months,
.flatpickr-weekdays,
span.flatpickr-weekday {
    background-color: var(--vz-light-primary-color);
}

.ms-container .ms-optgroup-label {
    font-size: 12px;
    color: #3f3f3f;
}

.ms-container .ms-selectable li.ms-elem-selectable,
.ms-container .ms-selection li.ms-elem-selection {
    color: #b2b9c7;
}

.ms-container .ms-selectable li.ms-hover,
.ms-container .ms-selection li.ms-hover {
    background-color: var(--vz-light-primary-color) !important;
}

.ms-container .ms-list.ms-focus {
    border-color: rgb(85 24 149 / 80%) !important;
    -webkit-box-shadow:
        inset 0 1px 1px rgba(0, 0, 0, 0.075),
        0 0 8px rgb(85 24 149 / 60%) !important;
    -moz-box-shadow:
        inset 0 1px 1px rgba(0, 0, 0, 0.075),
        0 0 8px rgb(85 24 149 / 60%) !important;
    box-shadow:
        inset 0 1px 1px rgba(0, 0, 0, 0.075),
        0 0 8px rgb(85 24 149 / 60%) !important;
}

.modal-backdrop {
    background: rgba(0, 0, 0, 0.2);
    opacity: 1;
}

.modal-backdrop.show {
    opacity: 1;
}

.btn-check:checked + .btn,
/* .btn.active, */
.btn.show
/* .btn:first-child:active, */
/* :not(.btn-check) + */
 /* .btn:active */ {
    color: #fff !important;
    background: linear-gradient(
        135deg,
        var(--vz-dark-primary-color),
        var(--vz-light-primary-color),
        var(--vz-secondary-color)
    ) !important;
    border-radius: 20px;

    border: none !important;
}

ul.profile-action-dropdown {
    /* border-radius: 16px; */
    padding: 15px;
    /* border: 2px solid #dbe0e9; */
    box-shadow: none;
    min-width: 220px;

    border-radius: 14px;
    border: 2px solid var(--vz-secondary-border-color);
    background: #fff;
}

ul.profile-action-dropdown li a {
    color: var(--vz-light-primary-color);
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px; /* 133.333% */
}

ul.profile-action-dropdown li {
    font-size: 14px;
    line-height: 16px;
    padding: 10px 6px;
}

ul.profile-action-dropdown li.active,
ul.profile-action-dropdown li:hover {
    padding: 10px 12px;
    background: #dbe0e9;
    color: var(--vz-light-primary-color);
    font-weight: 600;
    border-radius: 8px;
}

ul.profile-action-dropdown li.action-delete a {
    color: #ff5882;
    font-weight: 600;
}

.profile-wrapper {
    padding-bottom: 0.4rem;
    margin-bottom: 0.4rem;
    border-radius: 14px;
    border: 2px solid var(--vz-secondary-border-color);
    background: #fff;
    padding: 18px 18px 2px 18px;
}

.filter-btn {
    color: var(--vz-light-primary-color);
    font-size: 12px;
    font-weight: 600;
}

.filter-btn:hover {
    background: #fff !important;
    color: var(--vz-light-primary-color);
}

.filter-btn img,
.action-btn img {
    margin-right: 5px;
    transition: opacity 0.25s ease, filter 0.25s ease;
}

.btn.action-btn {
    opacity: 1;
}

.action-btn {
    font-size: 14px;
    font-weight: 600;
    padding: 9px 16px;
    border: 0 !important;
    box-shadow: none;
    opacity: 1 !important;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease;
}

.action-btn:disabled,
.action-btn.disabled {
    background: var(--vz-border-bg-color) !important;
    color: #c4b5fd !important;
    border: 1.5px solid var(--vz-border-color-primary) !important;
    cursor: not-allowed;
    box-shadow: none !important;
    opacity: 1 !important;
    pointer-events: none;
    transform: none;
}

.action-btn:disabled img,
.action-btn.disabled img {
    opacity: 0.55;
    filter: brightness(0) saturate(100%) invert(68%) sepia(18%) saturate(900%) hue-rotate(218deg) brightness(98%) contrast(92%);
}

.action-btn:not(:disabled):not(.disabled) {
    color: #fff !important;
    border: none !important;
    box-shadow: 0 2px 10px rgba(130, 0, 219, 0.22);
}

.action-btn:not(:disabled):not(.disabled):hover {
    box-shadow: 0 4px 14px rgba(130, 0, 219, 0.32);
    transform: translateY(-1px);
}

.action-btn:not(:disabled):not(.disabled):active {
    transform: translateY(0);
    box-shadow: 0 2px 8px rgba(130, 0, 219, 0.2);
}

.action-btn.show:not(:disabled):not(.disabled) {
    background: linear-gradient(
        135deg,
        var(--vz-dark-primary-color),
        var(--vz-light-primary-color),
        var(--vz-secondary-color)
    ) !important;
    box-shadow: 0 4px 14px rgba(130, 0, 219, 0.32);
}

.action-btn:after {
    display: none;
}

.action-dropdown ul li img,
.action-dropdown ul li i {
    margin-right: 9px !important;
    width: 15px;
}

.user-info-col a.profile-button {
    font-size: 14px;
    font-weight: 600;
    color: #3f3f3f;
    text-transform: capitalize;
}

.user-info-col a.company-button {
    font-size: 14px;
    font-weight: 600;
    color: #3f3f3f;
    text-transform: capitalize;
}

.user-info-col a.contact-hover-class {
    font-size: 14px;
    font-weight: 600;
    color: #3f3f3f;
    text-transform: capitalize;
}

form.table-search input {
    font-size: 12px;
    color: #b2b9c7;
    line-height: 20px;
}

form.table-search input:focus {
    outline: none;
    border: 0;
}

form.table-search input::placeholder {
    color: #b2b9c7;
}

.action-dropdown ul.dropdown-menu {
    border: 2px solid #dbe0e9;
    border-radius: 16px;
    padding: 15px;
    background: #ffffff;
    min-width: 240px;
}

.action-dropdown ul.dropdown-menu li a img {
    margin-right: 10px;
}

.action-dropdown ul.dropdown-menu li a {
    font-size: 14px !important;
    color: var(--vz-light-primary-color) !important;
    padding: 6px 10px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    font-weight: 400 !important;
}

.action-dropdown ul.dropdown-menu li:hover a {
    font-weight: 700;

    background: #dbe0e9;
}

.action-dropdown ul li.action-delete a {
    color: #ff5882 !important;
}

.user-info-col {
    position: relative;
}

#visitormodal {
    width: 1020px;
    margin: 0 0 0 auto;
    height: 100vh;
}

#visitormodal .tab-content {
    height: calc(100vh - 56px);
    overflow: auto;
    overflow-x: hidden;
}

.user-info-hover {
    position: absolute;
    z-index: 99;
    min-width: 266px;
    left: 20px;
    top: 46px;
    transform: scale(100%, 0);
    visibility: hidden;
    transition: all 0.4s;
    transform-origin: top;

    display: flex;
    width: 280.56px;
    padding: 18.036px 18.036px 18.036px 18.036px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12.024px;
    border-radius: 16px;
    border: 2px solid #dab2ff;
    background: #fff;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.user-info-col:hover .user-info-hover {
    visibility: visible;
    transform: scale(100%, 100%);
}

.user-info-hover a.sub-admin-button {
    display: flex;
    /* height: 36.072px; */
    padding: 11.022px 51.585px 9.05px 50.859px;
    justify-content: center;
    align-items: flex-start;
    gap: 9.016px;
    flex-shrink: 0;
    align-self: stretch;
    border-radius: 14px;
    background: linear-gradient(
        90deg,
        var(--vz-dark-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -2px rgba(0, 0, 0, 0.1);
    color: #fff;
}

.user-info-hover a.contact-btn {
    display: flex;
    /* height: 36.072px; */
    padding: 11.022px 51.585px 9.05px 50.859px;
    justify-content: center;
    align-items: flex-start;
    gap: 9.016px;
    flex-shrink: 0;
    align-self: stretch;
    border-radius: 14px;
    background: linear-gradient(
        90deg,
        var(--vz-dark-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -2px rgba(0, 0, 0, 0.1);
    color: #fff;
    font-size: 14px !important;
}

.user-info-initial {
    min-width: 40px;
    width: 40px;
    height: 40px;
    background: #dbe0e9;
    border-radius: 50%;
    object-fit: cover;
}

.user-assignee-initial {
    /* border-radius: 25040600px; */
    background: linear-gradient(135deg, #51a2ff 0%, #615fff 50%, #ad46ff 100%);
    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -2px rgba(0, 0, 0, 0.1);

    min-width: 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    margin-right: 6px;
    text-transform: uppercase;
}

.user-assignee-col {
    font-size: 12px;
    color: var(--vz-primary-color);
    font-weight: 400;
}

.datatable-top-btn {
    padding: 10px 14px;
    /* padding: 8px 12px; */

    font-size: 12px;
    line-height: 14px;
}

.datatable-top-btn svg {
    width: 17px;
    height: 17px;
}

.user-info-hover h6 {
    font-size: 14px;
    color: #030712;
    margin: 0;

    max-width: 15ch; /* 10 characters */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.user-info-hover .email {
    display: inline-block;
    max-width: 120px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
}

.user-info-hover a {
    /* color: #fff; */
    color: #000;
    font-size: 10px;
}

.user-info-hover h6 + div {
    margin: 2px 0;
}

.user-info-col p {
    margin: 0;
    font-size: 12px;
    color: #3f3f3f;
}

.campaign-modal .btn-close {
    background: transparent;
    opacity: 1;
    padding: 0;
    width: 30px;
    height: 30px;
}

.campaign-modal .nav-tabs {
    border-radius: 10px;
}

.campign-overview-right {
    height: calc(100vh - 130px);
    overflow: auto;
}

/* width */
.campign-overview-right::-webkit-scrollbar {
    width: 12px;
}

/* Track */
.campign-overview-right::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

/* Handle */
.campign-overview-right::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

.modal-content {
    border-radius: 16px;
}

.campaign-overview-card {
    background: var(--vz-border-bg-color);

    display: flex;
    padding: 22px 22px 22px 22px;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    align-self: stretch;
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
    justify-self: stretch;
    border-radius: 14px;
    border: 2px solid #00d492;
    background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%);
    box-shadow:
        0 1px 3px 0 rgba(0, 0, 0, 0.1),
        0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.campaign-overview-card p {
    color: #007a55;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px; /* 133.333% */
}

.campaign-overview-card h2 {
    color: #1e2939;
    font-family: Inter;
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: 36px; /* 120% */
    letter-spacing: -0.354px;
}

.campaign-overview-card .status-btn {
    background: #bfd4ff;
    color: #00ac47;
    font-weight: 600;
    font-size: 12px;
    padding: 6px 8px;
    border-radius: 20px;
}

.campaign-overview-card .inactive-status-btn {
    background: #ffa5a5;
    color: #ac0000;
    font-weight: 600;
    font-size: 12px;
    padding: 6px 8px;
    border-radius: 20px;
}

.campaign-activity {
    background: linear-gradient(90deg, var(--vz-bg-color) 0%, #eef2ff 100%);
    border-radius: 14px;
    padding: 14px 0px;
}

.campaign-fund-card {
    background-color: #bfd4ff;
    border-radius: 14px;
    padding: 8px 12px;
    width: 50%;
}

.campaign-activity h2 {
    font-size: 16px !important;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.07px;

    background: linear-gradient(
        90deg,
        var(--vz-light-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.campaign-activity select,
.campaign-overview-donation select:not(.campaign-chart-filter-select) {
    border-radius: 4px;
    border: 0;
    padding: 3px 0px;
}

.campaign-chart-filter-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: var(--vz-border-bg-color);
    border: 1px solid var(--vz-dark-primary-color);
    color: var(--vz-modal-color);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.25;
    padding: 8px 36px 8px 16px;
    border-radius: 50px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 16px;
}

.campaign-chart-filter-select:hover,
.campaign-chart-filter-select:focus {
    background-color: var(--vz-bg-color);
    border-color: var(--vz-light-primary-color);
    outline: none;
    box-shadow: 0 0 0 3px var(--vz-light-opacity-primary-color);
}

.campaign-fund-card p {
    font-weight: 600;
    color: #3f3f3f;
    font-size: 10px;
}

.campaign-fund-card h3 {
    color: #3f3f3f;
    font-size: 54px;
    font-weight: 400;
}

#detailsModal.campaign-modal {
    width: 1020px;
    margin: 0 0 0 auto;
    height: 100vh;
}

.campaign-fund-user-activity {
    margin-top: 25px;
}

.campaign-fund-connection img {
    width: 29px;
    height: 29px;
    object-fit: cover;
    border-radius: 50%;
}

.campaign-add-connection {
    width: 29px;
    height: 29px;
    border: 1px solid #cfd5df;
    color: #cfd5df;
    background: #ffffff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-left: -10px;
}

.campaign-fund-connection img + img {
    margin-left: -10px;
}

.campaign-fund-user-activity span {
    font-size: 12px;
    font-weight: 700;
}

.campaign-overview-donation {
    padding: 16px;
    border-radius: 14px;
    background: linear-gradient(90deg, var(--vz-bg-color) 0%, #eef2ff 100%);
}

.graph-heading {
    font-size: 16px !important;
    font-weight: 500 !important;

    background: linear-gradient(
        90deg,
        var(--vz-light-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    /* For Firefox */
    background-clip: text;
    color: transparent;
}

.swal2-popup {
    width: 482px;
    max-width: calc(100vw - 32px);
    padding: 24px;
    border: 1px solid #cfd5df;
    border-radius: 16px;
}

.swal2-icon {
    display: none !important;
}

.swal2-popup .swal2-title {
    color: #3f3f3f;
}

.swal2-popup .swal2-html-container {
    color: #909cb6;
    font-size: 12px;
}

.swal2-actions .swal2-confirm {
    background: linear-gradient(
        90deg,
        var(--vz-light-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    border-color: #ebeff3;
    box-shadow: none;
    color: #ffffff;
    font-weight: 600;
    font-size: 12px;
    min-width: 160px;
    height: 42px;
    border-radius: 20px;
    margin: 0 !important;
}

.swal2-actions .swal2-cancel {
    background: #f9fafb;
    border-color: var(--vz-secondary-color);
    box-shadow: none;
    color: #000000;
    font-weight: 600;
    font-size: 12px;
    min-width: 160px;
    height: 42px;
    border-radius: 20px;
}

.swal2-actions {
    justify-content: space-between;
    width: 100%;
    margin-top: 36px;
}

.admin-export-ready-popup.swal2-popup {
    padding: 36px 32px 32px;
    border: none;
    border-radius: 20px;
    box-shadow: 0 16px 48px rgba(15, 23, 42, 0.12);
}

.admin-export-ready-popup :is(.swal2-title, .swal2-header, .swal2-actions) {
    display: none !important;
}

.admin-export-ready-popup .swal2-html-container {
    margin: 0;
    padding: 0;
    text-align: center;
    color: inherit;
    font-size: inherit;
}

.admin-export-ready-close {
    color: #9ca3af !important;
    font-size: 22px !important;
    top: 18px !important;
    right: 18px !important;
}

.admin-export-ready-close:hover {
    color: #6b7280 !important;
}

.admin-export-ready-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 20px;
    border-radius: 50%;
    background: #22c55e;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
}

.admin-export-ready-title {
    font-size: 22px;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 12px;
    line-height: 1.35;
}

.admin-export-ready-desc {
    font-size: 14px;
    color: #6b7280;
    margin: 0 0 8px;
    line-height: 1.5;
}

.admin-export-ready-desc:last-of-type {
    margin-bottom: 16px;
}

.admin-export-ready-info {
    margin-bottom: 24px;
}

.admin-export-ready-meta {
    font-size: 12px;
    color: #909cb6;
    margin: 0 0 4px;
    line-height: 1.5;
    word-break: break-word;
}

.admin-export-ready-link-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 20px;
    border: 1.5px solid var(--vz-light-primary-color);
    border-radius: 999px;
    background: #fff;
    color: var(--vz-light-primary-color);
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
}

.admin-export-ready-link-btn:hover {
    background: var(--vz-light-opacity-primary-color);
}

#address-display {
    word-break: break-word;
}

#addEditImageForm:hover .profile-pic-hover {
    visibility: visible;
}

#admin-image:hover .profile-pic-hover {
    visibility: visible;
}

#campaign-image:hover .profile-pic-hover {
    visibility: visible;
}

.profile-pic-hover {
    height: 86px;
    width: 86px;
    border-radius: 50%;
    background-color: rgb(0 0 0 / 72%);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    margin: 0 auto;
    visibility: hidden;
    cursor: pointer;
}

.profile-pic-hover img {
    width: 30px;
}

#addEditImageForm {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#addEditImageForm .user-assignee-initial {
    height: 86px;
    width: 86px;
    margin: 0 auto;
    font-size: 22px;
}

#campaign-image .user-assignee-initial {
    height: 86px;
    width: 86px;
    margin: 0 auto;
    font-size: 22px;
}

#admin-image .user-assignee-initial {
    height: 86px;
    width: 86px;
    margin: 0 auto;
    font-size: 22px;
}

@media screen and (min-width: 1600px) {
    #page-sidenav {
        max-width: 250px;
    }

    .page-inner-content {
        width: calc(100% - 250px);
    }

    .page-inner-content.col-md-12 {
        width: 100%;
    }
}

/*Datable*/
table.dataTable thead span.sort-icon {
    /*  display: inline-block;*/
    padding-left: 20px;
    width: 16px;
    height: 16px;
}

table.dataTable thead .sorting span {
    background: url("../images/sort_both.png") no-repeat center right;
}

table.dataTable thead .sorting_asc span {
    background: url("../images/sort_asc.png") no-repeat center right;
}

table.dataTable thead .sorting_desc span {
    background: url("../images/sort_desc.png?v=1") no-repeat center right;
}

table.dataTable thead .sorting_asc_disabled span {
    background: url("http://cdn.datatables.net/plug-ins/3cfcc339e89/integration/bootstrap/images/sort_asc_disabled.png")
        no-repeat center right;
}

table.dataTable thead .sorting_desc_disabled span {
    background: url("http://cdn.datatables.net/plug-ins/3cfcc339e89/integration/bootstrap/images/sort_desc_disabled.png")
        no-repeat center right;
}

table.dataTable thead .sorting::before,
table.dataTable thead .sorting_asc::before,
table.dataTable thead .sorting_desc::before,
table.dataTable thead .sorting_asc_disabled::before,
table.dataTable thead .sorting_desc_disabled::before {
    content: "";
}

table.dataTable thead .sorting::after,
table.dataTable thead .sorting_asc::after,
table.dataTable thead .sorting_desc::after,
table.dataTable thead .sorting_asc_disabled::after,
table.dataTable thead .sorting_desc_disabled::after {
    content: "";
}

.hamburger-icon.open span,
.hamburger-icon.open {
    transform: none !important;
}

.hamburger-icon.open span:nth-child(1) {
    top: 0;
    left: 0;
    width: 80%;
}

.hamburger-icon.open span:nth-child(2) {
    top: 6px;
    left: 0;
    width: 100%;
}

.hamburger-icon.open span:nth-child(3) {
    top: 13px;
    left: 0;
    width: 60%;
}

.org-profile-upload label {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    background: #ebeff3;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-size: 14px;
    font-weight: 600;
    color: #b2b9c7;
    cursor: pointer;
    position: relative;
}

.export-btn,
.export-btn:hover {
    font-size: 12px;
    font-weight: 600;
    color: var(--vz-light-primary-color);
}

.export-btn:hover {
    background: transparent;
}

.export-btn img {
    margin-right: 5px;
    margin-top: -4px;
}

.receipt-detail-box {
    /* padding: 10px; */
    /* background-color: #e7ebff;
    border-radius: 6px; */

    padding-bottom: 0.4rem;
    margin-bottom: 0.4rem;
    border-radius: 14px;
    border: 2px solid var(--vz-secondary-border-color);
    background: #fff;
    padding: 18px 18px 2px 18px;
}

.integration-box,
.payment-box {
    padding: 20px 10px;
    border-radius: 6px;

    border: 2px solid var(--vz-secondary-border-color);
    background: #fff;
}

.email-disabled {
    /* background-color: gray; */
    cursor: not-allowed;

    padding: 20px 10px;
    border-radius: 6px;

    border: 2px solid var(--vz-secondary-border-color);
    background-color: gray;
}

.email-action-button-disable {
    background-color: rgb(255, 255, 255);
    cursor: not-allowed;
    pointer-events: none;
    border-radius: 25px;
}

.integration-box span,
.premium-box span {
    min-width: 45px;
    width: 45px;
    height: 45px;
}

/* Gateway logo tile only — not .payment-sort-handle or grip lines */
.payment-box .payment-gateway-logo {
    min-width: 45px;
    width: 45px;
    height: 45px;
    background: #00ac47;
}

.integration-box span img,
.payment-box .payment-gateway-logo img,
.premium-box span img {
    width: 45px;
    height: 45px;
    object-fit: cover;
}

.integration-box p,
.payment-box p,
.premium-box p {
    color: #a5a5a5;
}

/* .integration-box .btn,
.payment-box .btn,
.premium-box .btn {
    border-radius: 8px;
    border: 1.5px solid #cfd5df;
    font-size: 12px;
    font-weight: 600;
    color: #3f3f3f;
    background: #fff;
    box-shadow: none;
    min-width: 124px;
    height: 43px;
    text-align: center;
    line-height: 26px;
} */

.integration-box .connect-btn {
    background: linear-gradient(
        135deg,
        var(--vz-dark-primary-color),
        var(--vz-light-primary-color),
        var(--vz-secondary-color)
    );
    color: #ffffff;
    border-radius: 25px;
}

.payment-box .connect-btn {
    background: linear-gradient(
        135deg,
        var(--vz-dark-primary-color),
        var(--vz-light-primary-color),
        var(--vz-secondary-color)
    );
    color: #ffffff;
    border-radius: 25px;
}

.payment-box .signup-btn {
    background: #dbe0e9;
}

.premium-box {
    border-radius: 8px;
    /* box-shadow: 0 4px 4px #00000040; */

    border: 2px solid var(--vz-secondary-border-color);
    background: #fff;
}

.premium-box.active {
    border: 1px solid #0a53be;
}

/* Billing Plan Page */
.billing-plan-card,
.billing-plan-card.active {
    min-height: 310px;
    padding: 20px 24px;
    border: 2px solid transparent;
    border-radius: 24px;
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(var(--vz-secondary-border-color), var(--vz-secondary-border-color)) border-box;
    box-shadow: none;
    transition: background 0.25s ease, box-shadow 0.25s ease;
}

.billing-plan-card:hover,
.billing-plan-card.active:hover {
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(
            135deg,
            var(--vz-dark-primary-color) 0%,
            var(--vz-light-primary-color) 50%,
            var(--vz-secondary-color) 100%
        ) border-box;
    box-shadow: 0 4px 16px rgba(152, 16, 250, 0.14);
}

.billing-plan-card-header {
    margin-bottom: 16px;
}

.billing-plan-card-body {
    flex: 1 1 auto;
}

.billing-plan-card-desc {
    font-size: 14px;
    line-height: 1.65;
    color: #6b7280;
}

.billing-plan-card-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    border-radius: 14px;
    background: var(--vz-border-bg-color);
    color: var(--vz-dark-primary-color);
    font-size: 22px;
}

.billing-plan-card-icon img,
.billing-plan-card-icon svg {
    width: 30px;
    height: 30px;
    object-fit: contain;
}

.billing-plan-card-badge {
    padding: 4px 12px;
    background: #dcfce7;
    color: #166534;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.billing-plan-card-billing-btn {
    padding: 8px 28px;
    min-width: 168px;
    text-align: center;
    background: linear-gradient(
        135deg,
        #ede9fe 0%,
        var(--vz-border-color-primary) 100%
    );
    color: var(--vz-dark-primary-color);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    border: none;
    transition: opacity 0.2s ease;
}

.billing-plan-card-billing-btn:hover {
    opacity: 0.9;
    color: var(--vz-dark-primary-color);
}
/* End Billing Plan Page */

.form-design-popup.add-item-popup .modal-lg {
    max-width: 900px;
}

.form-design-custom .form-control {
    padding: 0;
    width: 22px;
    height: 22px;
    min-width: 22px;
    border: 2px solid #fff;
    border-radius: 0;
    box-shadow: 0 0 0px 1px #aeaeae;
    margin-left: 1px;
}

.color-wrapper b {
    display: block;
    padding-bottom: 5px;
}

.color-wrapper > div:not(:last-child) {
    padding-bottom: 5px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 5px;
}

.color-wrapper .color-label {
    display: inline-flex;
    width: 100%;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
    vertical-align: middle;
    padding-right: 10px;
}

.color-wrapper::-webkit-scrollbar {
    display: none;
}

.color-wrapper .color-label label.form-label {
    margin-bottom: 0;
    width: 150px;
}

.org-profile-upload .profile-img + span {
    background: #0000009c;
    z-index: 99;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s;
}

.org-profile-upload:hover .profile-img + span {
    opacity: 1;
    visibility: visible;
}

.org-profile-upload .profile-img {
    width: 140px;
    height: 140px;
    object-fit: cover;
    border-radius: 50%;
    position: absolute;
}

.color-wrapper .color-label input {
    width: 110px;
    border: 1px solid #ccc;
    padding-top: 3px;
    padding-bottom: 3px;
}

.form-design-popup .form-design-custom {
    height: 70vh;
    overflow: auto;
}

/* Width */
.form-design-popup .form-design-custom::-webkit-scrollbar,
.form-design-wrapper::-webkit-scrollbar,
.form-view-wrapper::-webkit-scrollbar,
.form-inner-wrapper::-webkit-scrollbar {
    width: 12px;
}

/* Track */
.form-design-popup .form-design-custom::-webkit-scrollbar-track,
.form-design-wrapper::-webkit-scrollbar-track,
.form-view-wrapper::-webkit-scrollbar-track,
.form-inner-wrapper::-webkit-scrollbar-track {
    /* background: #cfd5df; */
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

/* Handle */
.form-design-popup .form-design-custom::-webkit-scrollbar-thumb,
.form-design-wrapper::-webkit-scrollbar-thumb,
.form-view-wrapper::-webkit-scrollbar-thumb,
.form-inner-wrapper::-webkit-scrollbar-thumb {
    /* background: #ffffff; */
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
    max-height: 100px;
}

/********* Create a form *********/

.form-design-wrapper {
    border-radius: 0 8px 8px 8px;
    background: #f9fafb !important;
    padding: 12px;
    min-width: 520px;
    max-width: 520px;
    height: 60vh;
    overflow-y: auto;
}

.formcreatepop .modal-header,
.chooseformatpop .modal-header {
    padding: 24px 0 16px !important;
}

.formcreatepop .modal-content,
.chooseformatpop .modal-content {
    padding: 0 24px;
}

.formcreatepop .modal-body,
.chooseformatpop .modal-body {
    padding: 24px 0 0;
}

.formcreatepop .modal-header h4,
.chooseformatpop .modal-header h4 {
    line-height: 24px;
}

.formcreatepop .create-form-footer {
    padding: 20px 0px 24px;
}

.chooseformatpop .create-form-footer {
    padding: 0px 0px 24px;
}

.formcreatepop .create-form-footer button,
.chooseformatpop .create-form-footer button {
    min-width: 160px;
    box-shadow: none;
    padding: 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.formcreatepop .create-form-footer button.btn-light,
.chooseformatpop .create-form-footer button.btn-light {
    background: #ebeff3;
    border-radius: 20px;
}

.choose-format-btn label {
    padding: 22px 10px;
    border-radius: 8px;
    border: 1px solid #cfd5df;
    margin: 0;
    cursor: pointer;
}

.choose-format-btn input:checked ~ label {
    border: 1px solid var(--vz-light-primary-color);
    background: #dce1ea;
}

.formcreatepop .nav-tabs,
.formcreatepop .nav.nav-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    border-bottom: 1px solid #e5e7eb;
    gap: 4px;
    margin-bottom: 16px;
}

.formcreatepop .nav-tabs .nav-item {
    margin-bottom: 0;
}

.formcreatepop .nav-tabs .nav-link,
.formcreatepop .nav.nav-tabs .nav-link,
.formcreatepop .nav li a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: auto;
    min-height: 32px;
    padding: 6px 12px;
    color: #4a5565;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.24px;
    white-space: nowrap;
    margin-bottom: 0;
    box-sizing: border-box;
    gap: 10px;
    transition: color 0.25s ease;
}

.formcreatepop .nav-tabs .nav-link::after,
.formcreatepop .nav.nav-tabs .nav-link::after,
.formcreatepop .nav li a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background-color: transparent;
    transition: background-color 0.25s ease;
}

.formcreatepop .nav-tabs .nav-link:hover,
.formcreatepop .nav.nav-tabs .nav-link:hover,
.formcreatepop .nav li a:hover {
    color: var(--vz-light-primary-color);
    background: transparent !important;
}

.formcreatepop .nav-tabs .nav-link.active,
.formcreatepop .nav.nav-tabs .nav-link.active,
.formcreatepop .nav li a.active {
    color: var(--vz-light-primary-color) !important;
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    font-weight: 500;
}

.formcreatepop .nav-tabs .nav-link.active::after,
.formcreatepop .nav.nav-tabs .nav-link.active::after,
.formcreatepop .nav li a.active::after {
    background-color: var(--vz-light-primary-color);
}

.formtype-wrapper {
    margin-bottom: 8px;
    background: #f9fafb;
}

.formtype-item {
    border-radius: 8px;
    border: 1px solid var(--N-Stroke2, rgba(207, 213, 223, 0.5));
    background: #ffffff;
    padding: 8px;
    padding-bottom: 3px;
    transition: all 0.2s ease;
}

/* Active card (when input is checked) */
.formtype-wrapper input:checked ~ .formtype-item {
    border: 1px solid #c27aff;
    background: var(--vz-border-bg-color);
}

/* Active text styles */
.formtype-wrapper input:checked ~ .formtype-item * {
    color: var(--Primary-Brand, #551895);
    font-family: Inter;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.24px;
}
.formtype-item span {
    text-align: center;
    /* margin-bottom: 16px; */
    display: block;
}

.name-details-wrppaer {
    background-color: #f9fafb;
    padding-left: 12px;
}

.name-details-wrppaer .form-field,
.elements-details-wrppaer .form-field {
    padding: 8px 8px;
    font-size: 12px;
    width: 100%;
    /* max-width: 231px; */
    color: #3f3f3f;

    border-radius: 10px;
    border: 1px solid #d1d5dc;
    background: #fff;
    margin-bottom: 10px;
    align-self: stretch;
}

.elements-details-wrppaer .form-field.mw-140 {
    max-width: 140px;
}

.form-design-wrapper .form-switch .form-check-input {
    width: 50px;
    height: 28px;
}

.form-design-wrapper .form-check-input:checked {
    /* background-color: #dbe0e9;
    border-color: #dbe0e9; */
}

.form-design-wrapper .form-switch .form-check-input,
.form-design-wrapper .form-switch .form-check-input:focus {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23B2B9C7'/%3e%3c/svg%3e");
    border: 1px solid #cfd5df;
}

.form-design-wrapper .form-switch .form-check-input:checked {
    background-position: right center;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
    border: 1px solid #dbe0e9;
}

.name-details-wrppaer .form-assignee {
    background: #f9fafb;
    min-width: 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    color: #3f3f3f;
    text-transform: uppercase;
}

.name-details-wrppaer textarea.form-field {
    height: 150px;
    max-width: 250px;
    resize: none;
}

.name-details-wrppaer .form-field::placeholder {
    color: #3f3f3f;
    opacity: 1;
}

.name-details-wrppaer > div,
.elements-details-wrppaer > div {
    /* margin-bottom: 12px; */
    /* background-color: #f9fafb; */
}

.elements-details-wrppaer .form-field .color-field {
    min-width: 22px;
    width: 22px;
    height: 22px;
    border-radius: 100%;
    padding: 0;
    border: 2px solid #37a4fd;
}

.elements-details-wrapper-form-details .form-field .color-field {
    /* min-width: 22px;
    width: 22px;
    height: 22px;
    border-radius: 100%;
    padding: 0;
    border: 2px solid #37a4fd; */
}

.elements-details-wrppaer .form-field.text-align-group label {
    border: 2px solid transparent;
    padding: 2px;
    border-radius: 4px;
    cursor: pointer;
}

.elements-details-wrppaer .form-field.text-align-group input:checked ~ label {
    border: 2px solid #37a4fd;
}

.form-field input[type="range"] {
    -webkit-appearance: none;
    width: 100%;
    height: 4px;
    background: #cabcf8;
    /* Light purple track */
    border-radius: 4px;
    outline: none;
    transition: 0.3s;
    margin-bottom: 0;
    border: none;
    box-shadow: none;
    padding: 0;
}

.name-details-wrppaer .form-field:has(> input[type="range"]),
.elements-details-wrppaer .form-field:has(> input[type="range"]),
.elements-details-wrapper-form-details .form-field:has(> input[type="range"]) {
    padding: 10px 12px;
    display: flex;
    align-items: center;
}

/* Custom track */
.form-field input[type="range"]::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    background: #cabcf8;
    border-radius: 4px;
}

/* Custom thumb (slider circle) */
.form-field input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    background: #cabcf8;
    /* Purple thumb */
    border: 2px solid #37a4fd;
    border-radius: 50%;
    cursor: pointer;
    margin-top: -6px;
    transition: 0.3s;
}

.form-field input[type="range"]::-moz-range-thumb {
    width: 16px;
    height: 16px;
    background: #cabcf8;
    /* Purple thumb */
    border: 2px solid #37a4fd;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.3s;
}

/* Change thumb color on hover */
.form-field input[type="range"]:hover::-webkit-slider-thumb {
    background: var(--vz-light-primary-color);
}

.form-inner-wrapper1 {
    background: #ebeff3;
    border-radius: 8px;
    padding: 10px;
    height: 100%;
    min-height: 60vh;
    height: 60vh;
    overflow-y: auto;
}

.form-inner-wrapper {
    padding: 15px 0;
}

.form-view-wrapper {
    border-radius: 8px;
    background: rgba(235, 239, 243, 0.5);
    /* background: #ebeff3; */
    border-radius: 8px;
    padding: 10px !important;
    min-height: 60vh;
    height: 60vh !important;
    overflow-y: auto;
}

.form-view-wrapper .form-view-toppage-numb + .form-inner-wrapper {
    height: calc(460px - 40.6px);
}

.form-screen-page .page {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: #3f3f3f;
    padding: 6px;
    border-radius: 6px;
    border: 1px solid #cfd5df;
    width: 40px;
    text-align: center;
}

.form-screen-page .page.active {
    border-radius: 6px;
    background: #cabcf8;
}

.form-screen-view a {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    color: #3f3f3f;
    padding: 6px 8px;
    border-radius: 6px;
    border: 1px solid #cfd5df;
}

.form-screen-view a img {
    margin-right: 6px;
}

.form-screen-view a.active {
    border-radius: 6px;
    background: #cabcf8;
}

.form-design-view,
.button-design-view,
.button-design-preview,
.list-design-view {
    border-radius: 12px;
    background: #fff;
    padding: 15px;
    border: 1px solid #dbe0e9;
    max-width: 280px;
    min-height: 460px;
    margin: 0 auto;
}

.form-design-head .form-one-monthly a {
    display: inline-block;
    font-size: 12px;
    width: 100%;
    font-weight: 500;
    color: #3f3f3f;
    padding: 11px 10px;
    border-radius: 6px;
    border: 1px solid #cfd5df;
    text-align: center;
}

.form-design-head .form-one-monthly a.active {
    color: #000;
    background: var(--vz-icon-bg-color);
    border: 1px solid var(--vz-primary-color);
}

.form-price-list {
    gap: 9px;
}

.form-price-preview {
    gap: 9px;
}

.cart-form-price-list {
    gap: 9px;
}

.form-price-list .price-item {
    display: inline-block;
}

.form-price-preview .price-preview {
    display: inline-block;
}

.cart-form-price-list .cart-price-item {
    display: inline-block;
}

.form-price-list .price-item label {
    display: block;
    margin: 0;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #3f3f3f;
    border-radius: 6px;
    border: 1px solid #cfd5df;
    padding: 7px 5px;
    max-width: 73px;
    min-width: 76px;
}

.form-price-preview .price-preview label {
    display: block;
    margin: 0;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #3f3f3f;
    border-radius: 6px;
    border: 1px solid #cfd5df;
    padding: 11px 10px;
    max-width: 73px;
    min-width: 73px;
}

.cart-form-price-list .cart-price-item label {
    display: block;
    margin: 0;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #3f3f3f;
    border-radius: 6px;
    border: 1px solid #cfd5df;
    padding: 11px 10px;
    max-width: 73px;
    min-width: 73px;
}

.form-price-list .price-item input:checked label {
    color: var(--vz-light-primary-color);
    background: #cabcf8;
    border: 1px solid var(--vz-light-primary-color);
}

.form-price-preview .price-preview input:checked label {
    color: var(--vz-light-primary-color);
    background: #cabcf8;
    border: 1px solid var(--vz-light-primary-color);
}

.cart-form-price-list .cart-price-item input:checked label {
    color: var(--vz-light-primary-color);
    background: #cabcf8;
    border: 1px solid var(--vz-light-primary-color);
}

.form-donate-agree input {
    width: 20px;
    height: 20px;
    min-width: 20px;
    accent-color: var(--vz-light-primary-color);
    outline: 1px solid #cfd5df;
    border: 0 !important;
    appearance: none;
    border-radius: 4px;
    overflow: hidden;
}

.form-donate-agree input:checked {
    appearance: auto;
    outline: 1px solid transparent;
    border-radius: 4px;
}

.form-donate-agree label {
    color: #b2b9c7;
}

.form-design-foot .btn {
    width: 100%;
    border-radius: 6px;
    /* background: var(--vz-primary-color); */
    /* color: #fff; */
    height: 48px;
    font-size: 14px;
    line-height: 16px;
    font-weight: 600;
}

.form-donate-wrapper {
    border-radius: 6px;
    border: 1px solid #cfd5df;
    padding: 7px 12px;
    margin-bottom: 10px;
}

.simple-form-wrapper {
    border-radius: 6px;
    border: 1px solid #cfd5df;
    padding: 12px;
    margin-bottom: 10px;
}

.custom-donate-wrapper {
    border-radius: 6px;
    border: 1px solid #cfd5df;
    padding: 12px;
    margin-bottom: 10px;
}

.form-donate-amount {
    color: var(--vz-light-primary-color);
}

.form-view-wrapper .copylink .form-field {
    padding: 6px 10px;
    border: 1px solid #b2b9c7;
    border-radius: 6px;
    font-size: 12px;
    line-height: 14px;
    width: 100%;
    max-width: 220px;
}

.form-view-action span {
    color: #b2b9b7;
    display: block;
    margin-bottom: 8px;
}

.form-view-action {
    position: absolute;
    left: calc(100% + 30px);
    top: 0;
}

.reminder-form-view-action {
    position: absolute;
    left: calc(85% + 30px);
}

.button-design-preview {
    min-height: auto;
}

.button-design-preview.form-sticky-btn {
    min-height: 394px;
    min-width: 280px;
    padding: 0;
}

.button-design-view.form-sticky-btn .stick-left {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    position: absolute;
    width: max-content;
    transform: rotate(-90deg);
    top: 43px;
    transform-origin: bottom;
}

.button-design-preview.form-sticky-btn .stick-left {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    position: absolute;
    width: max-content;
    transform: rotate(-90deg);
    top: 43px;
    transform-origin: bottom;
}

.button-design-view.form-sticky-btn .stick-right {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    position: absolute;
    width: max-content;
    transform: rotate(-90deg);
    top: -11px;
    right: 0;
    transform-origin: bottom right;
}

.button-design-preview.form-sticky-btn .stick-right {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    position: absolute;
    width: max-content;
    transform: rotate(-90deg);
    top: -11px;
    right: 0;
    transform-origin: bottom right;
}

.button-design-view.form-sticky-btn .stick-top {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    position: absolute;
    width: max-content;
    top: 0px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.button-design-preview.form-sticky-btn .stick-top {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    position: absolute;
    width: max-content;
    top: 0px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.button-design-view.form-sticky-btn .stick-bottom {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    position: absolute;
    width: max-content;
    bottom: 0px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.button-design-preview.form-sticky-btn .stick-bottom {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    position: absolute;
    width: max-content;
    bottom: 0px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.button-design-add-card img {
    height: 77px;
    width: 100%;
    object-fit: cover;
    border-radius: 10px;
}

.button-design-add-select select {
    border: 1px solid #cfd5df;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 500;
    color: #3f3f3f;
    padding: 10px 5px;
    width: 100%;
}

.button-group-list .price-item label {
    background: var(--vz-light-primary-color);
    color: #fff;
}

.button-group-list .price-item input:checked ~ label,
.map-type-list input:checked ~ label {
    /* background: #dce1ea; */
    background: #fff;
    color: var(--vz-light-primary-color);
    border: 1px solid var(--vz-light-primary-color);
}

.map-wrapper {
    width: 280px;
    height: 460px;
    border: 1px solid #dbe0e9;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    /* This helps with some rendering issues */
}

.map-wrapper .leaflet-container {
    width: 100% !important;
    height: 100% !important;
    border-radius: 11px;
    /* slightly less than wrapper to account for border */
}

.map-wrapper iframe,
.map-wrapper img {
    width: 280px;
    height: 460px;
}

.map-type-list label {
    border: 1px solid #cfd5df80;
    border-radius: 8px;
    padding: 9px 8px;
    background: #fff;
    color: #000;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
}

.goal-meter-wrapper {
    padding: 20px;
    background: #fff;
    border: 1px solid #dbe0e9;
    border-radius: 12px;
    min-width: 280px;
}

.goal-meter-wrapper .progress {
    height: 26px;
    border: 1px solid #cabcf8;
    background: #fff;
}

.progress {
    --vz-progress-bar-bg: #dbe0e9;
    --vz-progress-bar-color: var(--vz-light-primary-color);
}

.progress-bar {
    text-align: right;
}

.list-design-view {
    min-width: 280px;
    margin-bottom: 20px;
}

.list-design-view .list-wrapper {
    max-height: 360px;
    overflow-y: auto;
}

.list-design-view .list-wrapper::-webkit-scrollbar {
    display: none;
}

.list-item {
    border: 1px solid #cfd5df;
    border-radius: 6px;
    padding: 6px 8px;
}

.list-item:not(:last-child) {
    margin-bottom: 20px;
}

.list-donation {
    padding: 4px;
    background: #ebeff3;
    color: #37a4fd;
    border-radius: 3px 4px;
    gap: 4px;
}

.list-donation span {
    color: #909cb6;
}

.list-country-name {
    color: #909cb6;
}

.list-date {
    color: #cfd5df;
}

.list-donation img {
    max-width: 22px;
    border-radius: 1.5px;
}

.list-donor-pic {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 50%;
    object-fit: cover;
}

.list-donor-numeric {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #dbe0e9;
    color: var(--vz-light-primary-color);
    position: absolute;
    bottom: -10px;
    left: 0;
}

.overlay-design-view {
    border-radius: 12px;
    background: #fff;
    padding: 0 20px 20px;
    border: 1px solid #dbe0e9;
    max-width: 280px;
    min-width: 280px;
    height: 460px;
    margin: 0 auto 50px;
}

.overlay-popup1 {
    border-radius: 0 0px 6px 6px;
}

.overlay-popup1 p {
    color: #909cb6;
}

.overlay-popup1 {
    padding: 20px 12px;
}

.overlay-popup1 .btn {
    padding: 11px 0 !important;
}

.overlay-popup2 {
    padding: 12px;
    margin-top: 20px;
    border-radius: 12px;
}

.overlay-popup2 .card-img {
    height: 215px;
    border-radius: 10px;
    object-fit: cover;
}

.overlay-popup2 .close-btn {
    top: -10px;
    right: -10px;
}

.overlay-popup3 {
    padding: 20px 12px;
    border: 1px solid #cfd5df;
    border-radius: 6px;
    margin-top: auto;
}

.overlay-popup3 .close-btn {
    top: 2px;
    right: 2px;
}

.overlay-popup3 .btn-outline {
    border: 1px solid #cfd5df;
    box-shadow: none;
}

.overlay-popup4 {
    margin-top: 20px;
    padding: 6px 8px;
    border: 1px solid #cfd5df;
    border-radius: 6px;
}

.overlay-popup4 .close-btn {
    top: 0px;
    right: 0px;
}

.form-screen-page {
    flex-wrap: wrap;
}

.form-screen-view a.remove-page img {
    margin: 0;
}

.min-h-auto {
    min-height: auto;
}

.form-impact-item {
    position: relative;
    gap: 5px;
}

.form-impact-line {
    padding: 12px 0;
    height: 75px;
}

.form-impact-line:before {
    content: "";
    display: block;
    width: 4px;
    height: 100%;
    background: #cabcf8;
    position: absolute;
    top: 0;
    left: 3px;
}

.form-impact-item input {
    appearance: none;
}

.form-impact-item input:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background: var(--vz-light-primary-color);
    border-radius: 100%;
    z-index: 1;
    position: relative;
}

.form-impact-item input:checked:before {
    background: #fff;
    box-shadow: 0 0 0 5px var(--vz-light-primary-color);
}

.form-impact-amount {
    min-width: 30px;
    text-align: center;
}

.form-impact-line label {
    /* text-align: right; */
    border: 1px solid #cfd5df;
    padding: 10px 18px;
    border-radius: 4px;
    margin-left: 20px !important;
    position: relative;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s;
}

.form-impact-vertical .form-impact-line label:before {
    content: "";
    position: absolute;
    left: -7px;
    border-radius: 0px 0px 0px 4px;
    width: 13px;
    height: 13px;
    border: 1px solid #cfd5df;
    background: #ffffff;
    transform: translateY(-50%) rotate(45deg);
    border-right: 0;
    border-top: 0;
    top: 50%;
}

.form-impact-line input:checked ~ label {
    opacity: 1;
    visibility: visible;
}

.form-impact-horizontal .form-impact-line {
    padding: 0 10px;
    width: 100%;
    align-items: center;
}

.form-impact-horizontal .form-impact-line:before {
    width: 100%;
    height: 4px;
    top: auto;
    bottom: 3px;
}

.form-impact-horizontal .form-impact-item {
    flex-grow: 1;
}

.form-impact-horizontal .form-impact-amount {
    padding-top: 15px;
}

.form-impact-horizontal .form-impact-line label {
    white-space: nowrap;
    position: absolute;
    margin-bottom: 25px !important;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
}

.form-impact-horizontal .form-impact-line label:before {
    content: "";
    position: absolute;
    bottom: -7px;
    border-radius: 0px 0px 4px 0px;
    width: 13px;
    height: 13px;
    border: 1px solid #cfd5df;
    background: #ffffff;
    transform: translateX(-50%) rotate(45deg);
    border-top: 0;
    border-left: 0;
    left: 50%;
}

.email-market-item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 163px;
    border-radius: 8px;
    background: linear-gradient(
        135deg,
        var(--vz-bg-color) 0%,
        var(--vz-border-bg-color) 100%
    );

    width: 100%;
    margin-bottom: 16px;
}

.form-design-view .form-floating > label {
    transform: scale(0.85);
    margin-top: 5px;
}

.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
    margin-top: 0;
}

.form-check-input:checked {
    background-color: var(--vz-light-opacity-primary-color);
    border-color: var(--vz-light-primary-color);
}

.custom-form-switch.form-switch .form-check-input {
    width: 50px;
    height: 25px;
}

.form-switch.custom-form-switch {
    display: flex;
    align-items: center;
    gap: 10px;
}

.campaign-icon-wrapper {
    width: 56px;
    min-width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #ebeff3;
    display: flex;
    align-items: center;
    justify-content: center;
}

.form-select-style2 {
    background-color: #ebeff3;
    width: auto;
}

@media (max-width: 767px) {
    .navbar-menu:not(:hover) .navbar-nav {
        width: auto;
    }
}

#landingPageModal {
    width: 1500px;
    margin: 0 0 0 auto;
    height: 100vh;
}

#landingPageModal .tab-content {
    height: calc(100vh - 56px);
    overflow: auto;
    overflow-x: hidden;
}

#landingPageModal .tab-content::-webkit-scrollbar {
    width: 12px;
}

/* Track */
#landingPageModal .tab-content::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

/* Handle */
#landingPageModal .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

#landingPageModal button.btn-close[data-bs-dismiss="offcanvas"] {
    position: absolute;
    left: -45px;
    background: #fff;
    opacity: 1;
    color: #000;
    width: 30px;
    height: 30px;
    top: 10px;
    border-radius: 6px;
}

.filter-popup-design .form-select {
    border-radius: 8px;
    border: 2px solid var(--vz-border-color-primary);
    font-size: 12px;
    line-height: 15px;
    font-weight: 600;
    /* padding: 12px 45px 12px 16px; */
}

.filter-popup-design .filter-border-btn {
    border-radius: 8px;
    border: 2px solid var(--vz-border-color-primary);
    color: var(--vz-light-primary-color);
    /* color: #000; */
    padding: 5.5px 16px;
    box-shadow: none;
    font-size: 12px;
    line-height: 15px;
    font-weight: 600;
    text-transform: uppercase;
}

.filter-popup-design .filter-popup-design-step2 .filter-border-btn,
.filter-popup-design .filter-popup-design-step3 .filter-border-btn {
    /* border-color: var(--vz-light-primary-color); */
}

.filter-popup-design .form-select.select-active,
.filter-popup-design .form-select:focus,
.filter-popup-design .form-select:active {
    /* border-color: var(--vz-light-primary-color); */
    /* color: var(--vz-light-primary-color); */
}

.filter-popup-design .filter-border-btn .bi {
    font-size: 20px;
    vertical-align: middle;
}

.filter-popup-design .modal-footer .btn {
    font-size: 12px;
    font-weight: 600;
    min-width: 160px;
    padding: 14px 10px;
    /* border-radius: 8px; */
    border-radius: 25px;
}

.filter-popup-design .modal-footer .btn-light {
    background: #ebeff3;
    box-shadow: none;
}

.filter-pop-item-level {
    background-color: var(--vz-dark-opacity-primary-color);
    padding: 8px 16px;
    border-radius: 55px;
    font-size: 12px;
    color: #3f3f3f;
    font-weight: 600;
    width: max-content;
}

.content-trigger-behavior-filter-pop-item-level {
    background-color: #e0e0e0;
    padding: 8px 16px;
    border-radius: 55px;
    font-size: 12px;
    color: #3f3f3f;
    font-weight: 600;
    width: max-content;
}

.interaction-trigger-behavior-filter-pop-item-level {
    background-color: #e0e0e0;
    padding: 8px 16px;
    border-radius: 55px;
    font-size: 12px;
    color: #3f3f3f;
    font-weight: 600;
    width: max-content;
}

/*.filter-popup-selected-value-wrapper:before, .filter-popup-selected-child-wrapper:before {*/
/*    content: '';*/
/*    display: inline-block;*/
/*    width: 10px;*/
/*    height: 100%;*/
/*    position: absolute;*/
/*    !*padding-left: 40px;*!*/
/*    left: 0;*/
/*    background: var(--vz-light-primary-color);*/

/*    border-radius: 20px;*/
/*    top: 0;*/
/*}*/

/*.vertical-text-label {*/
/*    position: absolute;*/
/*    top: 20px;             !* adjust vertical position *!*/
/*    left: -25px;           !* place to the left of the blue line *!*/
/*    writing-mode: vertical-rl;*/
/*    transform: rotate(180deg);*/
/*    background-color: transparent;*/
/*    color: var(--vz-light-primary-color);*/
/*    font-weight: bold;*/
/*    font-size: 12px;*/
/*    z-index: 10;*/
/*    white-space: nowrap;*/
/*    line-height: 1;*/
/*}*/

/*.filter-popup-selected-value-wrapper,*/
/*.filter-popup-selected-child-wrapper {*/
/*    position: relative;*/
/*    padding-left: 40px; !* give space for vertical label + line *!*/
/*}*/

/*.filter-popup-selected-value-wrapper::before,*/
/*.filter-popup-selected-child-wrapper::before {*/
/*    content: '';*/
/*    position: absolute;*/
/*    width: 10px;*/
/*    height: 100%;*/
/*    top: 0;*/
/*    left: 22px; !* place blue line slightly to the right *!*/
/*    background: var(--vz-light-primary-color);*/
/*    border-radius: 20px;*/
/*}*/

/*.vertical-text-label {*/
/*    position: absolute;*/
/*    top: 10px;*/
/*    left: 0;*/
/*    writing-mode: vertical-rl;*/
/*    transform: rotate(180deg); !* makes text upright *!*/
/*    color: var(--vz-light-primary-color);*/
/*    font-weight: bold;*/
/*    font-size: 16px;*/
/*    line-height: 1;*/
/*    z-index: 1;*/
/*    background: transparent;*/
/*    white-space: nowrap;*/
/*    height: auto;*/
/*}*/

.filter-popup-selected-value-wrapper,
.filter-popup-selected-child-wrapper {
    position: relative;
    padding-left: 45px;
}

.filter-popup-selected-value-wrapper::before,
.filter-popup-selected-child-wrapper::before {
    content: "";
    position: absolute;
    width: 10px;
    height: 100%;
    top: 0;
    left: 25px;
    background: var(--vz-primary-color);
    border-radius: 20px;
}

/* 👇 Label now follows height of wrapper */
.vertical-text-label {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    color: var(--vz-dark-primary-color);
    font-weight: bold;
    font-size: 13px;
    white-space: nowrap;
    z-index: 2;
    pointer-events: none;
}

.filter-popup-selected-child-wrapper:before {
    background: var(--vz-light-primary-color);
}

.segment-popup-design .add-edit-form-filter-top {
    /*max-height: 40vh;*/
    overflow-y: auto;
    padding-right: 15px;
}

.segment-popup-design .add-edit-form-inner {
    height: 65vh;
}

.segment-popup-design .add-edit-form-inner .btn[aria-expanded="true"] i:before {
    content: "\f286";
}

.segment-popup-design .add-edit-form-filter-top::-webkit-scrollbar {
    width: 12px;
}

.segment-popup-design .add-edit-form-filter-top::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

.segment-popup-design .add-edit-form-filter-top::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

.dashboard-box p {
    color: #000 !important;
    font-size: 12px;
}

.dashboard-box h2 {
    background: linear-gradient(
        90deg,
        var(--vz-light-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.dashboard-box {
    box-shadow: 0 4px 12px var(--vz-card-shadow);
    display: flex;
    /* flex-direction: column; */
    padding: 25px 25px 0;
    margin-bottom: 10px;

    border-radius: 16px;
    border: 2px solid var(--vz-border-color-primary);
    background: linear-gradient(135deg, var(--vz-bg-color) 0%, #eef2ff 100%);
}

.cardIcon {
    background: var(--vz-icon-bg-color);
    padding: 10px;
    border-radius: 16px;
}
.cardIcon1 {
    background: #fec53d3a;
    padding: 10px;
    border-radius: 16px;
}
.cardIcon2 {
    background: #4ad9913a;
    padding: 10px;
    border-radius: 16px;
}
.cardIcon3 {
    background: #ff90663a;
    padding: 10px;
    border-radius: 16px;
}

#select_year.dashboard-year {
    max-width: 140px;
    border-radius: 20px;
}

.user-info-hover .user-assignee-initial {
    width: 54px;
    height: 54px;
    min-width: 54px;
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
}

.import-custom-check input {
    width: 18px;
    height: 18px;
    accent-color: var(--vz-light-primary-color);
}

.import-custom-radio input {
    width: 14px;
    height: 14px;
    accent-color: var(--vz-light-primary-color);
}

.import-upload {
    border-radius: 8px;
    background: #ebeff3;
    height: 92px;
    color: #b2b9c7;
}

.sk-drag-drop-upload__inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    min-height: 190px;
    padding: 1.75rem 2rem;
    border: 2px dashed #c4b5fd;
    border-radius: 12px;
    background: #f8f5ff;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    overflow: hidden;
}

.sk-drag-drop-upload__inner:has(.sk-drag-drop-upload__decor) {
    justify-content: space-between;
}

.sk-drag-drop-upload__inner:hover,
.sk-drag-drop-upload.is-dragover .sk-drag-drop-upload__inner {
    border-color: #970ff8;
    background: #f3edff;
}

.sk-drag-drop-upload__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 100%;
}

.sk-drag-drop-upload__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 0.875rem;
    border-radius: 50%;
    background: #ede9fe;
    color: #970ff8;
    font-size: 26px;
    line-height: 1;
}

.sk-drag-drop-upload__title {
    font-size: 14px;
    font-weight: 600;
    color: #3f3f3f;
}

.sk-drag-drop-upload__browse {
    font-size: 13px;
    color: #71717b;
}

.sk-drag-drop-upload__browse-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: #970ff8;
    font-size: inherit;
    font-weight: 500;
    text-decoration: underline;
    cursor: pointer;
}

.sk-drag-drop-upload__hint {
    margin-top: 0.5rem;
    font-size: 12px;
    color: #a1a1aa;
}

.sk-drag-drop-upload__filename {
    margin-top: 0.5rem;
    font-size: 12px;
    font-weight: 600;
    color: #970ff8;
    word-break: break-all;
}

.sk-drag-drop-upload.has-file .sk-drag-drop-upload__title,
.sk-drag-drop-upload.has-file .sk-drag-drop-upload__browse,
.sk-drag-drop-upload.has-file .sk-drag-drop-upload__hint {
    display: none;
}

.sk-drag-drop-upload.has-preview .sk-drag-drop-upload__content,
.sk-drag-drop-upload.has-preview .sk-drag-drop-upload__icon,
.sk-drag-drop-upload.has-preview .sk-drag-drop-upload__decor {
    display: none !important;
}

.sk-drag-drop-upload.has-preview .sk-drag-drop-upload__inner {
    padding: 15px;
    background: #f8f5ff;
    border-color: #c4b5fd;
    cursor: default;
}

.sk-drag-drop-upload.has-preview .sk-drag-drop-upload__inner:hover,
.sk-drag-drop-upload.has-preview.is-dragover .sk-drag-drop-upload__inner {
    background: #f8f5ff;
    border-color: #c4b5fd;
}

.sk-drag-drop-upload__preview {
    position: relative;
    width: 100%;
    min-height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2a2a2a;
    border-radius: 8px;
    overflow: hidden;
}

.sk-drag-drop-upload__preview-img {
    display: block;
    width: 100%;
    max-height: 200px;
    object-fit: contain;
}

.sk-drag-drop-upload__preview-meta {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
}

.sk-drag-drop-upload__preview-remove {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    pointer-events: auto;
}

.sk-drag-drop-upload__preview-remove:hover {
    background: #000;
}

.sk-drag-drop-upload__preview-info {
    min-width: 0;
    flex: 1;
}

.sk-drag-drop-upload__preview-name {
    font-size: 13px;
    font-weight: 500;
    color: #fff;
    word-break: break-all;
}

.sk-drag-drop-upload__preview-size {
    margin-top: 0.15rem;
    font-size: 12px;
    color: #d4d4d8;
}

.sk-drag-drop-upload--compact.has-preview .sk-drag-drop-upload__inner {
    min-height: auto;
    padding: 15px;
}

.sk-drag-drop-upload__decor {
    flex-shrink: 0;
    pointer-events: none;
    margin-right: 0.5rem;
}

.sk-drag-drop-upload__decor img {
    display: block;
    width: auto;
    max-width: 170px;
    max-height: 170px;
    object-fit: contain;
}

@media (max-width: 575.98px) {
    .sk-drag-drop-upload__decor {
        display: none;
    }

    .sk-drag-drop-upload__inner:has(.sk-drag-drop-upload__decor) {
        justify-content: center;
    }
}

.sk-drag-drop-upload--compact .sk-drag-drop-upload__inner {
    justify-content: flex-start;
    min-height: 92px;
    padding: 1.25rem 1.5rem;
    gap: 1rem;
}

.sk-drag-drop-upload--compact .sk-drag-drop-upload__content {
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}

.sk-drag-drop-upload--compact .sk-drag-drop-upload__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    margin-bottom: 0;
    font-size: 24px;
}

.sk-drag-drop-upload--compact .sk-drag-drop-upload__text-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.35rem;
    row-gap: 0.15rem;
}

.sk-drag-drop-upload--compact .sk-drag-drop-upload__title {
    font-size: 15px;
    font-weight: 700;
    color: #18181b;
}

.sk-drag-drop-upload--compact .sk-drag-drop-upload__browse {
    font-size: 14px;
    color: #52525b;
}

.sk-drag-drop-upload--compact .sk-drag-drop-upload__hint {
    margin-top: 0.35rem;
    font-size: 12px;
    color: #a1a1aa;
}

.sk-drag-drop-upload--compact.has-file .sk-drag-drop-upload__text-row {
    display: none;
}

@media (max-width: 575.98px) {
    .sk-drag-drop-upload--compact .sk-drag-drop-upload__text-row {
        flex-direction: column;
        align-items: flex-start;
    }
}

.form-wrapper-long {
    height: 60vh;
    background-color: #f9fafb;
}

.filter-pop-item-level span::first-letter {
    font-weight: bold;
}

div#formPreviewIframe {
    max-width: 300px;
    margin: 0 auto;
}

.landing-preview::-webkit-scrollbar {
    display: none;
}

.schedule-dropdown-wrapper .btn {
    min-width: auto;
    border-top-right-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
}

.form-design-foot .btn .bi:before {
    vertical-align: middle;
}

.custom-filter-max-height {
    max-height: 40vh;
}

.custom-donor-filter-max-height {
    max-height: 40vh;
    overflow-y: auto;
    /*padding-right: 15px;*/
}

.edit_filter_custom_height {
    min-height: 90px;
}

.select2-container {
    border: 1px solid #b2b9c7;
    border-radius: 8px;
}

#fetch-donor-items + .select2-container--default .select2-selection--multiple {
    min-height: 25px !important;
    padding: 3px 2px !important;
    background-color: #ffffff !important;
}

#fetch-donor-items
    + .select2-container--default
    .select2-selection--multiple
    .select2-selection__rendered {
    min-height: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
}

#fetch-donor-items
    + .select2-container--default
    .select2-selection--multiple
    .select2-search--inline
    .select2-search__field {
    padding: 0px 6px !important;
    min-height: 26px !important;
    font-size: 14px !important;
}

#recipient_id + .select2-container--default .select2-selection--multiple {
    min-height: 25px !important;
    padding: 3px 2px !important;
    background-color: #ffffff !important;
}

#recipient_id
    + .select2-container--default
    .select2-selection--multiple
    .select2-selection__rendered {
    min-height: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
}

#recipient_id
    + .select2-container--default
    .select2-selection--multiple
    .select2-search--inline
    .select2-search__field {
    padding: 0px 6px !important;
    min-height: 26px !important;
    font-size: 14px !important;
}

div#datatable-table_wrapper .dataTable tr td:first-child {
    width: 40px;
}

div#datatable-table_wrapper .dataTable tr td:nth-child(2) {
    width: 20%;
}

#profile-email-display {
    word-break: break-all;
}

.custom-canvas.full-width:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.5;
    position: absolute;
    top: 0;
    z-index: 99;
    left: 0;
}

.offcanvas-level-2 .tab-content::-webkit-scrollbar {
    width: 12px;
}

.offcanvas-level-2 .tab-content::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

.offcanvas-level-2 .tab-content::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
}

/* -----------------------------------------smart task dashboard css------------------------------------- */

/* Metric boxes responsive */
.metric-box {
    border-radius: 14px;
    background: linear-gradient(
        135deg,
        var(--vz-border-color-primary) 0%,
        #dab2ff 100%
    );
    padding: 1rem;
}

@media (max-width: 576px) {
    .metric-box {
        width: 100% !important;
        margin-bottom: 0.5rem;
    }

    .metric-card {
        min-height: auto;
    }
}

/**************************************************** newsletter modal css ******************************************/

.bg-modal-step3 {
    /* background: var(--vz-dark-opacity-primary-color); */
    background: #fff;
}

/* .newsletter-modal-card-bg {
    background: linear-gradient(135deg, var(--vz-bg-color) 0%, var(--vz-border-bg-color) 100%);
} */

.variation-border {
    border-bottom: 2px solid #fff;
    /* Set only the bottom border */
}

/* newletter schedule calander*/
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.5rem;
}

.calendar-day {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 2.5rem;
    border-radius: 0.5rem;
    cursor: pointer;
}

/* newsletter schedule modals  */

.custom-tabs .nav-link {
    border: 2px solid #dee2e6;
    border-radius: 8px;
    padding: 12px 24px;
    margin-right: 8px;
    background-color: #f8f9fa;
    /* Set the background color to white for all tabs */
    color: #6c757d;
    font-weight: 500;
    transition: all 0.2s ease;
}

.custom-tabs .nav-link:hover {
    background-color: #e9ecef;
    color: #495057;
}

/* Active tab customization */
.custom-tabs .nav-link.active {
    background-color: white !important;
    /* Keep background white for active tab */
    border-color: var(--vz-light-primary-color);
    /* Change border color */
    color: var(--vz-light-primary-color);
    /* Change font color */
}

/* newsletter schedule custom modal */

.add-item-schedule-email .modal-lg {
    max-width: 400px;
}

.add-item-schedule-email .form-control::placeholder {
    color: #9aa0a6;
    opacity: 1; /* important */
}

.add-item-schedule-email .form-control,
.add-item-popup .form-select {
    /* border-radius: 8px; */
    /* border: 2px solid var(--vz-border-color-primary); */
    /* color: #3f3f3f; */
    /* font-size: 14px; */
    /* font-weight: 400; */
    /* border-radius: 16px; */
    /* padding: 4px; */
    /* padding-left: 8px; */

    border-radius: 8px !important;
    /* border: 2px solid var(--vz-border-color-primary); */
    /* background: #fff; */

    border: 2px solid var(--vz-border-color-primary);
    padding: 8px;
    padding-left: 8px;
}

.add-item-schedule-email .form-control:focus,
.add-item-popup .form-select:focus {
    border: 2px solid var(--vz-light-primary-color);
}

.add-item-schedule-email label.form-label {
    font-size: 12px;
    font-weight: 400;
    color: #3f3f3f;
    margin-bottom: 8px;
    line-height: 14px;
}

.add-item-schedule-email .add-edit-form-inner {
    max-height: 90vh;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 10px;
}

.modal-body.modal-min-height .add-edit-form-inner {
    min-height: 50vh;
}

#bulkAddTagsForm .add-edit-form-inner {
    min-height: 400px;
}

/* width */
.add-item-schedule-email .add-edit-form-inner::-webkit-scrollbar,
.ms-container .ms-list::-webkit-scrollbar {
    width: 12px;
}

/* Track */
.add-item-schedule-email .add-edit-form-inner::-webkit-scrollbar-track,
.ms-container .ms-list::-webkit-scrollbar-track {
    background: #cfd5df;
    width: 2px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    background-clip: padding-box;
}

/* Handle */
.add-item-schedule-email .add-edit-form-inner::-webkit-scrollbar-thumb,
.ms-container .ms-list::-webkit-scrollbar-thumb {
    background: #ffffff;
    /* Gradient color */
    border-radius: 20px;
    border: 1px solid #b2b9c7;
    max-height: 100px;
}

.add-item-schedule-email .modal-content {
    background: transparent;
}

.add-item-schedule-email .modal-header {
    background: #ffffff;
    padding-bottom: 10px !important;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    padding: 12px 24px 10px;
}

.add-item-schedule-email .modal-header .modal-title {
    color: #3f3f3f;
}

.add-item-schedule-email .modal-header .btn-close {
    background: transparent;
    opacity: 1;
    padding: 0;
    width: 30px;
    height: 30px;
}

.add-item-schedule-email .modal-body {
    padding: 0;
}

#newsletterstep5 {
    z-index: 1060 !important;
}

#newsletterstep5 .modal-dialog {
    position: relative;
    left: -15%;
    /* adjust for how far outside you want */
}

#newsletterstep6 {
    z-index: 1060 !important;
}

#newsletterstep6 .modal-dialog {
    position: relative;
    left: -15%;
    /* adjust shift like modal5 */
}

/***************************************************************** recurring ********************************************************************/

/* open and close modal for step5 and step 6*/

#recurringstep5 {
    z-index: 1060 !important;
}

#recurringstep5 .modal-dialog {
    position: relative;
    left: -15%;
    /* adjust for how far outside you want */
}

#recurringstep6 {
    z-index: 1060 !important;
}

#recurringstep6 .modal-dialog {
    position: relative;
    left: -15%;
    /* adjust shift like modal5 */
}

/* template card */
/* .template-modal-card-bg {
    background: #c0dbff;
} */

/************************************************** poll screen and survey css *********************************************************/

/* step 2 screen modal */

.category-list .list-group-item {
    border: none;
    cursor: pointer;
}

.category-list .list-group-item.active {
    background-color: #e7f1ff;
    color: var(--vz-light-primary-color);
    border-radius: 0.5rem;
}

.category-list .list-group-item i {
    vertical-align: middle;
    margin-right: 0.5rem;
}

.thank-you-preview {
    background-color: #f8f9fa;
    border-radius: 0.5rem;
    padding: 2rem;
    text-align: center;
}

.footer-nav {
    margin-top: 2rem;
}

.category-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background: #fff;
    border-radius: 0.5rem;
    border: 1px solid #ddd;
    width: 100%;
}

/* Hover effect for category list items */
.category-list .list-group-item:hover {
    background-color: #a7ccff;
    border-radius: 0.5rem;
    /* Bootstrap's rounded-4 equivalent */
}

.visibility-dropdown-list {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background: #fff;
    border-radius: 0.5rem;
    border: 1px solid var(--vz-border-color-primary);
    width: 100%;
}

.visibility-dropdown-list .list-group-item {
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 0.5rem;
    padding: 0.5rem 0.75rem;
    color: #4a5568;
}

.visibility-dropdown-list .list-group-item svg {
    flex-shrink: 0;
    color: var(--vz-light-primary-color);
}

.visibility-dropdown-list .list-group-item.active {
    background-color: var(--vz-light-opacity-primary-color);
    color: var(--vz-light-primary-color);
    border-radius: 0.5rem;
}

.visibility-dropdown-list .list-group-item.active svg {
    color: var(--vz-light-primary-color);
}

.visibility-dropdown-list .list-group-item:hover {
    background-color: var(--vz-border-bg-color);
    color: var(--vz-light-primary-color);
    border-radius: 0.5rem;
}

.scrollable-questions {
    max-height: 70vh;
    /* control how tall before scroll appears */
    overflow-y: auto;
    /* vertical scrollbar when needed */
    overflow-x: visible !important;
    padding-bottom: 60px;

}


.chart-container-card {
    border-radius: 16px;
    border: 2px solid var(--vz-border-bg-color);
    background: #fff;
    box-shadow:
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 8px 10px -6px rgba(0, 0, 0, 0.1);
    padding: 20px;
}
/* ------------------------------------------------fundraising Page css---------------------------------------------  */

/* overview chart */

.chart-container {
    background: linear-gradient(
        135deg,
        var(--vz-border-color-primary) 0%,
        #dab2ff 100%
    );
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.chart-header {
    margin-bottom: 20px;
}

.chart-title {
    font-size: 18px;
    font-weight: 600;
    color: #2c3e50;
    margin: 0;
}

.dropdown-toggle {
    /* background: var(--vz-primary-color); */
    border: 1px solid var(--vz-light-primary-color);
    border-radius: 20px;
    padding: 8px 12px;
    font-size: 14px;
    color: #000;
    text-decoration: none;
}

.dropdown-toggle:hover {
    background: #f8f9fa;
    color: #495057;
    text-decoration: none;
}

.chart-wrapper {
    height: 100px;
    position: relative;
}

/* donation overview cards css */

.stat-card {
    background: var(--vz-card-color);
    border-radius: 18px;
    box-shadow: 0 8px 24px var(--vz-card-shadow);
    padding: 1.5rem;
    height: 100%;
}

.stat-card-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.75rem;
}

.stat-card-title-row {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.5rem;
}

.stat-card-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--vz-modal-color);
}

.stat-card-info {
    color: var(--vz-light-primary-color);
    flex-shrink: 0;
}

.stat-card-desc {
    font-size: 0.8125rem;
    color: var(--vz-input-focus-border);
    line-height: 1.5;
    max-width: 18rem;
}

.stat-card-value {
    font-size: 2.25rem;
    font-weight: 700;
    color: var(--vz-light-primary-color);
    line-height: 1;
    flex-shrink: 0;
}

/* reusable target progress bar */

.target-progress {
    margin-top: 0.5rem;
}

.target-progress-bar {
    position: relative;
    padding-top: 1.5rem;
}

.target-progress-marker {
    position: absolute;
    top: 0;
    left: var(--target-position, 50%);
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 2;
    pointer-events: none;
}

.target-progress-marker-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--vz-modal-color);
    white-space: nowrap;
    margin-bottom: 0.35rem;
}

.target-progress-marker-line {
    display: block;
    width: 2px;
    height: 1.2rem;
    background-color: #000;
    border-radius: 1px;
}

.target-progress-track {
    position: relative;
    height: 0.875rem;
    background-color: var(--vz-light-opacity-primary-color);
    border-radius: 999px;
    overflow: hidden;
}

.target-progress-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        var(--vz-secondary-color) 0%,
        var(--vz-light-primary-color) 55%,
        var(--vz-dark-primary-color) 100%
    );
}

.target-progress-scale {
    display: flex;
    justify-content: space-between;
    margin-top: 0.5rem;
    font-size: 0.75rem;
    color: var(--vz-input-focus-border);
}

/* transaction chart container */

.transaction-chart-card .card-body {
    overflow: visible;
}

.transaction-chart-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    width: 100%;
    overflow: visible;
}

.transaction-chart-container canvas {
    width: 100% !important;
    height: 100% !important;
    max-width: 340px;
    max-height: 340px;
}

.transaction-chart-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 0.875rem;
    color: var(--vz-input-focus-border);
}

/* reusable fundraising activity chart */

.fundraising-chart-card {
    margin: 0 auto;
}

.fundraising-chart-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--vz-modal-color);
    margin-bottom: 0.25rem;
}

.fundraising-chart-container {
    height: 20rem;
    position: relative;
}

/********************************************************* css for site siteactivity  and email activity ****************************************************/

/* card above the charts */
.metric-card {
    /* border: 1px solid #cad7ec; */
    padding: 1rem;
    /* border-radius: 14px; */
    /* background: linear-gradient(135deg, var(--vz-border-color-primary) 0%, #dab2ff 100%); */
    padding: 1rem;
    /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
    text-align: left;
    height: auto;
    /* allow dynamic height on smaller screens */
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 0.3s ease;

    border-radius: 14px;
    border: 1px solid var(--vz-border-color-primary);
    background: linear-gradient(
        135deg,
        var(--vz-border-bg-color) 0%,
        var(--vz-bg-color) 50%,
        #fdf2f8 100%
    );
    box-shadow:
        0 1px 3px 0 rgba(0, 0, 0, 0.1),
        0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.metric-title {
    /* font-size: 0.85rem;
    color: #374151;
    margin-bottom: 0.5rem;
    font-weight: 500; */

    color: #8200db;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px; /* 133.333% */
}

.metric-value {
    font-size: 1.8rem;
    font-weight: bold;
    color: #212529;
    display: inline;
}

.metric-percentage {
    /* font-size: 0.75rem;
    background-color: rgba(130, 0, 219, 0.45);
    color: #3f3f3f;
    padding: 2px 6px;
    border-radius: 8px;
    font-weight: 600;
    white-space: nowrap; */

    display: flex;
    padding: 2.5px 9.344px 1.5px 8px;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background: #ad46ff;
}

.card-container {
    max-width: 100%;
    padding: 0 0.5rem;
    margin: 0 auto;
}

/* custom chart */
.custom-chart-container {
    height: 300px;
    /* smaller default height for mobile */
    position: relative;
    width: 100%;

    margin: 20px 0px;
    /* margin-left: 10px; */
    border-radius: 14px;
    border: 1px solid var(--vz-secondary-border-color);
    background: #fff;
    box-shadow:
        0 1px 3px 0 rgba(0, 0, 0, 0.1),
        0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

@media (min-width: 768px) {
    .custom-chart-container {
        height: 400px;
    }
}

.negative {
    color: #ea4335;
}

/* Container for all x-axis cards */
.x-axis-labels {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
    width: 100%;
    box-sizing: border-box;
    margin-top: 1rem;
}

/* Individual card styling */
.x-axis-label {
    padding: 17px 17px 1px 17px;
    /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
    text-align: left;
    height: auto;
    /* allow dynamic height on smaller screens */
    display: flex;
    flex-direction: column;
    justify-content: center;
    transition: all 0.3s ease;

    border-radius: 14px;
    border: 1px solid var(--vz-border-color-primary);
    background: linear-gradient(
        135deg,
        var(--vz-border-bg-color) 0%,
        var(--vz-bg-color) 50%,
        #fdf2f8 100%
    );
    box-shadow:
        0 1px 3px 0 rgba(0, 0, 0, 0.1),
        0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

/* Title text */
.x-axis-label .title {
    /* font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: #374151;
    text-align: left; */

    color: #8200db;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px; /* 133.333% */
}

/* Value + Percentage layout */
.value-percentage {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    /* allow wrap on small screens */
    width: 100%;
    justify-content: flex-start;
    margin-top: 20px;
    /* margin-bottom: 10px; */
    /* left align values */
}

.value {
    font-size: 1.2rem;
    font-weight: bold;
    color: #212529;
}

.percentage {
    /* background: #cce1ff;
    color: #3f3f3f !important;
    padding: 2px 6px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 600;
    white-space: nowrap; */

    display: flex;
    padding: 2.5px 9.344px 1.5px 8px;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
    background: #ad46ff;
}

/* Custom styling for y-axis value borders in site activity page */
.y-axis-value-border {
    position: absolute;
    /* border: 2px solid var(--vz-dark-opacity-primary-color); */
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #3f3f3f;
    font-size: 0.85rem;
    /* width: 50px; */
    /* height: 50px; */
    z-index: 10;
}

/* .metric-card {
    border-color: #cad7ec;
    min-height: 160px;
    height: auto;
} */

@media (min-width: 768px) {
    .y-axis-value-border {
        width: 60px;
        height: 60px;
        font-size: 0.9rem;
    }
}

@media (min-width: 1200px) {
    .metric-card {
        padding: 1.5rem;
    }

    .metric-value {
        font-size: 2rem;
    }

    .x-axis-labels {
        gap: 1rem;
    }

    .x-axis-label {
        padding: 1rem;
    }
}

/* custom date picker background color */
.custom-date-picker {
    background-color: #ebeff3;
}

/* tabs hide and show in email activity */
.tab-pane {
    transition: opacity 0.15s linear;
    background: linear-gradient(
        320deg,
        var(--vz-bg-color),
        var(--vz-bg-color-gradient)
    ) !important;
}

/* Style for the empty state */
#no-tab-active {
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* custom chart for click chart */

.click-custom-chart-container {
    height: 300px;
    position: relative;
    width: 100%;

    border-radius: 14px;
    border: 1px solid var(--vz-secondary-border-color);
    background: #fff;
    box-shadow:
        0 1px 3px 0 rgba(0, 0, 0, 0.1),
        0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.x-axis-labels2 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 0.75rem;
    width: 100%;
    margin-top: 1rem;
}

@media (min-width: 768px) {
    .click-custom-chart-container {
        height: 400px;
    }
}

/* radio button in export screens */
.form-switch .form-check-input {
    width: 4em;
    /* default is 2em */
    height: 2em;
    /* default is 1em */
}

/* recuurence date in export screen */
.rec-select {
    background-color: #f3f4f6;
    /* gray-100 */
    border: 1px solid var(--vz-secondary-border-color);
    /* gray-200 */
}

.rec-input {
    background-color: #f3f4f6;
    border: 1px solid var(--vz-secondary-border-color);
    text-align: center;
    width: 6rem;
}

.rec-input:focus,
.rec-select:focus {
    background-color: #fff;
    border-color: #6b7280;
    /* gray-500 */
    box-shadow: none;
}

/************************************************** Global Custom Radio Button Style *****************************************************/
/* Universal custom radio button */
input[type="radio"].custom-radio {
    width: 22px;
    height: 22px;
    border: 1px solid rgba(207, 213, 223, 0.5);
    border-radius: 50%;
    appearance: none;
    /* remove default browser style */
    background-color: #fff;
    position: relative;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

/* Outer circle when checked */
input[type="radio"].custom-radio:checked {
    background-color: var(--vz-dark-opacity-primary-color);
    border: 1px solid #000;
}

/* Larger inner filled dot */
input[type="radio"].custom-radio:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 15px;
    /* Increased from 12px → 15px */
    height: 15px;
    /* Increased from 12px → 15px */
    background-color: var(--vz-light-primary-color);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.2s ease-in-out;
}

.light-blue {
    background-color: var(--vz-dark-opacity-primary-color);
}

/************************ custom input field  + upload *********************/

.input-container {
    position: relative;
    width: 100%;
    max-width: 100%;
}

.input-field {
    width: 100%;
    padding: 10px 170px 37px 15px;
    /* Right padding for button space */
    font-size: 16px;
    border: 2px solid #e1e5e9;
    border-radius: 12px;
    background-color: white;
    color: #333;
    outline: none;
    transition: all 0.3s ease;
    font-family: inherit;
}

.input-field:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}

.input-field::placeholder {
    color: #9ca3af;
    font-size: 16px;
}

.upload-button {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #f8f9fa;
    border: 1px solid #e1e5e9;
    border-radius: 8px;
    padding: 8px 16px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #6b7280;
    transition: all 0.2s ease;
    font-family: inherit;
}

.upload-button:hover {
    background-color: #e9ecef;
    border-color: #d1d5db;
    color: #374151;
}

.upload-button:active {
    transform: translateY(-50%) scale(0.98);
}

.upload-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    /* adjust size as needed */
    height: 48px;
}

.upload-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    /* space between icon and text */
}

.upload-icon svg {
    width: 100%;
    height: 100%;
}

/* Hidden file input */
.file-input {
    display: none;
}

/* Responsive design */
@media (max-width: 480px) {
    .input-field {
        padding: 14px 120px 14px 16px;
        font-size: 14px;
    }

    .upload-button {
        padding: 6px 12px;
        font-size: 13px;
    }

    .upload-icon {
        width: 14px;
        height: 14px;
    }
}

/************************************************************************** setup cards ************************************************/

/* Card Styling */

.custom-card {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    border-radius: 0.5rem;
    height: 100%;
}

/* Card Title */
.custom-card .card-title {
    margin-bottom: 0.25rem;
}

.card-title {
    color: var(--vz-light-primary-color);
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 16px; /* 133.333% */
}

/* Date text */
.custom-card .last-modified {
    font-size: 0.85rem;
    color: #6c757d;
    /* Bootstrap muted */
    margin-bottom: 1rem;
}

/* Preview Area */
.card-preview {
    background-color: #fff;
    padding: 1.5rem;
    border-radius: 0.5rem;
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 0.9rem;
}

/* Action Button */
.custom-card .btn-action {
    font-size: 0.85rem;
}

@media (min-width: 768px) {
    .card-preview {
        padding: 2rem;
    }
}

@media (min-width: 992px) {
    .card-preview {
        padding: 2.5rem;
    }
}

.time-picker-card {
    position: absolute;
    z-index: 1000;
    background: white;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 15px;
    display: none;
    width: 200px;
    margin-top: 5px;
}

.time-picker-card.show {
    display: block;
}

.time-display {
    text-align: center;
    font-size: 2rem;
    font-weight: 400;
    color: #212529;
    margin-bottom: 15px;
    font-family: monospace;
}

.time-controls {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.time-control-group {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.control-btn {
    width: 30px;
    height: 30px;
    border: 1px solid #dee2e6;
    background: white;
    color: #495057;
    border-radius: 3px;
    cursor: pointer;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
}

.control-btn:hover {
    background: #f8f9fa;
    border-color: #adb5bd;
}

.time-value {
    font-size: 1.25rem;
    font-weight: 500;
    min-width: 40px;
    text-align: center;
    font-family: monospace;
}

.password-cursor-pointer {
    cursor: pointer;
}

#donor-password-status:hover {
    opacity: 0.85;
}

.text-primary {
    /* color: #000 !important; */
    color: var(--vz-light-primary-color) !important;
}

/* ///////////// */
.apexcharts-menu-item {
    color: var(--vz-light-primary-color);
}
.apexcharts-selected {
    color: var(--vz-light-primary-color);
    width: 15px;
    height: 15px;
}
/* .span.active.yaer.focused {
    background-image: var(--btn-pagination-gradient);
} */
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
    background: linear-gradient(
        90deg,
        var(--vz-dark-primary-color) 0%,
        var(--vz-light-primary-color) 100%
    ) !important;
    color: #fff;
}

.flatpickr-input[readonly] {
    padding: 8px;
    padding-left: 8px;
    border: 2px solid var(--vz-border-color-primary);
}

.card-style {
    border-bottom: 2px solid var(--vz-border-color-primary);
    background: linear-gradient(90deg, var(--vz-bg-color) 0%, #eef2ff 100%);
}

.profile-chart-item {
    /* background: #dce1ea;
    border-radius: 12px;
    padding: 10px; */

    display: flex;
    padding: 18px 18px 24px 18px;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
    justify-self: stretch;
    border-radius: 14px;
    border: 2px solid var(--vz-border-color-primary);
    background: linear-gradient(
        135deg,
        var(--vz-border-bg-color) 0%,
        #e0e7ff 100%
    );
}
.profile-chart-item-center {
    /* background: #dce1ea;
    border-radius: 12px;
    padding: 10px; */

    display: flex;
    padding: 18px 18px 24px 18px;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
    justify-self: stretch;
    border-radius: 14px;
    border: 2px solid #bedbff;
    background: linear-gradient(135deg, #dbeafe 0%, #e0e7ff 100%);
}
.profile-chart-item p {
    color: #4a5565;
    text-align: center;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
    /* width: 72px; */
}
.profile-chart-item-center p {
    color: #4a5565;
    text-align: center;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
    /* width: 72px; */
}

.profile-info-card {
    padding: 20px;
    border-radius: 14px;
    border: 2px solid var(--vz-secondary-border-color);
    background: #fff;
    /* background-color: red; */
}
.profile-info-card h2 {
    color: #1e2939;
    text-align: center;
    font-family: Inter;
    font-size: 18px;
    font-weight: 700;
    line-height: 28px;
    letter-spacing: -0.439px;
    margin-left: auto;
    margin-right: auto;

    /* Truncate long text */
    white-space: nowrap; /* keep it on one line */
    overflow: hidden; /* hide extra text */
    text-overflow: ellipsis; /* show "..." */
    max-width: 250px; /* adjust width as needed */
}

.lh-lg {
    line-height: 3.2 !important;
}

.profile-info-bottom {

    display: flex;
    padding: 14px 14px 14px 14px;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    flex-shrink: 0;
    align-self: stretch;
    border-radius: 14px;
    border: 2px solid var(--vz-secondary-border-color);
    background: #fff;
}
.profile-name {
    color: #1e2939;
    text-align: center;
    font-family: Inter;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 155.556% */
    letter-spacing: -0.439px;
}
.profile-image {
    border-radius: 16777200px;
    border: 4px solid var(--vz-border-color-primary);

    box-shadow:
        0 4px 6px -1px rgba(0, 0, 0, 0.1),
        0 2px 4px -2px rgba(0, 0, 0, 0.1);
}
.profile-age {
    color: #6a7282;
    text-align: center;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 133.333% */
}
.profile-action-btn {
    padding: 5px;
    border-radius: 20px;
    background: #f3f4f6;
}
.donation-title {
    color: #007a55;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 16px; /* 133.333% */
}
.donation-label {
    color: #1e2939;
    font-family: Inter;
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: 36px; /* 120% */
    letter-spacing: -0.354px;
}
.badge {
    padding: 6px 13px 6px 13px;
    border-radius: 14px;
    font-family: Inter;
    font-size: 12px !important;
    font-weight: 600;
    line-height: 16px; /* 133.333% */
}

.display-info-label {
    color: #6a7282;
    font-family: Inter;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
}
.display-info {
    color: #1e2939;
    font-family: Inter;
    font-size: 14px !important;
    font-style: normal;
    font-weight: 600;
    letter-spacing: -0.15px;
    margin-top: -10px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 270px;
}

.profile-add-details {
    display: inline-flex;
    align-items: center;
    /* gap: 6px; */
    color: var(--vz-light-primary-color);
    opacity: 0.33;
    font-size: 14px;
    font-weight: 500;
    cursor: default;
    pointer-events: none;
    user-select: none;
}

.profile-add-details-icon {
    font-size: 14px;
    /* line-height: 1; */
    color: inherit;
}

.donation-label .profile-add-details {
    font-size: 16px;
    font-weight: 600;
}

.profile-age .profile-add-details {
    display: inline-flex;
}

.color-input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    border: 1px solid #d0d5dd;
    border-radius: 16px;
    padding: 6px 6px;
    background: #fff;
}

.color-text {
    border: none;
    outline: none;
    flex: 1;
    font-size: 14px;
    color: #344054;
    background: transparent;
}

.color-picker {
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: transparent;
    cursor: pointer;
}

.color-picker::-webkit-color-swatch {
    border-radius: 6px;
    border: none;
}

.color-picker::-webkit-color-swatch-wrapper {
    padding: 0;
}
.from-container {
    background-color: red;
}

.spinner-border {
    color: var(--vz-light-primary-color) !important;
}
.spinner-color {
    color: var(--vz-light-primary-color);
}
/* .form-check-input:checked[type="checkbox"] {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
} */

.form-check-input:checked {
    background-color: var(--vz-light-primary-color);
    /* border-color: #c27aff; */
}
.overview-card {
    display: flex;
    padding: 0 20px;
    justify-content: space-between;
    align-items: center;
    /* align-self: stretch; */
    /* justify-self: stretch; */
    border-radius: 16px;
    border: 2px solid var(--vz-border-color-primary);
    background: linear-gradient(
        135deg,
        var(--vz-bg-color) 0%,
        var(--vz-border-bg-color) 100%
    );
}
.overview-card-btn {
    display: flex;
    width: 30px;
    height: 30px;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    border-radius: 6px;
    background: linear-gradient(
        135deg,
        var(--vz-dark-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
    color: #fff;
}

.overview-start-section {
    padding: 20px 20px;
    border-radius: 16px;
    border: 2px solid var(--vz-border-bg-color);
    background: #fff;
    box-shadow:
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.section-header {
    /* background-color: red; */

    border-radius: 16px;
    border: 2px solid var(--vz-border-bg-color);
    background: #fff;
    box-shadow:
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 8px 10px -6px rgba(0, 0, 0, 0.1);
    padding: 26px 26px 2px 26px;
}

.email-content-card {
    padding: 26px 26px 26px 26px;
    border-radius: 16px;
    border: 2px solid var(--vz-border-bg-color);
    background: #fff;
    box-shadow:
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.nav-pills .nav-link {
    background-color: none;
    color: #000;
    /* background: none;
    border: 0;
    border-radius: var(--vz-nav-pills-border-radius); */
}
.nav-pills .nav-link:disabled {
    color: var(--vz-nav-link-disabled-color);
    background-color: transparent;
    border-color: transparent;
}
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #fff;
    background: linear-gradient(
        135deg,
        var(--vz-dark-primary-color),
        var(--vz-light-primary-color),
        var(--vz-secondary-color)
    ) !important;
    border-radius: 20px;
}
.tab-color {
    background: #ffffff00 !important;
}
.active-visitor-card {
    border-radius: 16px;
    border: 2px solid var(--vz-border-bg-color);
    background: #fff;
    box-shadow:
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 8px 10px -6px rgba(0, 0, 0, 0.1);
    padding: 10px;
}
.visitor-info-bottom {
    border-radius: 16px;
    border: 2px solid var(--vz-border-bg-color);
    background: #fff;
    padding: 26px 26px 2px 26px;
}

.nav-tabs .nav-link.active {
    background: linear-gradient(
        90deg,
        var(--vz-dark-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    /* border: var(--vz-nav-tabs-link-active-border-color); */
    color: #fff;
    border-radius: 10px;
}
.tab-light {
    background: #f9fafb !important;
    /* background: #2277cd !important; */
}
.border-primary {
    border: 1px solid var(--vz-light-primary-color);
}
.clear-btn {
    border-radius: 4px;
    margin-left: 20px;
    border: 2px solid var(--vz-border-color-primary);
    background: linear-gradient(
        135deg,
        var(--vz-bg-color) 0%,
        var(--vz-border-bg-color) 100%
    );
}
label {
    color: #000;
}

/* .btn btn-primary mb-2 rounded-3 p-1 d-flex align-items-center justify-content-center  */
.common-action-btn {
    margin-bottom: 0.5rem; /* mb-2 */
    border-radius: 0.5rem; /* rounded-3 */
    padding: 0.25rem; /* p-1 */
    display: flex;
    align-items: center;
    justify-content: center;

    border: none;
    cursor: pointer;
    font-weight: 500;
}

.common-action-btn:hover {
    background-color: #0b5ed7; /* primary hover */
}

.common-action-btn:focus {
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

/* --------------------------- sidebar --------------------------- */

/* 1. Position the parent */
.has-submenu {
    position: relative;
}

/* 2. The Menu Card */
.custom-menu-card {
    position: absolute;
    /* Move it 15px away to make room for the arrow */
    left: 100%;
    top: -5px;
    width: 200px;
    background: #ffffff;
    /* border-radius: 8px; */
    /* box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); */
    /* border: 1px solid #e9ebec; */
    display: none;
    z-index: 9999;
    padding: 10px 0;
    margin-left: 2px;

    border-radius: 14px;
    border: 2px solid var(--vz-border-bg-color);
    background: #fff;
    box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

/* 3. THE BRIDGE (Invisible area that keeps the menu open) */
.custom-menu-card::before {
    content: "";
    position: absolute;
    left: -20px; /* Fills the 15px margin-left gap */
    top: 0;
    width: 20px;
    height: 100%;
    background: transparent;
}

/* 4. THE ARROW (The triangle pointing left) */
.custom-menu-card::after {
    content: "";
    position: absolute;
    left: -12px; /* Positioned in the gap */
    top: 15px; /* Adjust this to align with your text */
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 12px solid #ffffff; /* Matches card background */
    filter: drop-shadow(-2px 0 1px rgba(0, 0, 0, 0.05));
}

/* 5. Show on Hover */
.has-submenu:hover .custom-menu-card {
    display: block;
}

/* --- Ensure Sidebar stays expanded when hovering the card --- */
.navbar-menu:has(.custom-menu-card:hover),
.navbar-menu:hover {
    width: 250px !important;
}

/* Clean list styling */
.submenu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.submenu-list li a {
    display: block;
    padding: 10px 20px;
    color: #444;
    text-decoration: none;
    font-size: 14px;
}
.submenu-list li a:hover {
    background: var(--vz-dark-opacity-primary-color);
    color: var(--vz-light-primary-color);
}

/* Normal state for submenu links */
.submenu-list li a {
    display: block;
    padding: 10px 20px;
    color: #495057 !important; /* Dark grey to prevent theme green/white */
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s ease;
    border-radius: 8px; /* Rounded corners for the blue bg */
    margin: 2px 10px; /* Space around the link so the bg looks like a pill */
}

/* Hover state for non-active links */
.submenu-list li a:hover {
    background: #f3f6f9;
    color: var(--vz-light-primary-color) !important; /* Blue text on hover */
}

/* ACTIVE state (Blue Background) */
.submenu-list li a.active {
    background-color: var(
        --vz-dark-opacity-primary-color
    ) !important; /* Soft light blue background */
    color: var(--vz-light-primary-color) !important; /* Dark blue text */
    font-weight: 700;
}

/* Optional: header styling for the card */
.menu-card-header {
    padding: 12px 20px 5px 20px;
    font-size: 11px;
    font-weight: 700;
    color: #adb5bd;
    text-transform: uppercase;
}

/* 2. The Menu Card - Updated with height constraints */
.custom-menu-card {
    position: absolute;
    left: 100%;
    top: -5px;
    width: 200px;
    background: #ffffff;
    display: none;
    z-index: 9999;
    padding: 5px 0; /* Reduced padding slightly for better scroll alignment */
    margin-left: 2px;
    border-radius: 14px;
    border: 2px solid var(--vz-border-bg-color);
    box-shadow:
        0 10px 15px -3px rgba(0, 0, 0, 0.1),
        0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

/* New: Submenu List Scroll Logic */
.submenu-list {
    list-style: none;
    padding: 0;
    margin: 0;

    /* Constraint: Show 7 items, then scroll */
    max-height: 400px;
    overflow-y: auto;
    overflow-x: hidden; /* Prevent horizontal scroll */
}

/* Optional: Custom Scrollbar Styling (Makes it look cleaner) */
.submenu-list::-webkit-scrollbar {
    width: 5px;
}

.submenu-list::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.submenu-list::-webkit-scrollbar-thumb {
    background: #d1d5db;
    border-radius: 10px;
}

.submenu-list::-webkit-scrollbar-thumb:hover {
    background: #405189; /* Matches your theme blue */
}

/* Align the card to the bottom instead of the top */
.pop-upward .custom-menu-card {
    top: auto !important; /* Reset the top: -5px you had earlier */
    bottom: -10px; /* Align bottom of card with bottom of icon */
}

/* Move the "Bridge" (invisible hover area) to cover the bottom area */
.pop-upward .custom-menu-card::before {
    top: auto;
    bottom: 0;
}

/* Move the Arrow (Triangle) to the bottom of the card */
.pop-upward .custom-menu-card::after {
    top: auto !important; /* Reset the top: 15px */
    bottom: 20px; /* Position triangle near the bottom of the card */
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 12px solid #ffffff;
}
.other-information-wrapper {
    display: flex;
    height: 172px;
    padding: 26px 26px 2px 26px;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    flex-shrink: 0;
    align-self: stretch;
    border-radius: 14px;
    border: 2px solid var(--vz-border-bg-color);
    background: linear-gradient(135deg, var(--vz-bg-color) 0%, #eef2ff 100%);
}

/* Add this to your CSS file */
.dropdown-menu {
    z-index: 9999 !important;
}

/* Ensure the parent card doesn't clip the menu if boundary viewport is somehow ignored */
.flowchaincard {
    position: relative;
    /* Optional: Ensure the card being interacted with moves to the front */
}
.flowchaincard:focus-within {
    z-index: 1050;
}

/* table.dataTable td,
table.dataTable th {
    vertical-align: top !important;
} */

/* //////////////////////// */
.button-design-view {
    min-height: auto;
}

.button-design-card img {
    min-width: 248px;
    max-width: 248px;
    height: 245px;
    border-radius: 10px;
    object-fit: cover;
}

.button-design-view.form-sticky-btn {
    min-height: 394px;
    min-width: 280px;
    padding: 0;
}

.button-design-view.form-sticky-btn .stick-left-center {
    border-radius: 0 6px 6px 0;
    transform: translateY(-50%);
    position: absolute;
    width: max-content;
    top: 50%;
    transform-origin: top;
    writing-mode: sideways-lr;
    height: fit-content;
    display: flex;
    align-items: center;
    padding-top: 14px;
    padding-bottom: 15px;
    justify-content: center;
}

.button-design-view.form-sticky-btn .stick-left-top {
    border-radius: 0 6px 6px 0;
    position: absolute;
    width: max-content;
    top: 0;
    transform-origin: top;
    writing-mode: sideways-lr;
    height: fit-content;
    display: flex;
    align-items: center;
    padding-top: 15px;
    padding-bottom: 15px;
}

.button-design-view.form-sticky-btn .stick-left-bottom {
    border-radius: 0 6px 6px 0;
    position: absolute;
    width: max-content;
    bottom: 0;
    transform-origin: top;
    writing-mode: sideways-lr;
    height: fit-content;
    display: flex;
    align-items: center;
    padding-top: 14px;
    padding-bottom: 15px;
}

.button-design-view.form-sticky-btn .stick-right-center {
    border-radius: 6px 0px 0 6px;
    position: absolute;
    width: max-content;
    transform: translateY(-50%);
    right: 0;
    transform-origin: right;
    top: 50%;
    writing-mode: sideways-lr;
    height: fit-content;
    padding-top: 15px;
    padding-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.button-design-view.form-sticky-btn .stick-right-top {
    border-radius: 6px 0 0 6px;
    position: absolute;
    width: max-content;
    writing-mode: sideways-lr;
    top: 0;
    right: 0;
    transform-origin: top right;
    height: fit-content;
    display: flex;
    padding-top: 15px;
    padding-bottom: 15px;
}

.button-design-view.form-sticky-btn .stick-right-bottom {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    position: absolute;
    width: max-content;
    bottom: 0;
    right: 0;
    writing-mode: sideways-lr;
    height: fit-content;
    display: flex;
    align-items: center;
    padding-top: 15px;
    padding-bottom: 15px;
}

.button-design-view.form-sticky-btn .stick-top-left {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    position: absolute;
    width: max-content;
    top: 0px;
    left: 0;
    margin: 0 auto;
}

.button-design-view.form-sticky-btn .stick-top-center {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    position: absolute;
    width: max-content;
    top: 0px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.button-design-view.form-sticky-btn #sticky-top i.bi,
.button-design-view.form-sticky-btn #sticky-bottom i.bi {
    padding-left: 10px;
}

.button-design-view.form-sticky-btn #sticky-left i.bi,
.button-design-view.form-sticky-btn #sticky-right i.bi {
    padding-bottom: 10px;
}

.button-design-view.form-sticky-btn .stick-top-right {
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    position: absolute;
    width: max-content;
    top: 0px;
    right: 0;
    margin: 0 auto;
}

.button-design-view.form-sticky-btn .stick-bottom-center {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    position: absolute;
    width: max-content;
    bottom: 0px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.button-design-view.form-sticky-btn .stick-bottom-left {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    position: absolute;
    width: max-content;
    bottom: 0px;
    left: 0;
    margin: 0 auto;
}

.button-design-view.form-sticky-btn .stick-bottom-right {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    position: absolute;
    width: max-content;
    bottom: 0px;
    right: 0;
    margin: 0 auto;
}

.pb-2 > h4.display-info {
    color: #1e2939;
    font-size: 18px;
    font-weight: 700;

    /* Make long words wrap */
    word-break: break-word; /* breaks really long words */
    overflow-wrap: anywhere; /* allows wrapping anywhere if needed */

    /* Optional: limit height if you want ellipsis after N lines */
    display: -webkit-box;
    -webkit-line-clamp: 3; /* number of lines */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Glass Card */
.glass-card {
    background: rgba(255, 255, 255, 0.25);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 255, 255, 0.35);
}

/* Glass Body */
.glass-body {
    background: rgba(255, 255, 255, 0.15);
}

/* Glass Inputs */
.glass-input {
    background: rgba(255, 255, 255, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.45);
    color: #000;
}

.glass-input::placeholder {
    color: #555;
}

.glass-input:focus {
    background: rgba(255, 255, 255, 0.55);
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
    border-color: #0d6efd;
}

.modal-header h4 {
    font-style: normal;
    font-weight: 700;
    line-height: 32px; /* 133.333% */
    letter-spacing: 0.07px;

    background: linear-gradient(
        90deg,
        var(--vz-light-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.child-group-add{
    display: none !important;
}



/* donor portal css*/

#portalProfileOffcanvas {
    width: 1020px;
    margin: 0 0 0 auto;
    height: 100vh;
}

/* Nested offcanvas (#modal2): smooth slide/fade main sidebar (body.nested-offcanvas-open from admin/footer.blade.php). */
body.nested-offcanvas-open .app-menu.navbar-menu {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate3d(-100%, 0, 0) !important;
    transition: opacity 0.32s ease-out, transform 0.32s ease-out,
        visibility 0s linear 0.32s !important;
}

@media (prefers-reduced-motion: reduce) {
    body.nested-offcanvas-open .app-menu.navbar-menu {
        transition: none !important;
        transform: none !important;
    }
}

[dir="rtl"] body.nested-offcanvas-open .app-menu.navbar-menu {
    transform: translate3d(100%, 0, 0) !important;
}

/* Nested admin drawers (#modal2, #visitorEventDetailModal): longer + softer easing for smoother open/close (transform only). */
#modal2.offcanvas.custom-canvas.offcanvas-end,
#visitorEventDetailModal.offcanvas.custom-canvas.offcanvas-end {
    -webkit-transition: -webkit-transform 0.62s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 0.62s cubic-bezier(0.19, 1, 0.22, 1),
        -webkit-transform 0.62s cubic-bezier(0.19, 1, 0.22, 1);
}

@media (prefers-reduced-motion: reduce) {
    #modal2.offcanvas.custom-canvas.offcanvas-end,
    #visitorEventDetailModal.offcanvas.custom-canvas.offcanvas-end {
        -webkit-transition: none;
        transition: none;
    }
}

.profile-stat-card {
    display: flex;
    padding: 22px;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    align-self: stretch;
    border-radius: 14px;
    border: 2px solid;
    box-shadow:
        0 1px 3px 0 rgba(0, 0, 0, 0.1),
        0 1px 2px -1px rgba(0, 0, 0, 0.1);
}

.profile-stat-label {
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 16px;
}

.profile-stat-value {
    color: #1e2939;
    font-family: Inter;
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: 36px;
    letter-spacing: -0.354px;
}

.profile-stat-card-orange {
    border-color: #ff8904;
    background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
}

.profile-stat-card-orange .profile-stat-label {
    color: #f54900;
}

.profile-stat-card-purple {
    border-color: #c27aff;
    background: linear-gradient(135deg, #faf5ff 0%, #f3e8ff 100%);
}

.profile-stat-card-purple .profile-stat-label {
    color: #9810fa;
}

.profile-stat-card-purple .profile-stat-icon {
    color: #9810fa;
}

.profile-stat-card-blue {
    border-color: #51a2ff;
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
}

.profile-stat-card-blue .profile-stat-label {
    color: #155dfc;
}

.profile-stat-card-blue .profile-stat-icon {
    color: #155dfc;
}

.profile-stat-card-green {
    border-color: #00d492;
    background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%);
}

.profile-stat-card-green .profile-stat-label {
    color: #007a55;
}

.profile-status-badge {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 999px;
    background: #fff;
    font-family: Inter;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
}

.profile-status-badge-active {
    color: #007a55;
    border: 1px solid #00d492;
}

.profile-status-badge-inactive {
    color: #ac0000;
    border: 1px solid #ffa5a5;
}

/* Event create/edit modal — match form-builder field styling */
#addEditModal .event-details-fields {
    padding: 0 4px 4px;
}

#addEditModal .event-details-fields .form-control,
#addEditModal .event-details-fields .form-select,
#addEditModal .form-design-wrapper .tab-light .form-control:not(.color-field),
#addEditModal .form-design-wrapper .tab-light .form-select {
    padding: 8px;
    font-size: 12px;
    width: 100%;
    color: #3f3f3f;
    border-radius: 10px;
    border: 1px solid #d1d5dc;
    background: #fff;
    box-shadow: none;
}

#addEditModal .event-details-fields .form-control:focus,
#addEditModal .event-details-fields .form-select:focus,
#addEditModal .form-design-wrapper .tab-light .form-control:focus:not(.color-field),
#addEditModal .form-design-wrapper .tab-light .form-select:focus {
    border-color: #c27aff;
    box-shadow: none;
}

#addEditModal .event-details-fields .form-control::placeholder,
#addEditModal .form-design-wrapper .tab-light .form-control::placeholder {
    color: #b2b9c7;
    font-size: 12px;
}

#addEditModal .event-details-fields textarea.form-control {
    min-height: 96px;
    resize: vertical;
}

#addEditModal .form-design-wrapper .tab-light .form-label,
#addEditModal .form-design-wrapper .tab-light > h5 {
    font-size: 12px;
    font-weight: 400;
    color: #3f3f3f;
}

#addEditModal .event-type-wrapper {
    margin-bottom: 0;
    background: transparent;
}

#addEditModal .event-type-choice .event-type-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
    min-height: 44px;
    height: 44px;
    padding: 8px 10px;
    cursor: pointer;
    position: relative;
    text-align: left;
    background: #fff;
    border: 1px solid #cfd5df;
    border-radius: 8px;
    padding-bottom: 8px;
}

#addEditModal .event-type-choice .event-type-item span.event-type-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    margin-bottom: 0;
    font-size: 18px;
    line-height: 1;
    color: #3f3f3f;
    text-align: left;
    flex-shrink: 0;
}

#addEditModal .event-type-choice .event-type-label {
    flex: 1;
    min-width: 0;
    font-size: 12px;
    font-weight: 500;
    color: #3f3f3f;
    letter-spacing: -0.24px;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#addEditModal .event-type-choice input:checked ~ .event-type-item {
    border: 1px solid #c27aff;
}

#addEditModal .event-type-choice input:checked ~ .event-type-item .event-type-icon,
#addEditModal .event-type-choice input:checked ~ .event-type-item .event-type-label {
    color: var(--Primary-Brand, #551895);
    font-family: inherit;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: -0.24px;
}

#addEditModal .event-type-choice input:checked ~ .event-type-item .event-type-icon {
    font-size: 18px;
    font-weight: 400;
}

#addEditModal .event-type-choice .event-type-item::after {
    content: none;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: #551895;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.5 6.2L5 8.7L9.5 3.8' stroke='white' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 11px 11px;
}

#addEditModal .event-type-choice input:checked ~ .event-type-item::after {
    content: "";
    display: block;
}

#addEditModal .schedule-type-choice .event-type-item {
    height: auto;
    min-height: 44px;
    padding-top: 10px;
    padding-bottom: 10px;
}

#addEditModal .schedule-type-choice .event-type-label {
    white-space: normal;
}

#addEditModal .event-details-fields .sk-drag-drop-upload {
    margin-bottom: 0;
}

/* Membership form create/edit — labels above fields */
#createForm .membership-details-fields {
    padding: 0 4px 4px;
}

#createForm .membership-details-fields textarea.form-field {
    max-width: 100%;
}

#createForm .membership-details-fields .sk-drag-drop-upload {
    margin-bottom: 0;
}

/* Form builder create/edit — labels above fields */
#createForm .form-builder-details-fields {
    padding: 0 4px 4px;
}

#createForm .form-builder-details-fields textarea.form-field {
    max-width: 100%;
}

#createForm .form-builder-details-fields .sk-drag-drop-upload {
    margin-bottom: 0;
}

/* Form builder Elements Customization — labels above fields */
#createForm #element-fields.form-builder-elements-fields .row.align-items-center > h6,
#createForm #element-fields.form-builder-elements-fields .row > h6 {
    width: 100%;
    flex: 0 0 100%;
}

#createForm #element-fields.form-builder-elements-fields .col-3:not(.text-center) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#createForm #element-fields.form-builder-elements-fields .col-9 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#createForm #element-fields.form-builder-elements-fields .align-items-center[id^="text-amount"],
#createForm #element-fields.form-builder-elements-fields .align-items-center[id^="btn-text-icon"] {
    display: flex;
    flex-direction: column;
}

#createForm #element-fields.form-builder-elements-fields .align-items-center[id^="text-amount"] > .col-3,
#createForm #element-fields.form-builder-elements-fields .align-items-center[id^="text-amount"] > .col-9,
#createForm #element-fields.form-builder-elements-fields .align-items-center[id^="btn-text-icon"] > .col-3,
#createForm #element-fields.form-builder-elements-fields .align-items-center[id^="btn-text-icon"] > .col-9 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
}

#createForm #element-fields.form-builder-elements-fields .col-3 h6 {
    margin-top: 0 !important;
    font-weight: 400 !important;
}

/* Event Elements Customization — labels above fields */
#addEditModal #event-elements-tab .event-elements-fields .row.align-items-center > h6,
#addEditModal #event-elements-tab .event-elements-fields .event-elements-button-div > h6,
#addEditModal #event-elements-tab .event-elements-fields .event-elements-form-div > h6 {
    width: 100%;
    flex: 0 0 100%;
}

#addEditModal #event-elements-tab .event-elements-fields .col-3:not(.text-center),
#addEditModal #event-elements-tab .event-elements-fields .col-4 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#addEditModal #event-elements-tab .event-elements-fields .col-9,
#addEditModal #event-elements-tab .event-elements-fields .col-8 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#addEditModal #event-elements-tab .event-elements-fields .col-3 h6,
#addEditModal #event-elements-tab .event-elements-fields .col-4 h6 {
    margin-top: 0 !important;
    font-weight: 400 !important;
}

/* Subscription form create/edit — labels above fields */
#createForm .subscription-details-fields {
    padding: 0 4px 4px;
}

#createForm .subscription-details-fields textarea.form-field {
    max-width: 100%;
}

#createForm .subscription-details-fields .sk-drag-drop-upload {
    margin-bottom: 0;
}

#createForm #element-fields.subscription-elements-fields .row.align-items-center > h6,
#createForm #element-fields.subscription-elements-fields .row > h6 {
    width: 100%;
    flex: 0 0 100%;
}

#createForm #element-fields.subscription-elements-fields .col-3:not(.text-center) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#createForm #element-fields.subscription-elements-fields .col-9 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#createForm #element-fields.subscription-elements-fields .col-3 h6 {
    margin-top: 0 !important;
    font-weight: 400 !important;
}

/* Zakat form create/edit — labels above fields */
#createForm .zakat-details-fields {
    padding: 0 4px 4px;
}

#createForm .zakat-details-fields textarea.form-field {
    max-width: 100%;
}

#createForm .zakat-details-fields .sk-drag-drop-upload {
    margin-bottom: 0;
}

#createForm #element-fields.zakat-elements-fields .row.align-items-center > h6,
#createForm #element-fields.zakat-elements-fields .row > h6 {
    width: 100%;
    flex: 0 0 100%;
}

#createForm #element-fields.zakat-elements-fields .col-3:not(.text-center) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#createForm #element-fields.zakat-elements-fields .col-9 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#createForm #element-fields.zakat-elements-fields .col-3 h6 {
    margin-top: 0 !important;
    font-weight: 400 !important;
}

/* Ramadan form create/edit — labels above fields */
#createForm .ramadan-details-fields {
    padding: 0 4px 4px;
}

#createForm .ramadan-details-fields textarea.form-field {
    max-width: 100%;
}

#createForm #element-fields.ramadan-elements-fields .row.align-items-center > h6,
#createForm #element-fields.ramadan-elements-fields .row > h6 {
    width: 100%;
    flex: 0 0 100%;
}

#createForm #element-fields.ramadan-elements-fields .col-3:not(.text-center) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#createForm #element-fields.ramadan-elements-fields .col-9 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#createForm #element-fields.ramadan-elements-fields .align-items-center[id^="text-amount"],
#createForm #element-fields.ramadan-elements-fields .align-items-center[id^="btn-text-icon"] {
    display: flex;
    flex-direction: column;
}

#createForm #element-fields.ramadan-elements-fields .align-items-center[id^="text-amount"] > .col-3,
#createForm #element-fields.ramadan-elements-fields .align-items-center[id^="text-amount"] > .col-9,
#createForm #element-fields.ramadan-elements-fields .align-items-center[id^="btn-text-icon"] > .col-3,
#createForm #element-fields.ramadan-elements-fields .align-items-center[id^="btn-text-icon"] > .col-9 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
}

#createForm #element-fields.ramadan-elements-fields .col-3 h6 {
    margin-top: 0 !important;
    font-weight: 400 !important;
}

.close-form-confirm-popup {
    width: 560px !important;
    max-width: calc(100vw - 32px);
    padding: 32px 28px 24px !important;
    border: 1px solid #cfd5df;
    border-radius: 16px;
}

.close-form-confirm-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    border-radius: 12px;
    background: #f3ecff;
}

.close-form-confirm-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: linear-gradient(
        90deg,
        var(--vz-light-primary-color) 0%,
        var(--vz-text-color-blue) 100%
    );
    color: #ffffff;
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
}

.close-form-confirm-popup .close-form-confirm-title {
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    text-align: center;
}

.close-form-confirm-popup .close-form-confirm-body {
    color: #3f3f3f !important;
    font-size: 14px !important;
    line-height: 1.55;
    text-align: center;
    margin: 12px 0 0 !important;
    padding: 0 8px !important;
}

.close-form-confirm-text {
    margin: 0;
    color: inherit;
}

.close-form-confirm-popup .close-form-confirm-actions,
.status-change-confirm-popup .close-form-confirm-actions,
.save-confirm-popup .close-form-confirm-actions {
    justify-content: space-between;
    width: 100%;
    margin-top: 28px !important;
    padding: 0 8px;
}

.save-confirm-icon-wrap {
    background: #eef4ff;
}

.save-confirm-icon {
    font-size: 22px;
    line-height: 1;
    color: var(--vz-text-color-blue, #405189);
}

.status-change-confirm-body {
    margin-top: 20px !important;
}

.status-change-confirm-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}

.status-change-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 110px;
    padding: 10px 22px;
    border-radius: 40px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}

.status-change-tag-active {
    background-color: #a5ffb8;
    color: #00ac47;
}

.status-change-tag-inactive {
    background-color: #ffd5e0;
    color: #ff5882;
}

.status-change-tag-draft {
    background-color: #fff7d5;
    color: #e6b800;
}

.status-change-tag-pending {
    background-color: #fff3cd;
    color: #997404;
}

.status-change-tag-default {
    background-color: #eef2f7;
    color: #3f3f3f;
}

.status-change-confirm-arrow {
    font-size: 22px;
    line-height: 1;
    color: #909cb6;
    font-weight: 600;
}

.delete-confirm-icon-wrap,
.restore-confirm-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 auto 16px;
    border-radius: 12px;
}

.delete-confirm-icon-wrap {
    background: #ffebf0;
}

.restore-confirm-icon-wrap {
    background: #e8f8ef;
}

.delete-confirm-icon,
.restore-confirm-icon {
    font-size: 22px;
    line-height: 1;
}

.delete-confirm-icon {
    color: #ff5882;
}

.restore-confirm-icon {
    color: #00ac47;
}

.delete-confirm-popup .delete-confirm-title {
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    text-align: center;
}

.delete-confirm-popup .delete-confirm-body {
    color: #3f3f3f !important;
    font-size: 14px !important;
    line-height: 1.55;
    text-align: center;
    margin: 12px 0 0 !important;
    padding: 0 8px !important;
}

.delete-confirm-text {
    margin: 0;
    color: inherit;
}

.delete-confirm-popup .delete-confirm-actions {
    justify-content: space-between;
    width: 100%;
    margin-top: 28px !important;
    padding: 0 8px;
}

.subscribe-toggle-confirm-popup .subscribe-toggle-confirm-actions {
    justify-content: space-between;
    width: 100%;
    margin-top: 28px !important;
    padding: 0 8px;
    flex-direction: row;
}

.subscribe-toggle-confirm-popup .subscribe-toggle-confirm-btn-no {
    order: 1;
    margin: 0 !important;
}

.subscribe-toggle-confirm-popup .subscribe-toggle-confirm-btn-yes {
    order: 2;
    margin: 0 !important;
}

/* Button + Data + List + Overlay widget — shared elements customization layout */
#createForm .button-details-fields,
#createWidget .data-details-fields,
#createWidget .overlay-details-fields,
#createList .list-details-fields,
#createLink .link-details-fields {
    padding: 0 4px 4px;
}

#createForm #element-fields.button-elements-fields .row.align-items-center > h6,
#createForm #element-fields.button-elements-fields .row > h6,
#createWidget #element-fields.data-elements-fields .row.align-items-center > h6,
#createWidget #element-fields.data-elements-fields .row > h6,
#createWidget #element-fields.overlay-elements-fields .row.align-items-center > h6,
#createWidget #element-fields.overlay-elements-fields .row > h6,
#createList #element-fields.list-elements-fields .row.align-items-center > h6,
#createList #element-fields.list-elements-fields .row > h6 {
    width: 100%;
    flex: 0 0 100%;
}

#createForm #element-fields.button-elements-fields .row.align-items-center:not(:has(.form-switch)) > .col-3:not(.text-center),
#createForm #element-fields.button-elements-fields .row:not(:has(.form-switch)) > .col-3:not(.text-center),
#createWidget #element-fields.data-elements-fields .row.align-items-center:not(:has(.form-switch)) > .col-3:not(.text-center),
#createWidget #element-fields.data-elements-fields .row:not(:has(.form-switch)) > .col-3:not(.text-center),
#createWidget #element-fields.overlay-elements-fields .row.align-items-center:not(:has(.form-switch)) > .col-3:not(.text-center),
#createWidget #element-fields.overlay-elements-fields .row:not(:has(.form-switch)) > .col-3:not(.text-center),
#createList #element-fields.list-elements-fields .row.align-items-center:not(:has(.form-switch)) > .col-3:not(.text-center),
#createList #element-fields.list-elements-fields .row:not(:has(.form-switch)) > .col-3:not(.text-center) {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#createForm #element-fields.button-elements-fields .row.align-items-center:not(:has(.form-switch)) > .col-9,
#createForm #element-fields.button-elements-fields .row:not(:has(.form-switch)) > .col-9,
#createWidget #element-fields.data-elements-fields .row.align-items-center:not(:has(.form-switch)) > .col-9,
#createWidget #element-fields.data-elements-fields .row:not(:has(.form-switch)) > .col-9,
#createWidget #element-fields.overlay-elements-fields .row.align-items-center:not(:has(.form-switch)) > .col-9,
#createWidget #element-fields.overlay-elements-fields .row:not(:has(.form-switch)) > .col-9,
#createList #element-fields.list-elements-fields .row.align-items-center:not(:has(.form-switch)) > .col-9,
#createList #element-fields.list-elements-fields .row:not(:has(.form-switch)) > .col-9 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0.25rem;
}

#createForm #element-fields.button-elements-fields .row.align-items-center:not(:has(.form-switch)) .col-3 h6,
#createForm #element-fields.button-elements-fields .row:not(:has(.form-switch)) .col-3 h6,
#createWidget #element-fields.data-elements-fields .row.align-items-center:not(:has(.form-switch)) .col-3 h6,
#createWidget #element-fields.data-elements-fields .row:not(:has(.form-switch)) .col-3 h6,
#createWidget #element-fields.overlay-elements-fields .row.align-items-center:not(:has(.form-switch)) .col-3 h6,
#createWidget #element-fields.overlay-elements-fields .row:not(:has(.form-switch)) .col-3 h6,
#createList #element-fields.list-elements-fields .row.align-items-center:not(:has(.form-switch)) .col-3 h6,
#createList #element-fields.list-elements-fields .row:not(:has(.form-switch)) .col-3 h6 {
    margin-top: 0 !important;
    font-weight: 400 !important;
}

#createForm #element-fields.button-elements-fields .align-items-center[id^="text-amount"],
#createForm #element-fields.button-elements-fields .align-items-center[id^="btn-text-icon"] {
    display: flex;
    flex-direction: column;
}

#createForm #element-fields.button-elements-fields .align-items-center[id^="text-amount"] > .col-3,
#createForm #element-fields.button-elements-fields .align-items-center[id^="text-amount"] > .col-9,
#createForm #element-fields.button-elements-fields .align-items-center[id^="btn-text-icon"] > .col-3,
#createForm #element-fields.button-elements-fields .align-items-center[id^="btn-text-icon"] > .col-9 {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
}

/* Custom Event create modal */
.custom-event-create-modal .modal-header .custom-event-header-main {
    margin-top: 6px;
}

.custom-event-create-modal .modal-header .modal-title {
    background: none;
    -webkit-background-clip: unset;
    background-clip: unset;
    -webkit-text-fill-color: currentcolor;
    font-size: 18px;
    line-height: 1.25;
}

.custom-event-create-modal .ce-section-title {
    color: #3f3f3f;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.custom-event-create-modal .ce-section-desc,
.custom-event-create-modal .ce-help-text {
    color: #9ca3af;
    font-size: 12px;
}

.custom-event-create-modal .ce-form-label {
    color: #3f3f3f;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.custom-event-create-modal .ce-form-control {
    border: 1.5px solid #e8e0f5;
    border-radius: 8px;
    font-size: 13px;
    min-height: 40px;
}

.custom-event-create-modal .ce-form-control:focus {
    border-color: var(--vz-light-primary-color);
    box-shadow: none;
}

.custom-event-create-modal .ce-form-switch {
    padding-left: 0;
}

.custom-event-create-modal .ce-form-switch .form-check-input {
    height: 1.35em;
    margin: 0;
    width: 2.5em;
}

.custom-event-create-modal .ce-form-switch .form-check-input:checked {
    background-color: var(--vz-dark-primary-color);
    border-color: var(--vz-dark-primary-color);
}

.custom-event-create-modal .ce-btn-add-field {
    background-color: #22c55e;
    border: 0;
    border-radius: 8px;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    white-space: nowrap;
}

.custom-event-create-modal .ce-btn-add-field:hover,
.custom-event-create-modal .ce-btn-add-field:focus {
    background-color: #16a34a;
    color: #fff;
}

.custom-event-create-modal .ce-btn-add-mapping {
    background: #fff;
    border: 1.5px solid var(--vz-light-primary-color);
    border-radius: 8px;
    color: var(--vz-dark-primary-color);
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    white-space: nowrap;
}

.custom-event-create-modal .ce-btn-add-mapping:hover,
.custom-event-create-modal .ce-btn-add-mapping:focus {
    background: #f8f4ff;
    border-color: var(--vz-dark-primary-color);
    color: var(--vz-dark-primary-color);
}

.custom-event-create-modal .ce-payload-container {
    background: #f3f4f6;
    border-radius: 10px;
    padding: 12px;
}

.custom-event-create-modal .ce-btn-remove {
    align-items: center;
    background: #f97316;
    border: 0;
    border-radius: 8px;
    color: #fff;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    padding: 0;
    width: 36px;
}

.custom-event-create-modal .ce-btn-remove:hover,
.custom-event-create-modal .ce-btn-remove:focus {
    background: #ea580c;
    color: #fff;
}

.custom-event-create-modal .ce-btn-remove i {
    font-size: 18px;
    line-height: 1;
}

.custom-event-create-modal .ce-mapping-table-wrap {
    border: 1px solid #e8e0f5;
    border-radius: 10px;
    overflow: hidden;
}

.custom-event-create-modal .ce-mapping-table thead tr {
    background: linear-gradient(90deg, var(--vz-dark-primary-color) 0%, var(--vz-secondary-color) 100%);
}

.custom-event-create-modal .ce-mapping-table thead th {
    border: 0;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 10px 12px;
    white-space: nowrap;
}

.custom-event-create-modal .ce-mapping-table tbody tr {
    background: #f3f4f6;
}

.custom-event-create-modal .ce-mapping-table tbody td {
    border-color: #e5e7eb;
    padding: 10px 12px;
    vertical-align: middle;
}

.custom-event-create-modal .ce-mapping-table .map-type-display {
    background: #ede9fe;
    border: 0;
    border-radius: 6px;
    color: var(--vz-dark-primary-color);
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    min-width: 72px;
    padding: 6px 12px;
    text-align: center;
}

.custom-event-create-modal .ce-mapping-table .form-check-input:checked {
    background-color: var(--vz-dark-primary-color);
    border-color: var(--vz-dark-primary-color);
}

.import-export-dropdown .import-export-dropdown-btn,
.import-export-dropdown .import-export-dropdown-btn:hover,
.import-export-dropdown .import-export-dropdown-btn:focus,
.import-export-dropdown .import-export-dropdown-btn:active,
.import-export-dropdown .import-export-dropdown-btn.show,
.import-export-dropdown .import-export-dropdown-btn:first-child:active {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    line-height: 16px;
    padding: 8px 12px;
    border-radius: 50px;
    white-space: nowrap;
    background-color: transparent !important;
    background-image: none !important;
    border: 1.5px solid var(--vz-light-primary-color) !important;
    box-shadow: none !important;
    color: var(--vz-light-primary-color) !important;
}

.import-export-dropdown-btn img {
    width: 19px;
    height: 19px;
    flex-shrink: 0;
}

.import-export-dropdown-btn::after {
    display: none;
}

.import-export-dropdown ul.dropdown-menu {
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    padding: 12px;
    background: #ffffff;
    min-width: 280px;
    margin-top: 8px !important;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
}

.import-export-dropdown ul.dropdown-menu li + li {
    margin-top: 4px;
}

.import-export-dropdown .import-export-menu-item {
    padding: 10px 12px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px;
    white-space: normal !important;
    font-weight: 400 !important;
    color: inherit !important;
}

.import-export-dropdown .import-export-menu-item:hover,
.import-export-dropdown .import-export-menu-item:focus,
.import-export-dropdown .import-export-menu-item:active {
    background: #f9fafb !important;
    font-weight: 400 !important;
}

.import-export-dropdown .import-export-menu-icon {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    margin-top: 2px;
}

.import-export-dropdown .import-export-menu-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.import-export-dropdown .import-export-menu-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.3;
    color: #111827 !important;
}

.import-export-dropdown .import-export-menu-desc {
    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4;
    color: #6b7280 !important;
}

.status-form-switch.form-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 30px;
    padding-left: 0;
}

.status-form-switch.form-switch .form-check-input {
    width: 58px;
    height: 30px;
    margin-left: 0;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    flex-shrink: 0;
    float: none;
    position: relative;
    appearance: none;
    -webkit-appearance: none;
    background-image: none !important;
    transition: background-color 0.2s ease-in-out;
}

.status-form-switch.form-switch .form-check-input:not(:checked) {
    background-color: #e74c3c !important;
    border-color: #e74c3c !important;
}

.status-form-switch.form-switch .form-check-input:checked {
    background-color: #2ecc71 !important;
    border-color: #2ecc71 !important;
}

.status-form-switch.form-switch .form-check-input::before {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
    transition: transform 0.2s ease-in-out;
    z-index: 2;
}

.status-form-switch.form-switch .form-check-input:checked::before {
    transform: translateX(28px);
}

.status-form-switch.form-switch .form-check-input::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: #fff;
    line-height: 1;
    pointer-events: none;
    z-index: 1;
    text-transform: uppercase;
}

.status-form-switch.form-switch .form-check-input:not(:checked)::after {
    content: "OFF";
    right: 8px;
    left: auto;
}

.status-form-switch.form-switch .form-check-input:checked::after {
    content: "ON";
    left: 9px;
    right: auto;
}

.status-form-switch.form-switch .form-check-input:not(:checked):focus {
    box-shadow: 0 0 0 0.2rem rgba(231, 76, 60, 0.28);
}

.status-form-switch.form-switch .form-check-input:checked:focus {
    box-shadow: 0 0 0 0.2rem rgba(46, 204, 113, 0.28);
}

tr td .status-form-switch.form-switch .form-check-input,
tr th .status-form-switch.form-switch .form-check-input,
#email-sending-servers-table .status-form-switch.form-switch .form-check-input {
    width: 58px !important;
    height: 30px !important;
    border-width: 0 !important;
    border-radius: 999px !important;
    background-image: none !important;
    appearance: none;
    -webkit-appearance: none;
}

tr td .status-form-switch.form-switch .form-check-input:not(:checked),
tr th .status-form-switch.form-switch .form-check-input:not(:checked),
#email-sending-servers-table .status-form-switch.form-switch .form-check-input:not(:checked) {
    background-color: #e74c3c !important;
    border-color: #e74c3c !important;
}

tr td .status-form-switch.form-switch .form-check-input:checked,
tr th .status-form-switch.form-switch .form-check-input:checked,
#email-sending-servers-table .status-form-switch.form-switch .form-check-input:checked {
    background-color: #2ecc71 !important;
    border-color: #2ecc71 !important;
}

.bi::before,
[class^="bi-"]::before,
[class*=" bi-"]::before {
    font-weight: 600 !important;
}


/* Dashboard multi date picker css starts */
.dashboard-date-range-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.dashboard-date-chip {
    border: 1px solid #e5e7eb;
    background: #fff;
    border-radius: 8px;
    padding: 10px 14px;
}

.flatpickr-calendar.dashboard-range-calendar {
    --dashboard-filter-purple: #a500ff;
    --dashboard-filter-purple-dark: #8c00df;
    --dashboard-filter-range: #f1efed;
    --dashboard-filter-muted: #bdbdbd;
    border: 0;
    border-radius: 8px;
    display: flex;
    width: auto !important;
    background: #fff;
    box-shadow: 0 18px 45px rgba(17, 24, 39, 0.18);
}

.flatpickr-calendar.dashboard-range-calendar::before,
.flatpickr-calendar.dashboard-range-calendar::after {
    display: none;
}

.dashboard-range-main {
    background: #fff;
}

.dashboard-range-calendar .flatpickr-innerContainer {
    align-items: stretch;
    border-radius: 8px;
    overflow: hidden;
}

.dashboard-range-calendar .flatpickr-rContainer {
    padding: 16px 18px 18px;
}

.dashboard-range-calendar .flatpickr-months {
    padding: 8px 12px 0;
    border-bottom: 0;
    border-radius: 8px 0 0 0;
    background: #fff !important;
}

.dashboard-range-calendar .flatpickr-month {
    height: 36px;
    background: #fff !important;
    color: #111827 !important;
    fill: #111827 !important;
    overflow: visible;
}

.dashboard-range-calendar .flatpickr-current-month {
    font-size: 16px;
    font-weight: 700;
    padding-top: 4px;
    color: #111827 !important;
    left: 0;
    width: 100%;
}

.dashboard-range-calendar .flatpickr-monthDropdown-months,
.dashboard-range-calendar .cur-year {
    background: #fff !important;
    color: #111827 !important;
    font-weight: 700;
}

.dashboard-range-calendar .flatpickr-prev-month,
.dashboard-range-calendar .flatpickr-next-month {
    position: absolute;
    top: 8px;
    z-index: 4;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: #6b7280 !important;
    fill: #6b7280 !important;
}

.dashboard-range-calendar .flatpickr-prev-month {
    left: 12px;
    right: auto;
}

.dashboard-range-calendar .flatpickr-next-month {
    right: 12px;
    left: auto;
}

.dashboard-range-calendar .flatpickr-prev-month svg,
.dashboard-range-calendar .flatpickr-next-month svg,
.dashboard-range-calendar .flatpickr-prev-month svg path,
.dashboard-range-calendar .flatpickr-next-month svg path {
    fill: #6b7280 !important;
}

.dashboard-range-calendar .flatpickr-weekdays,
.dashboard-range-calendar .flatpickr-weekdaycontainer {
    background: #fff !important;
}

.dashboard-range-calendar .flatpickr-weekdays {
    height: 36px;
    align-items: center;
}

.dashboard-range-calendar .flatpickr-weekday {
    background: #fff !important;
    color: #111827 !important;
    font-size: 13px;
    font-weight: 500;
}

.dashboard-range-calendar .dayContainer {
    row-gap: 2px;
}

.dashboard-range-calendar .flatpickr-day {
    border-radius: 0;
    color: #111827;
    font-size: 13px;
    height: 34px;
    line-height: 34px;
    margin-top: 0;
}

.dashboard-range-calendar .flatpickr-day.prevMonthDay,
.dashboard-range-calendar .flatpickr-day.nextMonthDay {
    color: var(--dashboard-filter-muted);
}

.dashboard-range-calendar .flatpickr-day.selected,
.dashboard-range-calendar .flatpickr-day.startRange,
.dashboard-range-calendar .flatpickr-day.endRange {
    border-color: var(--dashboard-filter-purple);
    background: var(--dashboard-filter-purple);
    color: #fff;
    box-shadow: none;
}

.dashboard-range-calendar .flatpickr-day.inRange {
    border-color: var(--dashboard-filter-range);
    background: var(--dashboard-filter-range);
    box-shadow: -5px 0 0 var(--dashboard-filter-range), 5px 0 0 var(--dashboard-filter-range);
}

.dashboard-range-calendar .flatpickr-day:hover,
.dashboard-range-calendar .flatpickr-day:focus {
    border-color: #ead4fb;
    background: #f7ecff;
}

.dashboard-range-calendar .flatpickr-day.selected:hover,
.dashboard-range-calendar .flatpickr-day.startRange:hover,
.dashboard-range-calendar .flatpickr-day.endRange:hover {
    border-color: var(--dashboard-filter-purple-dark);
    background: var(--dashboard-filter-purple-dark);
    color: #fff;
}

.dashboard-range-calendar .flatpickr-day.startRange,
.dashboard-range-calendar .flatpickr-day.endRange {
    border-radius: 0;
}

.dashboard-range-presets {
    min-width: 118px;
    padding: 16px 14px;
    border-left: 1px solid #ededed;
    background: #fff;
}

.dashboard-range-preset {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
    color: #111827;
    font-size: 13px;
    line-height: 1.2;
    text-align: left;
    padding: 6px 0;
}

.dashboard-range-preset:hover,
.dashboard-range-preset.active {
    color: var(--dashboard-filter-purple);
    font-weight: 600;
}

.dashboard-range-preset.active {
    position: relative;
    border-radius: 6px;
    background: #f7ecff;
    padding-left: 10px;
}

.dashboard-range-preset.active::before {
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 14px;
    border-radius: 999px;
    background: var(--dashboard-filter-purple);
    content: "";
    transform: translateY(-50%);
}

@media (max-width: 767.98px) {
    .dashboard-range-calendar .flatpickr-innerContainer {
        flex-direction: column;
    }

    .flatpickr-calendar.dashboard-range-calendar {
        flex-direction: column;
    }

    .dashboard-range-presets {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-left: 0;
        border-top: 1px solid #ededed;
    }
}
/* Dashboard multi date picker css ends */

/* Uniform width for datatable status badges (Active / Inactive etc.) */
[id^="datatable-table"] td .badge.badge-soft-success,
[id^="datatable-table"] td .badge.badge-soft-danger,
.badge.status-change,
.badge.campaign-status-change,
.badge.automation-status-change,
.badge.manual-status-change,
.badge.survey-status-change,
.badge.poll-status-change {
    width: 80px;
    min-width: 80px;
    text-align: center;
    display: inline-block;
    box-sizing: border-box;
}

/* Datatable email cell: truncated text + floating hover popup with copy */
.email-cell-wrap {
    position: relative;
    display: inline-block;
    max-width: 180px;
    vertical-align: middle;
    outline: none;
}

.email-cell-text {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: default;
}

.email-cell-floating-popup {
    position: fixed;
    z-index: 1090;
    pointer-events: none;
}

.email-cell-floating-popup:not([hidden]) {
    pointer-events: auto;
}

.email-cell-floating-arrow {
    position: absolute;
    top: 0;
    width: 0;
    height: 0;
    margin-left: -6px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #2d3139;
    transform: translateY(-100%);
}

.email-cell-floating-body {
    display: inline-flex;
    align-items: center;
    background: #2d3139;
    border-radius: 8px;
    padding: 0.5rem 0.625rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
    white-space: nowrap;
}

.email-cell-floating-text {
    color: #fff;
    font-size: 0.8125rem;
    line-height: 1.25;
    padding-right: 0.625rem;
}

.email-cell-floating-divider {
    display: inline-block;
    width: 1px;
    height: 16px;
    background: rgba(255, 255, 255, 0.22);
    flex-shrink: 0;
}

.email-cell-floating-copy {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.125rem 0.25rem 0.125rem 0.625rem;
    border: 0;
    background: transparent;
    color: #fff;
    line-height: 1;
    cursor: pointer;
}

.email-cell-floating-copy i {
    font-size: 15px;
    opacity: 0.9;
}

.email-cell-floating-copy:hover i {
    opacity: 1;
}
/* Uniform width for datatable status badges ends */


.filter-popup-design .filter-row .form-control,
.filter-popup-design .filter-row .sub-condition-value {
    max-width: 200px;
    width: 200px; /* optional: lock width even when empty */
}

/* Search/create combobox — combo-picker-* (tags, location, etc.) */
.combo-picker-control {
    min-height: calc(1.5em + 0.75rem + 2px);
    border: 1px solid #ced4da;
    cursor: text;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.combo-picker-control:focus-within {
    border-color: #7C3AED;
    box-shadow: 0 0 0 0.2rem rgba(124, 58, 237, 0.15);
}

.combo-picker-chips {
    display: contents;
}

.combo-picker-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.15rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.4;
    color: #fff;
    background-color: #7C3AED;
    border-radius: 999px;
}

.combo-picker-chip-remove {
    width: 14px;
    height: 14px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
}

.combo-picker-input {
    flex: 1 1 120px;
    min-width: 120px;
    padding: 0.25rem 0.15rem;
    font-size: 0.85rem;
    outline: none;
}

.combo-picker-dropdown {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    z-index: 1070;
    display: none;
    max-height: 220px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.combo-picker-dropdown.is-open {
    display: block;
}

.combo-picker-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.5rem 0.75rem;
    background: transparent;
    border: 0;
    text-align: left;
    font-size: 0.85rem;
    color: #212529;
    cursor: pointer;
}

.combo-picker-item:hover,
.combo-picker-item:focus {
    background-color: #F5F3FF;
    color: #7C3AED;
    outline: none;
}

.combo-picker-item.is-selected {
    font-weight: 600;
    color: #7C3AED;
}

.combo-picker-create-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 500;
    color: #7C3AED;
    background-color: #EDE9FE;
    border-radius: 999px;
}

.combo-picker-empty {
    padding: 0.5rem 0.75rem;
    font-size: 0.8rem;
    color: #6c757d;
}

.location-combobox.is-disabled .combo-picker-control {
    background-color: #e9ecef !important;
    cursor: not-allowed;
}

/* ===== Roles page / create role modal ===== */
#datatable-table.roles-equal-table {
    table-layout: fixed;
    width: 100% !important;
}

#datatable-table.roles-equal-table th,
#datatable-table.roles-equal-table td {
    width: 25%;
}

.role-create-modal .modal-dialog {
    max-width: 1180px;
}

.role-create-modal .modal-content {
    overflow: visible;
}

.role-create-modal .add-edit-form-scroll {
    padding: 8px 16px 0;
    overflow: visible;
}

.role-create-modal.add-item-popup .add-edit-form-inner,
.role-create-modal .add-edit-form-inner.role-step-2-active {
    max-height: calc(100vh - 180px);
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 4px 4px;
}

.role-create-modal .modal-stepper-nav {
    margin-bottom: 10px !important;
}

.role-create-modal .add-edit-form-inner.role-step-2-active .modal-stepper-nav {
    margin-bottom: 8px !important;
}

.role-create-modal #role-step-panel-2.is-active {
    margin: 0;
    width: 100%;
}

.role-create-modal #role-step-panel-3.is-active,
.role-create-modal #role-step-panel-4.is-active {
    box-sizing: border-box;
}

.role-create-modal #role-step-panel-3.is-active {
    padding: 4px 4px 8px;
}

.role-create-modal #role-step-panel-4.is-active {
    padding: 12px 14px 16px;
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.role-create-modal .add-edit-form-inner.role-step-4-active {
    padding-bottom: 12px;
}

.role-create-modal .role-modal-footer {
    margin-top: 10px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.role-create-modal .modal-header-icon {
    color: var(--vz-dark-primary-color);
}

.role-review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    box-sizing: border-box;
}

.role-review-card {
    border-radius: 14px;
    padding: 18px;
    display: flex;
    flex-direction: column;
    min-height: 100%;
    min-width: 0;
}

.role-review-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
    min-height: 36px;
}

.role-review-card-title-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex: 1 1 auto;
}

.role-review-card-icon,
.role-permissions-panel-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--vz-light-primary-rgb), 0.12);
    color: var(--vz-dark-primary-color);
    flex-shrink: 0;
    line-height: 1;
}

.role-review-card-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
}

.role-review-card-icon i {
    font-size: 18px;
    line-height: 1;
    display: block;
}

.role-review-card-title {
    margin: 0;
    padding: 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--vz-body-color, #212529);
}

.role-review-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--vz-border-color, #e9ebec);
    border-radius: 10px;
    background: #fff;
    color: #495057;
    font-size: 13px;
    box-shadow: none;
}

.role-review-action-btn:hover,
.role-review-action-btn:focus {
    background: #f8f9fa;
    color: var(--vz-dark-primary-color);
    border-color: rgba(var(--vz-light-primary-rgb), 0.35);
    box-shadow: none;
}

.role-review-edit-btn {
    gap: 6px;
    height: 36px;
    margin: 0;
    font-weight: 500;
    padding: 0 12px;
    line-height: 1;
    flex-shrink: 0;
}

.role-review-edit-btn i {
    font-size: 14px;
    line-height: 1;
    display: block;
}

.role-review-matrix-btn {
    margin-top: auto;
    width: 100%;
    gap: 8px;
    font-weight: 600;
    padding: 10px 14px;
}

.role-review-card-body {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.role-review-field {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 12px;
    align-items: start;
}

.role-review-label {
    font-size: 13px;
    font-weight: 500;
    color: #878a99;
    padding-top: 2px;
}

.role-review-value {
    font-size: 14px;
    font-weight: 600;
    color: var(--vz-body-color, #212529);
    word-break: break-word;
    white-space: pre-wrap;
}

.role-review-created-by-content {
    display: flex;
    align-items: center;
    gap: 10px;
}

.role-review-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.role-review-avatar-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--vz-light-primary-rgb), 0.15);
    color: var(--vz-dark-primary-color);
    font-size: 12px;
    font-weight: 700;
}

.role-review-created-by-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--vz-body-color, #212529);
}

.role-review-created-by-meta {
    font-size: 12px;
    color: #878a99;
    margin-top: 2px;
}

.role-review-permissions-body {
    flex-direction: row;
    align-items: center;
    gap: 20px;
    margin-bottom: 18px;
}

.role-review-chart-wrap {
    position: relative;
    width: 160px;
    height: 160px;
    flex-shrink: 0;
}

.role-review-chart-wrap canvas {
    width: 160px !important;
    height: 160px !important;
}

.role-review-chart-center {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    pointer-events: none;
    text-align: center;
    padding: 0 18px;
}

.role-review-chart-total {
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--vz-body-color, #212529);
}

.role-review-chart-total-label {
    font-size: 11px;
    font-weight: 500;
    color: #878a99;
    margin-top: 2px;
}

.role-review-legend {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
    min-width: 0;
}

.role-review-legend-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    font-weight: 500;
    color: #495057;
}

.role-review-legend-swatch {
    width: 12px;
    height: 12px;
    border-radius: 3px;
    flex-shrink: 0;
}

.role-review-legend-swatch.is-allowed {
    background: #22c55e;
}

.role-review-legend-swatch.is-not-set {
    background: #d1d5db;
}

@media (max-width: 991.98px) {
    .role-review-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575.98px) {
    .role-review-field {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .role-review-permissions-body {
        flex-direction: column;
        align-items: flex-start;
    }
}

.role-review-card,
.role-permissions-shell,
.role-assign-table-wrap,
.role-permissions-table-wrap {
    border: 1px solid var(--vz-border-color, #e9ebec);
    background: #fff;
    box-sizing: border-box;
}

.role-assign-shell {
    display: flex;
    flex-direction: column;
    min-height: 0;
    box-sizing: border-box;
}

.role-assign-table-wrap {
    border-radius: 12px;
    overflow: auto;
    margin-top: 8px;
    margin-bottom: 4px;
    max-height: min(420px, calc(100vh - 360px));
    -webkit-overflow-scrolling: touch;
}

.role-assign-table-wrap .dataTables_wrapper {
    padding-bottom: 4px;
}

.role-assign-table-wrap .dataTables_paginate {
    margin-top: 8px !important;
    padding-bottom: 4px;
}

.role-assign-role-badge,
.role-assign-status-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

.role-assign-role-badge {
    gap: 6px;
}

.role-assign-role-badge i {
    font-size: 14px;
    line-height: 1;
}

.role-assign-role-badge.is-purple {
    color: #7c3aed;
    background: #f3e8ff;
}

.role-assign-role-badge.is-blue {
    color: #2563eb;
    background: #dbeafe;
}

.role-assign-role-badge.is-teal {
    color: #0d9488;
    background: #ccfbf1;
}

.role-assign-role-badge.is-orange,
.role-assign-status-badge.is-inactive {
    color: #ea580c;
    background: #ffedd5;
}

.role-assign-role-badge.is-green,
.role-assign-status-badge.is-active {
    color: #16a34a;
    background: #dcfce7;
}

.role-assign-role-badge.is-gray {
    color: #6b7280;
    background: #f3f4f6;
}

.role-permissions-shell {
    border-radius: 12px;
    width: 100%;
    margin: 0;
}

.role-permissions-layout {
    display: flex;
    align-items: stretch;
    height: min(640px, calc(82vh - 120px));
    min-height: 460px;
    width: 100%;
    box-sizing: border-box;
    border-radius: 12px;
    overflow: hidden;
}

.role-permissions-sidebar {
    width: 200px;
    min-width: 200px;
    max-width: 200px;
    flex-shrink: 0;
    border-right: 1px solid var(--vz-border-color, #e9ebec);
    background: #fafbfc;
    padding: 12px 8px;
    display: flex;
    flex-direction: column;
    min-height: 0;
    box-sizing: border-box;
}

.role-permissions-sidebar-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    padding: 0 6px;
    flex-shrink: 0;
}

.role-permissions-sidebar-title {
    font-size: 13px;
    font-weight: 600;
    color: #111827;
}

.role-permissions-sidebar-search-toggle,
.role-permissions-sidebar-search-toggle:hover,
.role-permissions-sidebar-search-toggle:focus,
.role-permissions-sidebar-search-toggle:active {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    color: #111827;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    line-height: 1;
}

.role-permissions-sidebar-search-toggle:hover,
.role-permissions-sidebar-search-toggle:focus {
    color: #000;
}

.role-permissions-sidebar-search-toggle i {
    font-size: 16px;
    color: inherit;
    line-height: 1;
}

.role-permissions-module-search-wrap {
    flex-shrink: 0;
}

.role-permissions-module-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 2px;
}

.role-permissions-module-item {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    border: 0;
    background: transparent;
    border-radius: 10px;
    padding: 8px 10px;
    text-align: left;
    color: #4b5563;
    transition: all .2s ease;
}

.role-permissions-module-item:hover,
.role-permissions-module-item.is-active {
    background: rgba(var(--vz-light-primary-rgb), .08);
    color: var(--vz-dark-primary-color);
}

.role-permissions-module-icon {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: inherit;
    flex-shrink: 0;
    font-size: 14px;
}

.role-permissions-module-label {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.role-permissions-module-badge {
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: rgba(var(--vz-light-primary-rgb), .12);
    color: var(--vz-dark-primary-color);
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.role-permissions-main {
    flex: 1;
    min-width: 0;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.role-permissions-panel {
    flex: 1;
    min-height: 0;
    min-width: 0;
    display: none;
    flex-direction: column;
}

.role-permissions-panel.is-active {
    display: flex !important;
}

.role-permissions-panel-head {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 10px;
    flex-shrink: 0;
}

.role-permissions-panel-icon {
    width: 40px;
    height: 40px;
    border-radius: 12px;
    font-size: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #8E51FF1A;
    color: var(--vz-dark-primary-color);
    flex-shrink: 0;
}

.role-permissions-panel-title {
    font-size: 20px;
    font-weight: 700;
    color: #111827;
}

.role-permissions-panel-desc {
    color: #6b7280;
    font-size: 13px;
}

.role-permissions-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    flex-shrink: 0;
}

.role-permissions-toolbar .form-control {
    flex: 1 1 180px;
    max-width: 100%;
    min-width: 0;
    min-height: 34px;
    font-size: 13px;
    border-color: var(--vz-border-color, #e9ebec);
    box-shadow: none;
}

.role-permissions-toolbar .form-control:focus {
    border-color: rgba(var(--vz-light-primary-rgb), 0.45);
    box-shadow: none;
}

.role-permissions-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    flex: 1 1 auto;
}

.role-toolbar-select-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.role-toolbar-select {
    width: auto;
    min-width: 140px;
    min-height: 34px;
    padding: 5px 32px 5px 12px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--vz-dark-primary-color);
    border: 1.5px solid var(--vz-light-primary-color);
    background: #fff;
    box-shadow: none !important;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.role-toolbar-select:focus {
    border-color: var(--vz-dark-primary-color);
    box-shadow: none !important;
}

.role-toolbar-select-chevron {
    position: absolute;
    right: 10px;
    pointer-events: none;
    font-size: 16px;
    color: var(--vz-dark-primary-color);
    line-height: 1;
}

.role-permissions-toolbar-actions .btn {
    white-space: nowrap;
    min-height: 34px;
    padding: 5px 12px;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem !important;
    border-width: 1.5px;
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
    transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.role-permissions-toolbar-actions .btn:hover,
.role-permissions-toolbar-actions .btn:focus,
.role-permissions-toolbar-actions .btn:active,
.role-permissions-toolbar-actions .btn:focus-visible {
    box-shadow: none !important;
    outline: none !important;
    transform: none !important;
}

.role-permissions-toolbar-actions .btn i {
    font-size: 15px;
}

.role-permissions-action-btn,
.role-permissions-clear {
    background: #fff;
    border: 1.5px solid;
}

.role-permissions-action-btn {
    color: var(--vz-dark-primary-color);
    border-color: var(--vz-light-primary-color);
}

.role-permissions-action-btn:hover,
.role-permissions-action-btn:focus,
.role-permissions-action-btn:active,
.role-permissions-action-btn.is-active {
    color: #fff !important;
    background: var(--vz-dark-primary-color) !important;
    border-color: var(--vz-dark-primary-color) !important;
}

.role-permissions-clear {
    color: #dc3545;
    border-color: #dc3545;
}

.role-permissions-clear:hover,
.role-permissions-clear:focus,
.role-permissions-clear:active,
.role-permissions-clear.is-active {
    color: #fff !important;
    background: #dc3545 !important;
    border-color: #dc3545 !important;
}

.role-permissions-shell.is-bulk-updating .role-permission-cell-box {
    transition: none !important;
}

.role-permissions-table-wrap {
    border-radius: 12px;
    flex: 1;
    min-height: 0;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.role-permissions-table {
    width: 100%;
    margin-bottom: 0;
}

.role-permissions-table thead.table-light,
.role-permissions-table thead.table-light th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.role-permissions-table thead.table-light th {
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    padding: 12px 8px;
}

.role-permissions-table tbody td {
    padding: 10px 8px;
    vertical-align: middle;
}

.role-permissions-feature-col {
    min-width: 160px;
    width: 28%;
    padding-left: 16px !important;
    padding-right: 14px !important;
}

.role-permissions-table thead th.role-permissions-feature-col {
    padding-left: 16px !important;
    padding-right: 14px !important;
}

.role-permissions-table thead th:not(.role-permissions-feature-col),
.role-permissions-table tbody td:not(.role-permissions-feature-col) {
    width: 18%;
    min-width: 72px;
}

.role-permissions-feature-name {
    font-size: 13px;
    font-weight: 600;
    color: #111827;
}

.role-permissions-feature-desc {
    font-size: 11px;
    color: #6b7280;
    margin-top: 2px;
    line-height: 1.35;
}

.role-permission-cell {
    display: inline-flex;
    margin: 0;
    cursor: pointer;
}

.role-permission-cell-box {
    width: 26px;
    height: 26px;
    border-radius: 8px;
    border: 1px solid #d1d5db;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.role-permission-cell-box i {
    opacity: 0;
    font-size: 15px;
}

.role-permission-checkbox:checked + .role-permission-cell-box {
    background: var(--vz-dark-primary-color);
    border-color: var(--vz-dark-primary-color);
}

.role-permission-checkbox:checked + .role-permission-cell-box i {
    opacity: 1;
}

.role-permission-cell-empty .role-permission-cell-box {
    background: #f9fafb;
    border-color: #e5e7eb;
    cursor: default;
}

@media (max-width: 991.98px) {
    .role-permissions-layout {
        flex-direction: column;
        height: auto;
        min-height: 0;
        max-height: none;
    }

    .role-permissions-sidebar {
        width: 100%;
        min-width: 0;
        max-width: none;
        border-right: 0;
        border-bottom: 1px solid var(--vz-border-color, #e9ebec);
    }

    .role-permissions-module-list {
        max-height: 160px;
    }

    .role-permissions-main {
        min-height: 320px;
    }
}
/* Donor filter Country/State/City searchable picker
   (unscoped so it works in segment add modal, drawers, and edit pages) */
.donor-filter-location-picker {
    display: inline-block;
    position: relative;
    width: 200px;
    max-width: 200px;
    vertical-align: top;
}

.donor-filter-location-control {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    min-height: calc(1.5em + 0.75rem + 4px);
    padding: 0.375rem 0.75rem;
    background-color: #fff;
    border: 2px solid var(--vz-border-color-primary);
    border-radius: 8px;
    cursor: pointer;
    box-shadow: none;
}

.donor-filter-location-control:focus-within,
.donor-filter-location-picker.is-open .donor-filter-location-control {
    border-color: var(--vz-border-color-primary);
    box-shadow: none;
}

.donor-filter-location-display {
    flex: 1 1 auto;
    min-width: 0;
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 12px;
    line-height: 15px;
    font-weight: 600;
    color: #212529;
    outline: none;
    cursor: pointer;
}

.donor-filter-location-display::placeholder {
    color: #6c757d;
    font-weight: 600;
}

.donor-filter-location-caret {
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    margin-left: 0.25rem;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 12px 12px;
}

.donor-filter-location-picker.is-open .donor-filter-location-caret {
    transform: rotate(180deg);
}

.donor-filter-location-dropdown,
.donor-filter-location-dropdown-portal {
    z-index: 2050;
    max-height: 260px;
    overflow: hidden;
    display: none !important;
    padding: 0;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
    background: #fff;
}

.donor-filter-location-dropdown.is-open,
.donor-filter-location-dropdown-portal.is-open {
    display: flex !important;
    flex-direction: column;
}

.donor-filter-location-search-wrap {
    flex: 0 0 auto;
    padding: 0.5rem;
    border-bottom: 1px solid #e9ecef;
}

.donor-filter-location-search-wrap .donor-filter-location-search {
    width: 100%;
    max-width: none !important;
    font-size: 12px;
    font-weight: 500;
    line-height: 15px;
    border-radius: 8px;
    border: 2px solid var(--vz-border-color-primary);
    padding: 0.375rem 0.75rem;
    background: #fff;
    pointer-events: auto;
    user-select: text;
    -webkit-user-select: text;
}

.donor-filter-location-search-wrap .donor-filter-location-search:focus {
    border-color: var(--vz-border-color-primary);
    box-shadow: 0 0 0 0.15rem rgba(124, 58, 237, 0.15);
}

.donor-filter-location-results {
    flex: 1 1 auto;
    max-height: 180px;
    overflow-y: auto;
}

.donor-filter-location-results .combo-picker-item {
    font-size: 12px;
    font-weight: 500;
    padding: 0.5rem 0.75rem;
}
