@charset "UTF-8";
/* ==== Loader CSS ==== */
.page-loader {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bs-body-bg, #fff);
    z-index: 9999;
}
.page-loader--hidden {
    display: none;
}

/* ==== Login Page CSS Start ==== */
body:has(.auth-section) {
    background: var(--bs-primary);
}

.auth-section {
    background: var(--bs-primary);
}
.auth-section .auth-wrapper {
    min-height: 100dvh;
    display: flex;
    position: relative;
}
.auth-section .auth-wrapper::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh;
    background: url("img/login-shapes.png") no-repeat center center/cover;
    pointer-events: none;
}
.auth-section .auth-wrapper .auth-left {
    color: var(--bs-white);
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    width: 100%;
    align-self: start;
    height: 100dvh;
    position: sticky;
    top: 0;
    z-index: 1;
}
.auth-section .auth-wrapper .auth-left .auth-welcome {
    width: 100%;
    text-align: center;
    margin-top: auto;
    margin-bottom: auto;
}
.auth-section .auth-wrapper .auth-left .auth-welcome .title {
    font-size: 40px;
    color: var(--bs-white);
    margin-bottom: 12px;
}
.auth-section .auth-wrapper .auth-left .auth-welcome .subtitle {
    font-size: 18px;
    margin: 0 auto;
    max-width: 320px;
}
.auth-section .auth-wrapper .auth-left .auth-links {
    max-width: 400px;
    margin: 0 auto;
}
.auth-section .auth-wrapper .auth-left .auth-links ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    row-gap: 8px;
    -moz-column-gap: 24px;
    column-gap: 24px;
}
.auth-section .auth-wrapper .auth-left .auth-links ul li {
    list-style: none;
}
.auth-section .auth-wrapper .auth-left .auth-links ul li a {
    font-size: 14px;
    font-weight: 500;
    color: var(--bs-white);
}
@media screen and (max-width: 767px) {
    .auth-section .auth-wrapper .auth-left {
        display: none;
    }
}
.auth-section .auth-wrapper .auth-right {
    width: 100%;
    background: var(--bs-white);
    max-width: 560px;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 767px) {
    .auth-section .auth-wrapper .auth-right {
        max-width: 100%;
    }
}
.auth-section .auth-wrapper .auth-right .sticky-login-btn {
    padding: 10px 30px;
    position: sticky;
    bottom: 0;
    background: var(--bs-white);
    box-shadow: 0px -10px 10px rgba(0, 0, 0, 0.051);
    display: flex;
    justify-content: center;
    z-index: 1;
}
.auth-section .auth-wrapper .auth-right .sticky-login-btn .btn {
    max-width: 400px;
}
.auth-section .auth-wrapper .auth-right .auth-right-content {
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 30px 24px;
}
.auth-section .auth-wrapper .auth-right .auth-right-content .logo-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.auth-section
    .auth-wrapper
    .auth-right
    .auth-right-content
    .logo-wrapper
    .logo {
    width: 130px;
    height: 29px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center left;
    object-position: center left;
    border: none;
    background: transparent;
}
.auth-section .auth-wrapper .auth-right .auth-right-content .logo-wrapper {
    margin-bottom: 24px;
}
.auth-section .auth-wrapper .auth-right .auth-right-content .auth-form {
    margin-top: auto;
    margin-bottom: auto;
}
.auth-section .auth-wrapper .auth-right .auth-right-content .auth-form .title {
    font-size: 24px;
    margin-bottom: 24px;
}
.auth-section .auth-wrapper .auth-right .form-label {
    color: var(--bs-dark);
    font-size: 13px;
}
@media screen and (min-width: 1200px) {
    .auth-section .auth-wrapper .auth-right .sticky-login-btn {
        padding: 10px 40px;
    }
    .auth-section .auth-wrapper .auth-right .auth-right-content {
        padding: 40px;
        max-width: 520px;
    }
    .auth-section .auth-wrapper .auth-right .auth-right-content .logo-wrapper {
        margin-bottom: 40px;
    }
}

.togglePassword {
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    cursor: pointer;
    display: flex;
    align-items: center;
    color: var(--text-semi-dark-80);
    background: none;
    border: none;
    padding: 0;
}

.hover-link {
    color: var(--bs-info-dark);
}
.hover-link:hover {
    text-decoration: underline;
}

@media screen and (min-width: 1200px) {
    .mt-xl-30px {
        margin-top: 30px !important;
    }
    .mb-xl-30px {
        margin-bottom: 30px !important;
    }
}
.js-select-language + .select2 * {
    all: revert;
}

.js-select-language + .select2 {
    width: auto !important;
}
.js-select-language + .select2 .select2-selection__rendered {
    border: 1px solid var(--bs-border-color);
    padding: 10px 12px;
    padding-inline-end: 34px;
    border-radius: 8px;
    line-height: 15px;
}
.js-select-language + .select2 .lang-dropdown-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 700;
    font-size: 12px;
}
.js-select-language + .select2 .lang-dropdown-item .lang-flag {
    width: 16px;
    aspect-ratio: 1;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
}
.js-select-language
    + .select2
    .select2-selection--single
    .select2-selection__arrow {
    top: 2px;
    inset-inline-end: 6px;
    inset-inline-start: unset;
}
.js-select-language
    + .select2
    .select2-selection--single
    .select2-selection__arrow
    b {
    border: 1px solid var(--text-semi-dark-80);
    border-right: none;
    border-bottom: none;
    border-radius: 2px;
    width: 7px;
    height: 7px;
    transform: rotate(-135deg);
}
.js-select-language
    + .select2.select2-container--open
    .select2-selection--single
    .select2-selection__arrow {
    top: 4px;
}
.js-select-language
    + .select2.select2-container--open
    .select2-selection--single
    .select2-selection__arrow
    b {
    border: 1px solid var(--text-semi-dark-80);
    border-left: none;
    border-top: none;
}
.js-select-language
    + .select2.select2-container--open.select2-container--below
    .select2-selection__rendered {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.js-select-language
    + .select2.select2-container--open.select2-container--above
    .select2-selection__rendered {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.lang-dropdown .select2-results__options .lang-dropdown-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 700;
    font-size: 12px;
}
.lang-dropdown .select2-results__options .lang-dropdown-item .lang-flag {
    width: 16px;
    aspect-ratio: 1;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
}
.lang-dropdown {
    border-color: var(--bs-border-color);
}

.select2-results__option--highlighted {
    background: var(--bg-3) !important;
    color: var(--text-dark) !important;
}

.select2-results__option--selected {
    background: rgba(var(--bs-primary-rgb), 0.1) !important;
}

.mb-20 {
    margin-bottom: 20px;
}

.forget-password-modal {
    --bs-modal-width: 450px;
    --bs-modal-border-radius: 16px;
}
.forget-password-modal img {
    background: transparent;
    border: none;
}
.forget-password-modal .title {
    font-size: 18px;
    margin-bottom: 10px;
}
.forget-password-modal .subtitle {
    max-width: 370px;
    margin: 0 auto 30px;
}
.forget-password-modal .modal-body {
    padding-bottom: 40px;
}

.otp-input-group {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.otp-input-group .form-control {
    aspect-ratio: 1;
    height: unset;
    max-width: 48px;
}

.password-validation-list {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 12px;
    column-gap: 12px;
    row-gap: 4px;
    font-size: 12px;
    line-height: 14px;
}
.password-validation-list .validation-item {
    display: flex;
    align-items: center;
    gap: 5px;
    color: var(--bs-danger);
}
.password-validation-list .validation-item i {
    display: flex;
    align-items: center;
    font-size: 12px;
}
.password-validation-list .validation-item i.fi-rr-check {
    font-size: 9px;
}
.password-validation-list .validation-item.valid {
    color: var(--bs-success);
}
.password-validation-list .validation-item.invalid {
    color: var(--bs-danger);
}

/* ==== Login Page CSS Ends ==== */
/* ==== Toaster CSS Start ==== */
@keyframes toastSlideIn {
    from {
        transform: translateX(20px);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Icon zone width — shared constant via custom property */
#toast-container > div {
    --_zone: 54px;
    background: var(--bs-white);
    color: var(--text-semi-dark);
    padding: 16px 36px 16px calc(var(--_zone) + 16px);
    box-shadow:
        0 2px 12px rgba(0, 0, 0, 0.08),
        0 6px 24px rgba(0, 0, 0, 0.07);
    border-radius: 10px;
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0.06);
    opacity: 1;
    width: 340px;
    margin-bottom: 8px;
    overflow: hidden;
    animation: toastSlideIn 0.3s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

#toast-container > div:hover {
    box-shadow:
        0 4px 20px rgba(0, 0, 0, 0.11),
        0 8px 32px rgba(0, 0, 0, 0.09);
    opacity: 1;
}

/* Remove default background images */
#toast-container .toast-success,
#toast-container .toast-error,
#toast-container .toast-warning,
#toast-container .toast-info {
    background-image: none !important;
}

/* Full-height icon zone background */
#toast-container .toast-success::before {
    background: rgba(var(--bs-success-rgb), 0.1);
    border-right: 1px solid rgba(var(--bs-success-rgb), 0.15);
}
#toast-container .toast-error::before {
    background: rgba(var(--bs-danger-rgb), 0.1);
    border-right: 1px solid rgba(var(--bs-danger-rgb), 0.15);
}
#toast-container .toast-warning::before {
    background: rgba(var(--bs-warning-rgb), 0.1);
    border-right: 1px solid rgba(var(--bs-warning-rgb), 0.15);
}
#toast-container .toast-info::before {
    background: rgba(var(--bs-info-rgb), 0.1);
    border-right: 1px solid rgba(var(--bs-info-rgb), 0.15);
}

#toast-container .toast-success::before,
#toast-container .toast-error::before,
#toast-container .toast-warning::before,
#toast-container .toast-info::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--_zone);
}

/* Icon — vertically centered in zone, full height visual */
.toast-title i {
    position: absolute;
    top: 50%;
    left: 0;
    width: var(--_zone, 54px);
    transform: translateY(-50%);
    display: block;
    text-align: center;
    font-size: 26px;
    line-height: 1;
    background: none !important;
    border-radius: 0;
}

#toast-container .toast-success .toast-title i {
    color: var(--bs-success);
}
#toast-container .toast-error .toast-title i {
    color: var(--bs-danger);
}
#toast-container .toast-warning .toast-title i {
    color: var(--bs-warning);
}
#toast-container .toast-info .toast-title i {
    color: var(--bs-info);
}

/* Title — icon is out of flow so text starts flush */
.toast-title {
    display: block;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.01em;
    margin-bottom: 5px;
}

#toast-container .toast-success .toast-title {
    color: var(--bs-success);
}
#toast-container .toast-error .toast-title {
    color: var(--bs-danger);
}
#toast-container .toast-warning .toast-title {
    color: var(--bs-warning);
}
#toast-container .toast-info .toast-title {
    color: var(--bs-info);
}

/* Message */
.toast-message {
    font-size: 12px;
    line-height: 1.6;
    color: var(--text-semi-dark-80);
    padding: 0;
    word-break: break-word;
}

/* Close button — vertically centred, unobtrusive */
.toast-close-button {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 300;
    line-height: 1;
    opacity: 0.3;
    text-shadow: none;
    color: var(--text-semi-dark);
    border-radius: 5px;
    transition:
        opacity 0.15s ease,
        background-color 0.15s ease;
}

.toast-close-button:hover,
.toast-close-button:focus {
    opacity: 1;
    color: var(--text-semi-dark);
    background-color: rgba(0, 0, 0, 0.07);
}

/* Progress bar — type color, starts after icon zone */
.toast-progress {
    position: absolute;
    left: var(--_zone, 54px);
    right: 0;
    bottom: 0;
    height: 2px;
    border-radius: 0 0 10px 0;
    opacity: 0.55;
}

#toast-container .toast-success .toast-progress {
    background: var(--bs-success);
}
#toast-container .toast-error .toast-progress {
    background: var(--bs-danger);
}
#toast-container .toast-warning .toast-progress {
    background: var(--bs-warning);
}
#toast-container .toast-info .toast-progress {
    background: var(--bs-info);
}

/* ==== Toaster CSS Ends ==== */
/* ==== Alert Components CSS Start ==== */
.alert-custom {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--bs-white);
    position: relative;
}
.alert-custom strong {
    font-weight: 500;
    color: var(--text-dark);
}
.alert-custom > i {
    flex-shrink: 0;
    font-size: 16px;
    line-height: 1;
    margin-top: 2px;
}
.alert-custom .alert-content {
    flex: 1;
    min-width: 0;
}
.alert-custom {
    font-size: 13px;
    line-height: 20px;
}
.alert-custom .alert-text {
    color: var(--text-semi-dark);
    margin-bottom: 0;
}
.alert-custom .alert-text span {
    font-weight: 400;
}
.alert-custom .alert-link {
    color: var(--bs-info);
    text-decoration: underline;
    font-weight: 400;
}
.alert-custom .alert-link:hover {
    color: var(--bs-info);
    text-decoration: underline;
}
.alert-custom .alert-list {
    margin: 12px 0 0 0;
    padding: 0;
    list-style: none;
}
.alert-custom .alert-list li {
    position: relative;
    padding-left: 16px;
    color: var(--text-semi-dark-80);
    margin-bottom: 8px;
}
.alert-custom .alert-list li:last-child {
    margin-bottom: 0;
}
.alert-custom .alert-list li::before {
    content: "•";
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    color: var(--text-semi-dark-80);
}
.alert-custom .alert-list li a {
    color: var(--bs-info);
    text-decoration: underline;
    font-weight: 400;
}
.alert-custom .alert-list li a:hover {
    color: var(--bs-info);
    text-decoration: underline;
}
.alert-custom.alert-warning {
    border-color: var(--bs-warning);
    background: var(--bs-warning-light);
}
.alert-custom.alert-warning > i {
    color: var(--bs-warning);
}
.alert-custom.alert-danger {
    border-color: var(--bs-danger);
    background: var(--bs-danger-light);
}
.alert-custom.alert-danger > i {
    color: var(--bs-danger);
}
.alert-custom.alert-info {
    border-color: var(--bs-info);
    background: var(--bs-info-light);
}
.alert-custom.alert-info > i {
    color: var(--bs-info);
}
.alert-custom.alert-success {
    border-color: var(--bs-success);
    background: var(--bs-success-light);
}
.alert-custom.alert-success > i {
    color: var(--bs-success);
}
.alert-custom.alert-dark {
    border-color: var(--bs-dark);
    background: var(--bs-dark-light);
}
.alert-custom.alert-dark > i {
    color: var(--bs-dark);
}

[data-bs-theme="dark"] .alert-custom {
    background: var(--bg-2);
}
[data-bs-theme="dark"] .alert-custom .alert-text {
    color: var(--bs-light);
}
[data-bs-theme="dark"] .alert-custom .alert-text strong {
    color: var(--bs-light);
}
[data-bs-theme="dark"] .alert-custom .alert-list li {
    color: var(--bs-light);
}
[data-bs-theme="dark"] .alert-custom .alert-list li::before {
    color: var(--bs-light);
}
[data-bs-theme="dark"] .alert-custom.alert-warning {
    background: rgba(var(--bs-warning-rgb), 0.1);
}
[data-bs-theme="dark"] .alert-custom.alert-danger {
    background: rgba(var(--bs-danger-rgb), 0.1);
}
[data-bs-theme="dark"] .alert-custom.alert-info {
    background: rgba(var(--bs-info-rgb), 0.1);
}
[data-bs-theme="dark"] .alert-custom.alert-success {
    background: rgba(var(--bs-success-rgb), 0.1);
}
[data-bs-theme="dark"] .alert-custom.alert-dark {
    background: rgba(var(--bs-dark-rgb), 0.1);
}

/* ==== Alert Components CSS Ends ==== */
/* ==== Button Components CSS Start ==== */
.btn {
    font-size: 14px;
    font-weight: 500;
    padding: 8.5px 18px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.2s ease-in-out;
    position: relative;
}
.btn i {
    font-size: 16px;
    display: flex;
}
.btn:focus {
    box-shadow: none;
}

.btn-xl {
    padding: 14px 24px;
    font-size: 16px;
}
.btn-xl i {
    font-size: 18px;
}

.btn-lg {
    padding: 12px 20px;
    font-size: 15px;
}
.btn-lg i {
    font-size: 17px;
}

.btn-md {
    padding: 10px 18px;
    font-size: 14px;
}

.btn-sm {
    padding: 8px 14px;
    font-size: 13px;
}
.btn-sm i {
    font-size: 14px;
}

.btn-xs {
    padding: 6px 10px;
    font-size: 12px;
}
.btn-xs i {
    font-size: 12px;
}

.btn-primary {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: var(--bs-white);
}

.btn-outline-primary {
    background-color: transparent;
    border-color: var(--bs-primary);
    color: var(--bs-primary);
}
.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    color: var(--bs-white);
}

.btn-soft-primary {
    background-color: rgba(79, 59, 167, 0.08);
    border-color: transparent;
    color: var(--bs-primary);
}
.btn-soft-primary:hover {
    background-color: rgba(79, 59, 167, 0.15);
    color: var(--bs-primary);
}

.btn-ghost-primary {
    background-color: transparent;
    border-color: transparent;
    color: var(--bs-primary);
}
.btn-ghost-primary:hover {
    background-color: rgba(79, 59, 167, 0.05);
    color: var(--bs-primary);
}

.btn-neutral {
    --bs-btn-color: var(--text-dark);
    --bs-btn-bg: var(--bs-light);
    --bs-btn-border-color: var(--bs-light);
    --bs-btn-hover-color: var(--text-dark);
    --bs-btn-hover-bg: var(--bs-light);
    --bs-btn-hover-border-color: var(--bs-light);
    --bs-btn-active-color: var(--text-dark);
    --bs-btn-active-bg: var(--bs-light);
    --bs-btn-active-border-color: var(--bs-light);
    --bs-btn-disabled-color: var(--text-dark);
    --bs-btn-disabled-bg: var(--bs-light);
    --bs-btn-disabled-border-color: var(--bs-light);
}

.btn-outline-neutral {
    background-color: transparent;
    border-color: var(--bs-border-color);
    color: var(--text-dark);
}
.btn-outline-neutral:hover {
    background-color: var(--bs-light);
    border-color: var(--bs-border-color);
}

.btn-icon {
    padding: 0;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 6px;
}
.btn-icon.btn-xl {
    width: 52px;
    height: 52px;
}
.btn-icon.btn-lg {
    width: 44px;
    height: 44px;
}
.btn-icon.btn-md {
    width: 36px;
    height: 36px;
}
.btn-icon.btn-sm {
    width: 32px;
    height: 32px;
}
.btn-icon.btn-xs {
    width: 28px;
    height: 28px;
}

/* ==== Button Components CSS Ends ==== */
/* ==== Input Components CSS Start ==== */
.input-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
    background: transparent;
}

.input-title {
    font-size: 13px;
    line-height: 1.5;
    font-weight: 400;
    color: var(--text-dark);
}
.input-title i {
    font-size: 12px;
    color: var(--text-semi-dark);
    margin-left: 4px;
}

.input-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-generate {
    background: none;
    border: none;
    color: var(--bs-primary);
    font-size: 13px;
    font-weight: 500;
    padding: 0;
    cursor: pointer;
}
.btn-generate:hover {
    text-decoration: underline;
}

.input-content {
    background: var(--bs-white);
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
    padding: 7px 12px;
    min-height: 40px;
    display: flex;
    align-items: center;
}

.input-row {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: var(--text-dark);
    width: 100%;
}
.input-row i:first-child {
    font-size: 16px;
    color: var(--text-semi-dark);
}

.options-row {
    display: flex;
    -moz-column-gap: 24px;
    column-gap: 24px;
    flex-wrap: wrap;
}
.options-row .form-check {
    margin: 0;
    padding: 0;
}

.iti {
    width: 100%;
    display: flex !important;
    position: relative !important;
}
/* The dropdown container also has class .iti — restore absolute positioning
   so it floats over content instead of pushing the page down. */
.iti.iti--container {
    position: absolute !important;
    width: auto;
}

.iti__flag-container {
    padding: 0;
    position: static !important;
    flex-shrink: 0;
}

.iti__selected-flag {
    padding: 0 10px;
    background-color: var(--bg-2) !important;
    border-radius: 6px 0 0 6px;
    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
    border-inline-end: 0;
    height: 100%;
}

.iti--allow-dropdown input.iti__tel-input,
.iti--allow-dropdown input.iti__tel-input[type="text"],
.iti--allow-dropdown input.iti__tel-input[type="tel"],
.iti--show-selected-dial-code input.iti__tel-input,
.iti--show-selected-dial-code input.iti__tel-input[type="text"],
.iti--show-selected-dial-code input.iti__tel-input[type="tel"] {
    padding-inline-start: 12px !important;
    padding-inline-end: 12px !important;
    flex: 1;
    min-width: 0;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.input-footer {
    margin-top: 6px;
    font-size: 12px;
    color: var(--text-semi-dark);
    text-align: right;
    background: transparent;
}

.form-control[type="number"]::-webkit-inner-spin-button,
.form-control[type="number"]::-webkit-outer-spin-button {
    display: none;
}

.form-control,
.form-select {
    padding: 6px 12px;
    border-color: var(--bs-border-color);
    color: var(--text-dark);
}
.form-control:focus,
.form-select:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.15rem rgba(var(--bs-primary-rgb), 0.1);
}
.form-control::-moz-placeholder,
.form-select::-moz-placeholder {
    color: var(--text-semi-dark);
}
.form-control::placeholder,
.form-select::placeholder {
    color: var(--text-semi-dark);
}

.form-check {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0;
    margin: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.form-check.form-check-lg:not(.form-switch) {
    gap: 10px;
}
.form-check.form-check-lg:not(.form-switch) .form-check-input {
    width: 20px;
    height: 20px;
}
.form-check.form-check-lg:not(.form-switch) .form-check-label {
    font-size: 14px;
    margin-top: 2px;
}

.form-check-input {
    width: 16px;
    height: 16px;
    border: 1px solid var(--border-medium);
    background-color: transparent;
    cursor: pointer;
    margin: 0 !important;
    flex-shrink: 0;
}
.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}
.form-check-input:focus {
    border-color: var(--bs-primary);
    box-shadow: none;
}
.form-check-input[type="radio"] {
    background: transparent;
    border: 2px solid #ffffff;
    outline: 1px solid var(--bs-border-color);
    box-shadow: none;
}
.form-check-input[type="radio"]:checked {
    background: var(--bs-primary);
    outline-color: var(--bs-primary);
}

.form-check-label {
    font-size: 13px;
    color: var(--text-semi-dark);
    cursor: pointer;
    margin: 0;
    line-height: 16px;
}

.form-switch {
    padding: 0;
    margin: 0;
}
.form-switch .form-check-input {
    width: 24px;
    height: 16px;
    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");
    background-color: var(--bs-border-color);
    border: none;
    background-position: left center;
    background-repeat: no-repeat;
    transition: background-position 0.15s ease-in-out;
}
.form-switch .form-check-input:checked {
    background-color: var(--bs-primary);
    background-position: right center;
}
.form-switch .form-check-input:checked:disabled {
    background-color: var(--bs-danger);
}
.form-switch .form-check-input.toggle-switch-lg {
    width: 40px;
    height: 26px;
}
.form-switch .form-check-input.toggle-switch-md {
    width: 36px;
    height: 22px;
}
.form-switch .form-check-input.toggle-switch-sm {
    width: 24px;
    height: 16px;
}
.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='%23fff'/%3e%3c/svg%3e");
    box-shadow: 0 0 0 0.15rem rgba(var(--bs-primary-rgb), 0.1);
}

.select2 {
    width: 100% !important;
}
.select2 .select2-selection .select2-selection__rendered {
    background: var(--bs-white);
}

.input-group .input-group-text {
    flex-grow: 0;
    width: auto;
}
.input-group .input-group-text.form-select {
    padding-inline-end: 34px;
}
.input-group .input-group-text:has(.js-select2) {
    padding: 0;
}
.input-group
    .input-group-text
    .js-select2
    + .select2
    .select2-selection__rendered {
    border: none;
}
.input-group .input-group-text .js-select2 + .select2 {
    width: auto !important;
}
.input-group
    .input-group-text
    .js-select2
    + .select2
    .select2-selection__rendered {
    background: transparent;
}

[data-bs-theme="dark"] .input-content {
    background: var(--bs-dark);
    border-color: var(--bs-border-color);
}
[data-bs-theme="dark"] .input-title,
[data-bs-theme="dark"] .input-row,
[data-bs-theme="dark"] .form-check-label {
    color: var(--bs-light);
}
[data-bs-theme="dark"] .input-footer {
    color: rgba(255, 255, 255, 0.6);
}
[data-bs-theme="dark"] .phone-input,
[data-bs-theme="dark"] .tags-input {
    border-color: var(--bs-border-color);
    background: var(--bs-dark);
}
[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
    background-color: var(--bs-dark);
    border-color: var(--bs-border-color);
    color: var(--bs-light);
}
[data-bs-theme="dark"] .form-control::-moz-placeholder,
[data-bs-theme="dark"] .form-select::-moz-placeholder {
    color: rgba(255, 255, 255, 0.5);
}
[data-bs-theme="dark"] .form-control::placeholder,
[data-bs-theme="dark"] .form-select::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.js-select2-with-img + .select2 *,
.js-select2 + .select2 * {
    all: revert;
}

.js-select2-with-img
    + .select2
    .select2-selection--single
    .select2-selection__rendered,
.js-select2-multiple
    + .select2
    .select2-selection--single
    .select2-selection__rendered,
.js-select2 + .select2 .select2-selection--single .select2-selection__rendered {
    border: 1px solid var(--bs-border-color);
    padding: 11.5px 12px;
    padding-inline-end: 34px;
    border-radius: 8px;
    line-height: 15px;
    cursor: pointer;
    width: 100%;
    box-sizing: border-box;
}
.js-select2-with-img + .select2 .select2-selection--multiple,
.js-select2-multiple + .select2 .select2-selection--multiple,
.js-select2 + .select2 .select2-selection--multiple {
    border: 1px solid var(--bs-border-color) !important;
    border-radius: 8px !important;
    min-height: 40px !important;
    padding: 4px 8px !important;
}
.js-select2-with-img
    + .select2
    .select2-selection--multiple
    .select2-selection__rendered,
.js-select2-multiple
    + .select2
    .select2-selection--multiple
    .select2-selection__rendered,
.js-select2
    + .select2
    .select2-selection--multiple
    .select2-selection__rendered {
    padding: 0 !important;
    margin: 0 !important;
}
.js-select2-with-img
    + .select2
    .select2-selection--multiple
    .select2-selection__rendered
    li,
.js-select2-multiple
    + .select2
    .select2-selection--multiple
    .select2-selection__rendered
    li,
.js-select2
    + .select2
    .select2-selection--multiple
    .select2-selection__rendered
    li {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
}
.js-select2-with-img
    + .select2
    .select2-selection--multiple
    .select2-selection__choice,
.js-select2-multiple
    + .select2
    .select2-selection--multiple
    .select2-selection__choice,
.js-select2 + .select2 .select2-selection--multiple .select2-selection__choice {
    background-color: var(--bs-light) !important;
    border: 1px solid var(--bs-border-color) !important;
    border-radius: 4px !important;
    padding: 2px 8px !important;
    color: var(--text-dark) !important;
    font-size: 13px !important;
    margin-right: 6px !important;
    display: flex !important;
    align-items: center !important;
    flex-direction: row-reverse;
}
.js-select2-with-img
    + .select2
    .select2-selection--multiple
    .select2-selection__choice
    .select2-selection__choice__remove,
.js-select2-multiple
    + .select2
    .select2-selection--multiple
    .select2-selection__choice
    .select2-selection__choice__remove,
.js-select2
    + .select2
    .select2-selection--multiple
    .select2-selection__choice
    .select2-selection__choice__remove {
    border: none !important;
    background: transparent !important;
    color: var(--text-semi-dark) !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
}
.js-select2-with-img
    + .select2
    .select2-selection--multiple
    .select2-selection__choice
    .select2-selection__choice__remove:hover,
.js-select2-multiple
    + .select2
    .select2-selection--multiple
    .select2-selection__choice
    .select2-selection__choice__remove:hover,
.js-select2
    + .select2
    .select2-selection--multiple
    .select2-selection__choice
    .select2-selection__choice__remove:hover {
    background: transparent !important;
    color: var(--text-dark) !important;
}
.js-select2-with-img + .select2 .select2-dropdown-item,
.js-select2-multiple + .select2 .select2-dropdown-item,
.js-select2 + .select2 .select2-dropdown-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
    font-size: 12px;
}
.js-select2-with-img
    + .select2
    .select2-dropdown-item
    .select2-dropdown-item-flag,
.js-select2-multiple
    + .select2
    .select2-dropdown-item
    .select2-dropdown-item-flag,
.js-select2 + .select2 .select2-dropdown-item .select2-dropdown-item-flag {
    width: 16px;
    aspect-ratio: 1;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
}
.js-select2-with-img
    + .select2
    .select2-selection--single
    .select2-selection__arrow,
.js-select2-multiple
    + .select2
    .select2-selection--single
    .select2-selection__arrow,
.js-select2 + .select2 .select2-selection--single .select2-selection__arrow {
    top: 2px;
    inset-inline-end: 6px;
    inset-inline-start: unset;
}
.js-select2-with-img
    + .select2
    .select2-selection--single
    .select2-selection__arrow
    b,
.js-select2-multiple
    + .select2
    .select2-selection--single
    .select2-selection__arrow
    b,
.js-select2 + .select2 .select2-selection--single .select2-selection__arrow b {
    border: 1px solid var(--text-semi-dark-80);
    border-right: none;
    border-bottom: none;
    border-radius: 2px;
    width: 7px;
    height: 7px;
    transform: rotate(-135deg);
}
.js-select2-with-img
    + .select2.select2-container--open
    .select2-selection--single
    .select2-selection__arrow,
.js-select2-multiple
    + .select2.select2-container--open
    .select2-selection--single
    .select2-selection__arrow,
.js-select2
    + .select2.select2-container--open
    .select2-selection--single
    .select2-selection__arrow {
    top: 4px;
}
.js-select2-with-img
    + .select2.select2-container--open
    .select2-selection--single
    .select2-selection__arrow
    b,
.js-select2-multiple
    + .select2.select2-container--open
    .select2-selection--single
    .select2-selection__arrow
    b,
.js-select2
    + .select2.select2-container--open
    .select2-selection--single
    .select2-selection__arrow
    b {
    border: 1px solid var(--text-semi-dark-80);
    border-left: none;
    border-top: none;
}
.js-select2-with-img
    + .select2.select2-container--open.select2-container--below
    .select2-selection__rendered,
.js-select2-multiple
    + .select2.select2-container--open.select2-container--below
    .select2-selection__rendered,
.js-select2
    + .select2.select2-container--open.select2-container--below
    .select2-selection__rendered {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.js-select2-with-img
    + .select2.select2-container--open.select2-container--above
    .select2-selection__rendered,
.js-select2-multiple
    + .select2.select2-container--open.select2-container--above
    .select2-selection__rendered,
.js-select2
    + .select2.select2-container--open.select2-container--above
    .select2-selection__rendered {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.select2-dropdown .select2-results__options .select2-dropdown-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 400;
    font-size: 12px;
}
.select2-dropdown .select2-results__options .select2-dropdown-item .lang-flag {
    width: 16px;
    aspect-ratio: 1;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
}
.select2-dropdown {
    border-color: var(--bs-border-color);
}

.select2-search__field:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

.select2-container .select2-selection--single .select2-selection__clear {
    display: none;
}

.js-select2-multiple + .select2 .select2-selection--multiple {
    padding: 4px 10px !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.js-select2-multiple + .select2 .select2-selection--multiple .select2-search {
    display: inline-flex;
}
.js-select2-multiple
    + .select2
    .select2-selection--multiple
    .select2-search
    .select2-search__field {
    margin-top: 0 !important;
}
.js-select2-multiple
    + .select2
    .select2-selection--multiple
    .select2-selection__rendered {
    display: flex !important;
    flex-wrap: wrap;
    gap: 4px;
    width: 100%;
    min-width: 0;
}
.js-select2-multiple
    + .select2
    .select2-selection--multiple
    .select2-selection__rendered
    .select2-selection__choice {
    margin: 0;
    display: flex;
    align-items: center;
    font-size: 13px !important;
    font-weight: 500;
    border: none !important;
    border-radius: 100px !important;
    padding: 5px 6px !important;
}
.js-select2-multiple
    + .select2
    .select2-selection--multiple
    .select2-selection__rendered
    .select2-selection__choice
    .select2-selection__choice__remove {
    position: relative;
    display: inline-flex;
}

.add-to-cart-wrapper {
    position: relative;
    display: inline-block;
}
.add-to-cart-wrapper .btn-add-cart {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--bs-white);
    border: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    color: var(--text-dark);
    border: 1px solid var(--bs-border-color);
}
.add-to-cart-wrapper .btn-add-cart i {
    font-size: 14px;
    display: flex;
}
.add-to-cart-wrapper .btn-add-cart:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
}
.add-to-cart-wrapper .cart-counter {
    background: var(--bs-white);
    border-radius: 50px;
    min-width: 100px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    border: 1px solid var(--bs-border-color);
}
.add-to-cart-wrapper .cart-counter button {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--text-dark);
    transition: background 0.2s;
}
.add-to-cart-wrapper .cart-counter button:hover {
    background: var(--bs-gray-200);
}
.add-to-cart-wrapper .cart-counter button i {
    font-size: 12px;
    display: flex;
}
.add-to-cart-wrapper .cart-counter button.decrement i {
    color: #a0a0a0;
}
.add-to-cart-wrapper .cart-counter .quantity {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    min-width: 20px;
    text-align: center;
}

.cart-badge {
    width: 36px;
    height: 36px;
    background: #1e1e1e;
    border: 2px solid #ffffff;
    border-radius: 50%;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* ==== Input Components CSS Ends ==== */
[data-bs-theme="dark"]
    .js-select2-with-img
    + .select2
    .select2-selection--multiple,
[data-bs-theme="dark"] .js-select2 + .select2 .select2-selection--multiple {
    background-color: var(--bs-dark) !important;
    border-color: var(--bs-border-color) !important;
}
[data-bs-theme="dark"]
    .js-select2-with-img
    + .select2
    .select2-selection--multiple
    .select2-selection__choice,
[data-bs-theme="dark"]
    .js-select2
    + .select2
    .select2-selection--multiple
    .select2-selection__choice {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: var(--bs-border-color) !important;
    color: var(--bs-light) !important;
}
[data-bs-theme="dark"]
    .js-select2-with-img
    + .select2
    .select2-selection--multiple
    .select2-selection__choice
    .select2-selection__choice__remove,
[data-bs-theme="dark"]
    .js-select2
    + .select2
    .select2-selection--multiple
    .select2-selection__choice
    .select2-selection__choice__remove {
    color: rgba(255, 255, 255, 0.6) !important;
}
[data-bs-theme="dark"]
    .js-select2-with-img
    + .select2
    .select2-selection--multiple
    .select2-selection__choice
    .select2-selection__choice__remove:hover,
[data-bs-theme="dark"]
    .js-select2
    + .select2
    .select2-selection--multiple
    .select2-selection__choice
    .select2-selection__choice__remove:hover {
    color: var(--bs-light) !important;
}
[data-bs-theme="dark"]
    .js-select2-with-img
    + .select2
    .select2-selection--single
    .select2-selection__rendered,
[data-bs-theme="dark"]
    .js-select2
    + .select2
    .select2-selection--single
    .select2-selection__rendered {
    background-color: var(--bs-dark) !important;
    color: var(--bs-light) !important;
    border-color: var(--bs-border-color) !important;
}
[data-bs-theme="dark"] .select2-dropdown {
    background-color: var(--bs-dark);
    border-color: var(--bs-border-color);
    color: var(--bs-light);
}
[data-bs-theme="dark"] .select2-dropdown .select2-search__field {
    background-color: var(--bs-dark);
    border-color: var(--bs-border-color);
    color: var(--bs-light);
}
[data-bs-theme="dark"] .select2-dropdown .select2-results__option {
    color: var(--bs-light);
}
[data-bs-theme="dark"]
    .select2-dropdown
    .select2-results__option[aria-selected="true"] {
    background-color: rgba(255, 255, 255, 0.1);
}
[data-bs-theme="dark"]
    .select2-dropdown
    .select2-results__option--highlighted[aria-selected] {
    background-color: var(--bs-primary);
    color: #fff;
}

/*Image Uploader*/
.transition,
.img-uploader-box .fi-br-add,
.img-uploader-box,
.img-preview-actions {
    transition: all 0.3s ease-in-out;
}

.img-uploader {
    width: 100%;
    font-family: sans-serif;
    text-align: center;
}

.img-uploader-label {
    font-weight: 600;
    font-size: 14px;
    color: var(--bs-dark);
    margin: 0;
}

.img-uploader-sub-label {
    font-size: 12px;
    text-align: center;
    color: var(--semi-dark);
    margin-bottom: 10px;
}

.img-uploader-dropzone {
    border: 2px dashed var(--bs-border-color);
    border-radius: 10px;
    padding: 15px;
    text-align: center;
    background: var(--bs-body-color);
    cursor: pointer;
    position: relative;
    transition: border-color 0.2s;
}

.img-uploader-dropzone:hover {
    border-color: var(--bs-primary);
}

.img-uploader-placeholder {
    color: var(--semi-dark);
    font-size: 12px;
    pointer-events: none;
    margin-top: 10px;
}

.img-uploader-preview {
    --size: 90px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.img-preview-item {
    position: relative;
    height: var(--size);
    border-radius: 8px;
    overflow: hidden;
    background: var(--border-medium);
    display: flex;
    align-items: center;
    justify-content: center;
}
.img-preview-item:not(:hover) .img-preview-actions {
    opacity: 0;
}

.img-preview-item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.img-uploader[data-preview-fit-type="ratio"] .img-preview-item img {
    width: auto;
    height: 100%;
    object-fit: scale-down;
}

.img-uploader[data-preview-fit="contain"] .img-preview-item img {
    -o-object-fit: contain;
    object-fit: contain;
}

.img-uploader[data-preview-fit="fill"] .img-preview-item img {
    -o-object-fit: fill;
    object-fit: fill;
}

.img-uploader[data-preview-fit="scale-down"] .img-preview-item img {
    -o-object-fit: scale-down;
    object-fit: scale-down;
}

.img-preview-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    gap: 5px;
}

.img-preview-view,
.img-preview-remove,
.img-preview-edit {
    font-size: 12px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    background: var(--bs-body-bg);
    color: var(--bs-dark);
    transition: all 0.2s ease;
    text-align: center;
    cursor: pointer;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.img-preview-view i,
.img-preview-remove i,
.img-preview-edit i {
    display: inline-flex;
}

.img-preview-view:hover,
.img-preview-remove:hover,
.img-preview-edit:hover {
    background: var(--bs-primary);
    color: #fff;
}

.img-uploader-box {
    --size: 90px;
    height: var(--size);
    max-width: 100%;
    background: var(--bs-light);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    font-size: 12px;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    cursor: pointer;
    border-radius: 6px;
    order: 1;
    color: var(--grey);
    position: relative;
    overflow: hidden;
}
.img-uploader-box .img-uploader-ratio-badge,
.img-preview-item .img-uploader-ratio-badge {
    position: absolute;
    top: 6px;
    right: 6px;
    background: rgba(var(--bs-primary-rgb), 0.1);
    color: var(--bs-primary);
    font-size: 11px;
    font-weight: 600;
    line-height: 2;
    padding: 0px 3px;
    border-radius: 4px;
    z-index: 1;
    pointer-events: none;
}

.img-uploader-box:after {
    position: absolute;
    inset: -2px;
    border: 3px dashed var(--border-medium);
    content: "";
    pointer-events: none;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
}
.img-uploader-box:hover .fi-br-add {
    transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
}

.img-logo-uploader {
    max-width: 100%;
}

.img-image-preview-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.img-image-preview-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.7);
}

.img-image-preview-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 90%;
    max-height: 90%;
    background: var(--bs-light);
    padding: 8px;
    border-radius: 8px;
    box-shadow: 0 0 15px rgba(34, 33, 33, 0.4);
}

.img-image-preview-content img {
    max-width: 100%;
    max-height: 80vh;
    border-radius: 6px;
    display: block;
}

.img-image-preview-close {
    position: absolute;
    top: 4px;
    right: 10px;
    font-size: 24px;
    cursor: pointer;
    color: var(--bs-dark);
    width: 24px;
    height: 24px;
    background: var(--bs-body-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.upload-size-145px .img-preview-item,
.upload-size-145px .img-uploader-box {
    --size: 145px;
}

.upload-size-100px .img-preview-item,
.upload-size-100px .img-uploader-box {
    --size: 100px;
}

.upload-size-sm .img-preview-item,
.upload-size-sm .img-uploader-box {
    --size: 90px;
}

.upload-size-md .img-preview-item,
.upload-size-md .img-uploader-box {
    --size: 145px;
}

.upload-size-lg .img-preview-item,
.upload-size-lg .img-uploader-box {
    --size: 200px;
}

.ratio-1-1 + .img-uploader-preview .img-preview-item,
.ratio-1-1 {
    aspect-ratio: 1/1;
}

/* Landscape */
.ratio-4-3 + .img-uploader-preview .img-preview-item,
.ratio-4-3 {
    aspect-ratio: 4/3;
}

.ratio-3-2 + .img-uploader-preview .img-preview-item,
.ratio-3-2 {
    aspect-ratio: 3/2;
}

.ratio-5-3 + .img-uploader-preview .img-preview-item,
.ratio-5-3 {
    aspect-ratio: 5/3;
}

.ratio-16-9 + .img-uploader-preview .img-preview-item,
.ratio-16-9 {
    aspect-ratio: 16/9;
}

.ratio-21-9 + .img-uploader-preview .img-preview-item,
.ratio-21-9 {
    aspect-ratio: 21/9;
}

.ratio-2-1 + .img-uploader-preview .img-preview-item,
.ratio-2-1 {
    aspect-ratio: 2/1;
}

.ratio-3-1 + .img-uploader-preview .img-preview-item,
.ratio-3-1 {
    aspect-ratio: 3/1;
}

.ratio-5-2 + .img-uploader-preview .img-preview-item,
.ratio-5-2 {
    aspect-ratio: 5/2;
}

.ratio-5-1 + .img-uploader-preview .img-preview-item,
.ratio-5-1 {
    aspect-ratio: 5/1;
}

.ratio-235-1 + .img-uploader-preview .img-preview-item,
.ratio-235-1 {
    aspect-ratio: 2.35/1;
}

.ratio-239-1 + .img-uploader-preview .img-preview-item,
.ratio-239-1 {
    aspect-ratio: 2.39/1;
}

.ratio-10-9 + .img-uploader-preview .img-preview-item,
.ratio-10-9 {
    aspect-ratio: 10/9;
}

/* Portrait */
.ratio-3-4 + .img-uploader-preview .img-preview-item,
.ratio-3-4 {
    aspect-ratio: 3/4;
}

.ratio-2-3 + .img-uploader-preview .img-preview-item,
.ratio-2-3 {
    aspect-ratio: 2/3;
}

.ratio-9-16 + .img-uploader-preview .img-preview-item,
.ratio-9-16 {
    aspect-ratio: 9/16;
}

.ratio-1-2 + .img-uploader-preview .img-preview-item,
.ratio-1-2 {
    aspect-ratio: 1/2;
}

.ratio-1-3 + .img-uploader-preview .img-preview-item,
.ratio-1-3 {
    aspect-ratio: 1/3;
}

.ratio-1-5 + .img-uploader-preview .img-preview-item,
.ratio-1-5 {
    aspect-ratio: 1/5;
}

.ratio-9-10 + .img-uploader-preview .img-preview-item,
.ratio-9-10 {
    aspect-ratio: 9/10;
}

.ratio-5-4 + .img-uploader-preview .img-preview-item,
.ratio-5-4 {
    aspect-ratio: 5/4;
}

.ratio-4-5 + .img-uploader-preview .img-preview-item,
.ratio-4-5 {
    aspect-ratio: 4/5;
}

.ratio-7-5 + .img-uploader-preview .img-preview-item,
.ratio-7-5 {
    aspect-ratio: 7/5;
}

.ratio-5-7 + .img-uploader-preview .img-preview-item,
.ratio-5-7 {
    aspect-ratio: 5/7;
}

.ratio-8-5 + .img-uploader-preview .img-preview-item,
.ratio-8-5 {
    aspect-ratio: 8/5;
}

.ratio-5-8 + .img-uploader-preview .img-preview-item,
.ratio-5-8 {
    aspect-ratio: 5/8;
}

.ratio-free + .img-uploader-preview .img-preview-item,
.ratio-free {
    aspect-ratio: auto;
}

/*Image Uploader*/
.cropper-modal-dialog {
    max-width: 700px;
    width: 95%;
}

.cropper-workspace-wrapper {
    background: var(--bs-body-bg);
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    margin-bottom: 15px;
}

.cropper-workspace {
    min-height: 400px;
    max-height: 450px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cropper-workspace img {
    max-width: 100%;
    display: block;
}

.btn-close-sm {
    padding: 0.5rem;
    font-size: 0.8rem;
}

.tooltip--content {
    display: flex;
    align-items: center;
    gap: 5px;
}
.tooltip--content span {
    align-self: center;
}

.bg-bs-light {
    background-color: var(--bs-light);
}

.tooltip.bg-white {
    --bs-tooltip-bg: var(--bs-white);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
}

.tooltip.bg-white .tooltip-inner {
    background: var(--bs-white);
}

.custom-tooltip {
    --bs-tooltip-bg: var(--bs-white);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    --bs-tooltip-opacity: 1;
}

.custom-tooltip .tooltip-inner {
    background: var(--bs-white);
    min-width: 211px;
    max-width: 100vw;
    width: 211px;
    padding: 0;
}

.img-clear {
    all: revert;
}

/*Spacing*/
.p-5px {
    padding: 5px !important;
}

.px-5px {
    padding-inline: 5px !important;
}

.py-5px {
    padding-block: 5px !important;
}

.pt-5px {
    padding-top: 5px !important;
}

.pb-5px {
    padding-bottom: 5px !important;
}

.mt-5px {
    margin-top: 5px !important;
}

.mb-5px {
    margin-bottom: 5px !important;
}

.mt-n5px {
    margin-top: -5px !important;
}

.mb-n5px {
    margin-bottom: -5px !important;
}

.gap-5px {
    gap: 5px !important;
}

.gap-x-5px {
    -moz-column-gap: 5px !important;
    column-gap: 5px !important;
}

.gap-y-5px {
    row-gap: 5px !important;
}

.rounded-5px {
    border-radius: 5px !important;
}

.rounded-t-5px {
    border-top-left-radius: 5px !important;
    border-top-right-radius: 5px !important;
}

.rounded-b-5px {
    border-bottom-left-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
}

.h-5px {
    height: 5px !important;
}

.w-5px {
    width: 5px !important;
}

.p-6px {
    padding: 6px !important;
}

.px-6px {
    padding-inline: 6px !important;
}

.py-6px {
    padding-block: 6px !important;
}

.pt-6px {
    padding-top: 6px !important;
}

.pb-6px {
    padding-bottom: 6px !important;
}

.mt-6px {
    margin-top: 6px !important;
}

.mb-6px {
    margin-bottom: 6px !important;
}

.mt-n6px {
    margin-top: -6px !important;
}

.mb-n6px {
    margin-bottom: -6px !important;
}

.gap-6px {
    gap: 6px !important;
}

.gap-x-6px {
    -moz-column-gap: 6px !important;
    column-gap: 6px !important;
}

.gap-y-6px {
    row-gap: 6px !important;
}

.rounded-6px {
    border-radius: 6px !important;
}

.rounded-t-6px {
    border-top-left-radius: 6px !important;
    border-top-right-radius: 6px !important;
}

.rounded-b-6px {
    border-bottom-left-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

.h-6px {
    height: 6px !important;
}

.w-6px {
    width: 6px !important;
}

.p-10px {
    padding: 10px !important;
}

.px-10px {
    padding-inline: 10px !important;
}

.py-10px {
    padding-block: 10px !important;
}

.pt-10px {
    padding-top: 10px !important;
}

.pb-10px {
    padding-bottom: 10px !important;
}

.mt-10px {
    margin-top: 10px !important;
}

.mb-10px {
    margin-bottom: 10px !important;
}

.mt-n10px {
    margin-top: -10px !important;
}

.mb-n10px {
    margin-bottom: -10px !important;
}

.gap-10px {
    gap: 10px !important;
}

.gap-x-10px {
    -moz-column-gap: 10px !important;
    column-gap: 10px !important;
}

.gap-y-10px {
    row-gap: 10px !important;
}

.rounded-10px {
    border-radius: 10px !important;
}

.rounded-t-10px {
    border-top-left-radius: 10px !important;
    border-top-right-radius: 10px !important;
}

.rounded-b-10px {
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

.h-10px {
    height: 10px !important;
}

.w-10px {
    width: 10px !important;
}

.p-12px {
    padding: 12px !important;
}

.px-12px {
    padding-inline: 12px !important;
}

.py-12px {
    padding-block: 12px !important;
}

.pt-12px {
    padding-top: 12px !important;
}

.pb-12px {
    padding-bottom: 12px !important;
}

.mt-12px {
    margin-top: 12px !important;
}

.mb-12px {
    margin-bottom: 12px !important;
}

.mt-n12px {
    margin-top: -12px !important;
}

.mb-n12px {
    margin-bottom: -12px !important;
}

.gap-12px {
    gap: 12px !important;
}

.gap-x-12px {
    -moz-column-gap: 12px !important;
    column-gap: 12px !important;
}

.gap-y-12px {
    row-gap: 12px !important;
}

.rounded-12px {
    border-radius: 12px !important;
}

.rounded-t-12px {
    border-top-left-radius: 12px !important;
    border-top-right-radius: 12px !important;
}

.rounded-b-12px {
    border-bottom-left-radius: 12px !important;
    border-bottom-right-radius: 12px !important;
}

.h-12px {
    height: 12px !important;
}

.w-12px {
    width: 12px !important;
}

.p-15px {
    padding: 15px !important;
}

.px-15px {
    padding-inline: 15px !important;
}

.py-15px {
    padding-block: 15px !important;
}

.pt-15px {
    padding-top: 15px !important;
}

.pb-15px {
    padding-bottom: 15px !important;
}

.mt-15px {
    margin-top: 15px !important;
}

.mb-15px {
    margin-bottom: 15px !important;
}

.mt-n15px {
    margin-top: -15px !important;
}

.mb-n15px {
    margin-bottom: -15px !important;
}

.gap-15px {
    gap: 15px !important;
}

.gap-x-15px {
    -moz-column-gap: 15px !important;
    column-gap: 15px !important;
}

.gap-y-15px {
    row-gap: 15px !important;
}

.rounded-15px {
    border-radius: 15px !important;
}

.rounded-t-15px {
    border-top-left-radius: 15px !important;
    border-top-right-radius: 15px !important;
}

.rounded-b-15px {
    border-bottom-left-radius: 15px !important;
    border-bottom-right-radius: 15px !important;
}

.h-15px {
    height: 15px !important;
}

.w-15px {
    width: 15px !important;
}

.p-20px {
    padding: 20px !important;
}

.px-20px {
    padding-inline: 20px !important;
}

.py-20px {
    padding-block: 20px !important;
}

.pt-20px {
    padding-top: 20px !important;
}

.pb-20px {
    padding-bottom: 20px !important;
}

.mt-20px {
    margin-top: 20px !important;
}

.mb-20px {
    margin-bottom: 20px !important;
}

.mt-n20px {
    margin-top: -20px !important;
}

.mb-n20px {
    margin-bottom: -20px !important;
}

.gap-20px {
    gap: 20px !important;
}

.gap-x-20px {
    -moz-column-gap: 20px !important;
    column-gap: 20px !important;
}

.gap-y-20px {
    row-gap: 20px !important;
}

.rounded-20px {
    border-radius: 20px !important;
}

.rounded-t-20px {
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
}

.rounded-b-20px {
    border-bottom-left-radius: 20px !important;
    border-bottom-right-radius: 20px !important;
}

.h-20px {
    height: 20px !important;
}

.w-20px {
    width: 20px !important;
}

.p-30px {
    padding: 30px !important;
}

.px-30px {
    padding-inline: 30px !important;
}

.py-30px {
    padding-block: 30px !important;
}

.pt-30px {
    padding-top: 30px !important;
}

.pb-30px {
    padding-bottom: 30px !important;
}

.mt-30px {
    margin-top: 30px !important;
}

.mb-30px {
    margin-bottom: 30px !important;
}

.mt-n30px {
    margin-top: -30px !important;
}

.mb-n30px {
    margin-bottom: -30px !important;
}

.gap-30px {
    gap: 30px !important;
}

.gap-x-30px {
    -moz-column-gap: 30px !important;
    column-gap: 30px !important;
}

.gap-y-30px {
    row-gap: 30px !important;
}

.rounded-30px {
    border-radius: 30px !important;
}

.rounded-t-30px {
    border-top-left-radius: 30px !important;
    border-top-right-radius: 30px !important;
}

.rounded-b-30px {
    border-bottom-left-radius: 30px !important;
    border-bottom-right-radius: 30px !important;
}

.h-30px {
    height: 30px !important;
}

.w-30px {
    width: 30px !important;
}

.p-36px {
    padding: 36px !important;
}

.px-36px {
    padding-inline: 36px !important;
}

.py-36px {
    padding-block: 36px !important;
}

.pt-36px {
    padding-top: 36px !important;
}

.pb-36px {
    padding-bottom: 36px !important;
}

.mt-36px {
    margin-top: 36px !important;
}

.mb-36px {
    margin-bottom: 36px !important;
}

.mt-n36px {
    margin-top: -36px !important;
}

.mb-n36px {
    margin-bottom: -36px !important;
}

.gap-36px {
    gap: 36px !important;
}

.gap-x-36px {
    -moz-column-gap: 36px !important;
    column-gap: 36px !important;
}

.gap-y-36px {
    row-gap: 36px !important;
}

.rounded-36px {
    border-radius: 36px !important;
}

.rounded-t-36px {
    border-top-left-radius: 36px !important;
    border-top-right-radius: 36px !important;
}

.rounded-b-36px {
    border-bottom-left-radius: 36px !important;
    border-bottom-right-radius: 36px !important;
}

.h-36px {
    height: 36px !important;
}

.w-36px {
    width: 36px !important;
}

.p-40px {
    padding: 40px !important;
}

.px-40px {
    padding-inline: 40px !important;
}

.py-40px {
    padding-block: 40px !important;
}

.pt-40px {
    padding-top: 40px !important;
}

.pb-40px {
    padding-bottom: 40px !important;
}

.mt-40px {
    margin-top: 40px !important;
}

.mb-40px {
    margin-bottom: 40px !important;
}

.mt-n40px {
    margin-top: -40px !important;
}

.mb-n40px {
    margin-bottom: -40px !important;
}

.gap-40px {
    gap: 40px !important;
}

.gap-x-40px {
    -moz-column-gap: 40px !important;
    column-gap: 40px !important;
}

.gap-y-40px {
    row-gap: 40px !important;
}

.rounded-40px {
    border-radius: 40px !important;
}

.rounded-t-40px {
    border-top-left-radius: 40px !important;
    border-top-right-radius: 40px !important;
}

.rounded-b-40px {
    border-bottom-left-radius: 40px !important;
    border-bottom-right-radius: 40px !important;
}

.h-40px {
    height: 40px !important;
}

.w-40px {
    width: 40px !important;
}

.p-50px {
    padding: 50px !important;
}

.px-50px {
    padding-inline: 50px !important;
}

.py-50px {
    padding-block: 50px !important;
}

.pt-50px {
    padding-top: 50px !important;
}

.pb-50px {
    padding-bottom: 50px !important;
}

.mt-50px {
    margin-top: 50px !important;
}

.mb-50px {
    margin-bottom: 50px !important;
}

.mt-n50px {
    margin-top: -50px !important;
}

.mb-n50px {
    margin-bottom: -50px !important;
}

.gap-50px {
    gap: 50px !important;
}

.gap-x-50px {
    -moz-column-gap: 50px !important;
    column-gap: 50px !important;
}

.gap-y-50px {
    row-gap: 50px !important;
}

.rounded-50px {
    border-radius: 50px !important;
}

.rounded-t-50px {
    border-top-left-radius: 50px !important;
    border-top-right-radius: 50px !important;
}

.rounded-b-50px {
    border-bottom-left-radius: 50px !important;
    border-bottom-right-radius: 50px !important;
}

.h-50px {
    height: 50px !important;
}

.w-50px {
    width: 50px !important;
}

.p-60px {
    padding: 60px !important;
}

.px-60px {
    padding-inline: 60px !important;
}

.py-60px {
    padding-block: 60px !important;
}

.pt-60px {
    padding-top: 60px !important;
}

.pb-60px {
    padding-bottom: 60px !important;
}

.mt-60px {
    margin-top: 60px !important;
}

.mb-60px {
    margin-bottom: 60px !important;
}

.mt-n60px {
    margin-top: -60px !important;
}

.mb-n60px {
    margin-bottom: -60px !important;
}

.gap-60px {
    gap: 60px !important;
}

.gap-x-60px {
    -moz-column-gap: 60px !important;
    column-gap: 60px !important;
}

.gap-y-60px {
    row-gap: 60px !important;
}

.rounded-60px {
    border-radius: 60px !important;
}

.rounded-t-60px {
    border-top-left-radius: 60px !important;
    border-top-right-radius: 60px !important;
}

.rounded-b-60px {
    border-bottom-left-radius: 60px !important;
    border-bottom-right-radius: 60px !important;
}

.h-60px {
    height: 60px !important;
}

.w-60px {
    width: 60px !important;
}

@media (min-width: 768px) {
    .p-md-5px {
        padding: 5px !important;
    }
    .px-md-5px {
        padding-inline: 5px !important;
    }
    .pt-md-5px {
        padding-top: 5px !important;
    }
    .pb-md-5px {
        padding-bottom: 5px !important;
    }
    .mt-md-5px {
        margin-top: 5px !important;
    }
    .mb-md-5px {
        margin-bottom: 5px !important;
    }
    .gap-md-5px {
        gap: 5px !important;
    }
    .gap-x-md-5px {
        gap: 5px !important;
    }
    .p-md-6px {
        padding: 6px !important;
    }
    .px-md-6px {
        padding-inline: 6px !important;
    }
    .pt-md-6px {
        padding-top: 6px !important;
    }
    .pb-md-6px {
        padding-bottom: 6px !important;
    }
    .mt-md-6px {
        margin-top: 6px !important;
    }
    .mb-md-6px {
        margin-bottom: 6px !important;
    }
    .gap-md-6px {
        gap: 6px !important;
    }
    .gap-x-md-6px {
        gap: 6px !important;
    }
    .p-md-10px {
        padding: 10px !important;
    }
    .px-md-10px {
        padding-inline: 10px !important;
    }
    .pt-md-10px {
        padding-top: 10px !important;
    }
    .pb-md-10px {
        padding-bottom: 10px !important;
    }
    .mt-md-10px {
        margin-top: 10px !important;
    }
    .mb-md-10px {
        margin-bottom: 10px !important;
    }
    .gap-md-10px {
        gap: 10px !important;
    }
    .gap-x-md-10px {
        gap: 10px !important;
    }
    .p-md-12px {
        padding: 12px !important;
    }
    .px-md-12px {
        padding-inline: 12px !important;
    }
    .pt-md-12px {
        padding-top: 12px !important;
    }
    .pb-md-12px {
        padding-bottom: 12px !important;
    }
    .mt-md-12px {
        margin-top: 12px !important;
    }
    .mb-md-12px {
        margin-bottom: 12px !important;
    }
    .gap-md-12px {
        gap: 12px !important;
    }
    .gap-x-md-12px {
        gap: 12px !important;
    }
    .p-md-15px {
        padding: 15px !important;
    }
    .px-md-15px {
        padding-inline: 15px !important;
    }
    .pt-md-15px {
        padding-top: 15px !important;
    }
    .pb-md-15px {
        padding-bottom: 15px !important;
    }
    .mt-md-15px {
        margin-top: 15px !important;
    }
    .mb-md-15px {
        margin-bottom: 15px !important;
    }
    .gap-md-15px {
        gap: 15px !important;
    }
    .gap-x-md-15px {
        gap: 15px !important;
    }
    .p-md-20px {
        padding: 20px !important;
    }
    .px-md-20px {
        padding-inline: 20px !important;
    }
    .pt-md-20px {
        padding-top: 20px !important;
    }
    .pb-md-20px {
        padding-bottom: 20px !important;
    }
    .mt-md-20px {
        margin-top: 20px !important;
    }
    .mb-md-20px {
        margin-bottom: 20px !important;
    }
    .gap-md-20px {
        gap: 20px !important;
    }
    .gap-x-md-20px {
        gap: 20px !important;
    }
    .p-md-30px {
        padding: 30px !important;
    }
    .px-md-30px {
        padding-inline: 30px !important;
    }
    .pt-md-30px {
        padding-top: 30px !important;
    }
    .pb-md-30px {
        padding-bottom: 30px !important;
    }
    .mt-md-30px {
        margin-top: 30px !important;
    }
    .mb-md-30px {
        margin-bottom: 30px !important;
    }
    .gap-md-30px {
        gap: 30px !important;
    }
    .gap-x-md-30px {
        gap: 30px !important;
    }
    .p-md-36px {
        padding: 36px !important;
    }
    .px-md-36px {
        padding-inline: 36px !important;
    }
    .pt-md-36px {
        padding-top: 36px !important;
    }
    .pb-md-36px {
        padding-bottom: 36px !important;
    }
    .mt-md-36px {
        margin-top: 36px !important;
    }
    .mb-md-36px {
        margin-bottom: 36px !important;
    }
    .gap-md-36px {
        gap: 36px !important;
    }
    .gap-x-md-36px {
        gap: 36px !important;
    }
    .p-md-40px {
        padding: 40px !important;
    }
    .px-md-40px {
        padding-inline: 40px !important;
    }
    .pt-md-40px {
        padding-top: 40px !important;
    }
    .pb-md-40px {
        padding-bottom: 40px !important;
    }
    .mt-md-40px {
        margin-top: 40px !important;
    }
    .mb-md-40px {
        margin-bottom: 40px !important;
    }
    .gap-md-40px {
        gap: 40px !important;
    }
    .gap-x-md-40px {
        gap: 40px !important;
    }
    .p-md-50px {
        padding: 50px !important;
    }
    .px-md-50px {
        padding-inline: 50px !important;
    }
    .pt-md-50px {
        padding-top: 50px !important;
    }
    .pb-md-50px {
        padding-bottom: 50px !important;
    }
    .mt-md-50px {
        margin-top: 50px !important;
    }
    .mb-md-50px {
        margin-bottom: 50px !important;
    }
    .gap-md-50px {
        gap: 50px !important;
    }
    .gap-x-md-50px {
        gap: 50px !important;
    }
    .p-md-60px {
        padding: 60px !important;
    }
    .px-md-60px {
        padding-inline: 60px !important;
    }
    .pt-md-60px {
        padding-top: 60px !important;
    }
    .pb-md-60px {
        padding-bottom: 60px !important;
    }
    .mt-md-60px {
        margin-top: 60px !important;
    }
    .mb-md-60px {
        margin-bottom: 60px !important;
    }
    .gap-md-60px {
        gap: 60px !important;
    }
    .gap-x-md-60px {
        gap: 60px !important;
    }
}
@media (min-width: 992px) {
    .p-lg-5px {
        padding: 5px !important;
    }
    .px-lg-5px {
        padding-inline: 5px !important;
    }
    .pt-lg-5px {
        padding-top: 5px !important;
    }
    .pb-lg-5px {
        padding-bottom: 5px !important;
    }
    .mt-lg-5px {
        margin-top: 5px !important;
    }
    .mb-lg-5px {
        margin-bottom: 5px !important;
    }
    .gap-lg-5px {
        gap: 5px !important;
    }
    .gap-x-lg-5px {
        gap: 5px !important;
    }
    .p-lg-6px {
        padding: 6px !important;
    }
    .px-lg-6px {
        padding-inline: 6px !important;
    }
    .pt-lg-6px {
        padding-top: 6px !important;
    }
    .pb-lg-6px {
        padding-bottom: 6px !important;
    }
    .mt-lg-6px {
        margin-top: 6px !important;
    }
    .mb-lg-6px {
        margin-bottom: 6px !important;
    }
    .gap-lg-6px {
        gap: 6px !important;
    }
    .gap-x-lg-6px {
        gap: 6px !important;
    }
    .p-lg-10px {
        padding: 10px !important;
    }
    .px-lg-10px {
        padding-inline: 10px !important;
    }
    .pt-lg-10px {
        padding-top: 10px !important;
    }
    .pb-lg-10px {
        padding-bottom: 10px !important;
    }
    .mt-lg-10px {
        margin-top: 10px !important;
    }
    .mb-lg-10px {
        margin-bottom: 10px !important;
    }
    .gap-lg-10px {
        gap: 10px !important;
    }
    .gap-x-lg-10px {
        gap: 10px !important;
    }
    .p-lg-12px {
        padding: 12px !important;
    }
    .px-lg-12px {
        padding-inline: 12px !important;
    }
    .pt-lg-12px {
        padding-top: 12px !important;
    }
    .pb-lg-12px {
        padding-bottom: 12px !important;
    }
    .mt-lg-12px {
        margin-top: 12px !important;
    }
    .mb-lg-12px {
        margin-bottom: 12px !important;
    }
    .gap-lg-12px {
        gap: 12px !important;
    }
    .gap-x-lg-12px {
        gap: 12px !important;
    }
    .p-lg-15px {
        padding: 15px !important;
    }
    .px-lg-15px {
        padding-inline: 15px !important;
    }
    .pt-lg-15px {
        padding-top: 15px !important;
    }
    .pb-lg-15px {
        padding-bottom: 15px !important;
    }
    .mt-lg-15px {
        margin-top: 15px !important;
    }
    .mb-lg-15px {
        margin-bottom: 15px !important;
    }
    .gap-lg-15px {
        gap: 15px !important;
    }
    .gap-x-lg-15px {
        gap: 15px !important;
    }
    .p-lg-20px {
        padding: 20px !important;
    }
    .px-lg-20px {
        padding-inline: 20px !important;
    }
    .pt-lg-20px {
        padding-top: 20px !important;
    }
    .pb-lg-20px {
        padding-bottom: 20px !important;
    }
    .mt-lg-20px {
        margin-top: 20px !important;
    }
    .mb-lg-20px {
        margin-bottom: 20px !important;
    }
    .gap-lg-20px {
        gap: 20px !important;
    }
    .gap-x-lg-20px {
        gap: 20px !important;
    }
    .p-lg-30px {
        padding: 30px !important;
    }
    .px-lg-30px {
        padding-inline: 30px !important;
    }
    .pt-lg-30px {
        padding-top: 30px !important;
    }
    .pb-lg-30px {
        padding-bottom: 30px !important;
    }
    .mt-lg-30px {
        margin-top: 30px !important;
    }
    .mb-lg-30px {
        margin-bottom: 30px !important;
    }
    .gap-lg-30px {
        gap: 30px !important;
    }
    .gap-x-lg-30px {
        gap: 30px !important;
    }
    .p-lg-36px {
        padding: 36px !important;
    }
    .px-lg-36px {
        padding-inline: 36px !important;
    }
    .pt-lg-36px {
        padding-top: 36px !important;
    }
    .pb-lg-36px {
        padding-bottom: 36px !important;
    }
    .mt-lg-36px {
        margin-top: 36px !important;
    }
    .mb-lg-36px {
        margin-bottom: 36px !important;
    }
    .gap-lg-36px {
        gap: 36px !important;
    }
    .gap-x-lg-36px {
        gap: 36px !important;
    }
    .p-lg-40px {
        padding: 40px !important;
    }
    .px-lg-40px {
        padding-inline: 40px !important;
    }
    .pt-lg-40px {
        padding-top: 40px !important;
    }
    .pb-lg-40px {
        padding-bottom: 40px !important;
    }
    .mt-lg-40px {
        margin-top: 40px !important;
    }
    .mb-lg-40px {
        margin-bottom: 40px !important;
    }
    .gap-lg-40px {
        gap: 40px !important;
    }
    .gap-x-lg-40px {
        gap: 40px !important;
    }
    .p-lg-50px {
        padding: 50px !important;
    }
    .px-lg-50px {
        padding-inline: 50px !important;
    }
    .pt-lg-50px {
        padding-top: 50px !important;
    }
    .pb-lg-50px {
        padding-bottom: 50px !important;
    }
    .mt-lg-50px {
        margin-top: 50px !important;
    }
    .mb-lg-50px {
        margin-bottom: 50px !important;
    }
    .gap-lg-50px {
        gap: 50px !important;
    }
    .gap-x-lg-50px {
        gap: 50px !important;
    }
    .p-lg-60px {
        padding: 60px !important;
    }
    .px-lg-60px {
        padding-inline: 60px !important;
    }
    .pt-lg-60px {
        padding-top: 60px !important;
    }
    .pb-lg-60px {
        padding-bottom: 60px !important;
    }
    .mt-lg-60px {
        margin-top: 60px !important;
    }
    .mb-lg-60px {
        margin-bottom: 60px !important;
    }
    .gap-lg-60px {
        gap: 60px !important;
    }
    .gap-x-lg-60px {
        gap: 60px !important;
    }
}
@media (min-width: 1200px) {
    .p-xl-5px {
        padding: 5px !important;
    }
    .px-xl-5px {
        padding-inline: 5px !important;
    }
    .pt-xl-5px {
        padding-top: 5px !important;
    }
    .pb-xl-5px {
        padding-bottom: 5px !important;
    }
    .mt-xl-5px {
        margin-top: 5px !important;
    }
    .mb-xl-5px {
        margin-bottom: 5px !important;
    }
    .gap-xl-5px {
        gap: 5px !important;
    }
    .gap-x-xl-5px {
        gap: 5px !important;
    }
    .p-xl-6px {
        padding: 6px !important;
    }
    .px-xl-6px {
        padding-inline: 6px !important;
    }
    .pt-xl-6px {
        padding-top: 6px !important;
    }
    .pb-xl-6px {
        padding-bottom: 6px !important;
    }
    .mt-xl-6px {
        margin-top: 6px !important;
    }
    .mb-xl-6px {
        margin-bottom: 6px !important;
    }
    .gap-xl-6px {
        gap: 6px !important;
    }
    .gap-x-xl-6px {
        gap: 6px !important;
    }
    .p-xl-10px {
        padding: 10px !important;
    }
    .px-xl-10px {
        padding-inline: 10px !important;
    }
    .pt-xl-10px {
        padding-top: 10px !important;
    }
    .pb-xl-10px {
        padding-bottom: 10px !important;
    }
    .mt-xl-10px {
        margin-top: 10px !important;
    }
    .mb-xl-10px {
        margin-bottom: 10px !important;
    }
    .gap-xl-10px {
        gap: 10px !important;
    }
    .gap-x-xl-10px {
        gap: 10px !important;
    }
    .p-xl-12px {
        padding: 12px !important;
    }
    .px-xl-12px {
        padding-inline: 12px !important;
    }
    .pt-xl-12px {
        padding-top: 12px !important;
    }
    .pb-xl-12px {
        padding-bottom: 12px !important;
    }
    .mt-xl-12px {
        margin-top: 12px !important;
    }
    .mb-xl-12px {
        margin-bottom: 12px !important;
    }
    .gap-xl-12px {
        gap: 12px !important;
    }
    .gap-x-xl-12px {
        gap: 12px !important;
    }
    .p-xl-15px {
        padding: 15px !important;
    }
    .px-xl-15px {
        padding-inline: 15px !important;
    }
    .pt-xl-15px {
        padding-top: 15px !important;
    }
    .pb-xl-15px {
        padding-bottom: 15px !important;
    }
    .mt-xl-15px {
        margin-top: 15px !important;
    }
    .mb-xl-15px {
        margin-bottom: 15px !important;
    }
    .gap-xl-15px {
        gap: 15px !important;
    }
    .gap-x-xl-15px {
        gap: 15px !important;
    }
    .p-xl-20px {
        padding: 20px !important;
    }
    .px-xl-20px {
        padding-inline: 20px !important;
    }
    .pt-xl-20px {
        padding-top: 20px !important;
    }
    .pb-xl-20px {
        padding-bottom: 20px !important;
    }
    .mt-xl-20px {
        margin-top: 20px !important;
    }
    .mb-xl-20px {
        margin-bottom: 20px !important;
    }
    .gap-xl-20px {
        gap: 20px !important;
    }
    .gap-x-xl-20px {
        gap: 20px !important;
    }
    .p-xl-30px {
        padding: 30px !important;
    }
    .px-xl-30px {
        padding-inline: 30px !important;
    }
    .pt-xl-30px {
        padding-top: 30px !important;
    }
    .pb-xl-30px {
        padding-bottom: 30px !important;
    }
    .mt-xl-30px {
        margin-top: 30px !important;
    }
    .mb-xl-30px {
        margin-bottom: 30px !important;
    }
    .gap-xl-30px {
        gap: 30px !important;
    }
    .gap-x-xl-30px {
        gap: 30px !important;
    }
    .p-xl-36px {
        padding: 36px !important;
    }
    .px-xl-36px {
        padding-inline: 36px !important;
    }
    .pt-xl-36px {
        padding-top: 36px !important;
    }
    .pb-xl-36px {
        padding-bottom: 36px !important;
    }
    .mt-xl-36px {
        margin-top: 36px !important;
    }
    .mb-xl-36px {
        margin-bottom: 36px !important;
    }
    .gap-xl-36px {
        gap: 36px !important;
    }
    .gap-x-xl-36px {
        gap: 36px !important;
    }
    .p-xl-40px {
        padding: 40px !important;
    }
    .px-xl-40px {
        padding-inline: 40px !important;
    }
    .pt-xl-40px {
        padding-top: 40px !important;
    }
    .pb-xl-40px {
        padding-bottom: 40px !important;
    }
    .mt-xl-40px {
        margin-top: 40px !important;
    }
    .mb-xl-40px {
        margin-bottom: 40px !important;
    }
    .gap-xl-40px {
        gap: 40px !important;
    }
    .gap-x-xl-40px {
        gap: 40px !important;
    }
    .p-xl-50px {
        padding: 50px !important;
    }
    .px-xl-50px {
        padding-inline: 50px !important;
    }
    .pt-xl-50px {
        padding-top: 50px !important;
    }
    .pb-xl-50px {
        padding-bottom: 50px !important;
    }
    .mt-xl-50px {
        margin-top: 50px !important;
    }
    .mb-xl-50px {
        margin-bottom: 50px !important;
    }
    .gap-xl-50px {
        gap: 50px !important;
    }
    .gap-x-xl-50px {
        gap: 50px !important;
    }
    .p-xl-60px {
        padding: 60px !important;
    }
    .px-xl-60px {
        padding-inline: 60px !important;
    }
    .pt-xl-60px {
        padding-top: 60px !important;
    }
    .pb-xl-60px {
        padding-bottom: 60px !important;
    }
    .mt-xl-60px {
        margin-top: 60px !important;
    }
    .mb-xl-60px {
        margin-bottom: 60px !important;
    }
    .gap-xl-60px {
        gap: 60px !important;
    }
    .gap-x-xl-60px {
        gap: 60px !important;
    }
}
@media (min-width: 1400px) {
    .p-xxl-5px {
        padding: 5px !important;
    }
    .px-xxl-5px {
        padding-inline: 5px !important;
    }
    .pt-xxl-5px {
        padding-top: 5px !important;
    }
    .pb-xxl-5px {
        padding-bottom: 5px !important;
    }
    .mt-xxl-5px {
        margin-top: 5px !important;
    }
    .mb-xxl-5px {
        margin-bottom: 5px !important;
    }
    .gap-xxl-5px {
        gap: 5px !important;
    }
    .gap-x-xxl-5px {
        gap: 5px !important;
    }
    .p-xxl-6px {
        padding: 6px !important;
    }
    .px-xxl-6px {
        padding-inline: 6px !important;
    }
    .pt-xxl-6px {
        padding-top: 6px !important;
    }
    .pb-xxl-6px {
        padding-bottom: 6px !important;
    }
    .mt-xxl-6px {
        margin-top: 6px !important;
    }
    .mb-xxl-6px {
        margin-bottom: 6px !important;
    }
    .gap-xxl-6px {
        gap: 6px !important;
    }
    .gap-x-xxl-6px {
        gap: 6px !important;
    }
    .p-xxl-10px {
        padding: 10px !important;
    }
    .px-xxl-10px {
        padding-inline: 10px !important;
    }
    .pt-xxl-10px {
        padding-top: 10px !important;
    }
    .pb-xxl-10px {
        padding-bottom: 10px !important;
    }
    .mt-xxl-10px {
        margin-top: 10px !important;
    }
    .mb-xxl-10px {
        margin-bottom: 10px !important;
    }
    .gap-xxl-10px {
        gap: 10px !important;
    }
    .gap-x-xxl-10px {
        gap: 10px !important;
    }
    .p-xxl-12px {
        padding: 12px !important;
    }
    .px-xxl-12px {
        padding-inline: 12px !important;
    }
    .pt-xxl-12px {
        padding-top: 12px !important;
    }
    .pb-xxl-12px {
        padding-bottom: 12px !important;
    }
    .mt-xxl-12px {
        margin-top: 12px !important;
    }
    .mb-xxl-12px {
        margin-bottom: 12px !important;
    }
    .gap-xxl-12px {
        gap: 12px !important;
    }
    .gap-x-xxl-12px {
        gap: 12px !important;
    }
    .p-xxl-15px {
        padding: 15px !important;
    }
    .px-xxl-15px {
        padding-inline: 15px !important;
    }
    .pt-xxl-15px {
        padding-top: 15px !important;
    }
    .pb-xxl-15px {
        padding-bottom: 15px !important;
    }
    .mt-xxl-15px {
        margin-top: 15px !important;
    }
    .mb-xxl-15px {
        margin-bottom: 15px !important;
    }
    .gap-xxl-15px {
        gap: 15px !important;
    }
    .gap-x-xxl-15px {
        gap: 15px !important;
    }
    .p-xxl-20px {
        padding: 20px !important;
    }
    .px-xxl-20px {
        padding-inline: 20px !important;
    }
    .pt-xxl-20px {
        padding-top: 20px !important;
    }
    .pb-xxl-20px {
        padding-bottom: 20px !important;
    }
    .mt-xxl-20px {
        margin-top: 20px !important;
    }
    .mb-xxl-20px {
        margin-bottom: 20px !important;
    }
    .gap-xxl-20px {
        gap: 20px !important;
    }
    .gap-x-xxl-20px {
        gap: 20px !important;
    }
    .p-xxl-30px {
        padding: 30px !important;
    }
    .px-xxl-30px {
        padding-inline: 30px !important;
    }
    .pt-xxl-30px {
        padding-top: 30px !important;
    }
    .pb-xxl-30px {
        padding-bottom: 30px !important;
    }
    .mt-xxl-30px {
        margin-top: 30px !important;
    }
    .mb-xxl-30px {
        margin-bottom: 30px !important;
    }
    .gap-xxl-30px {
        gap: 30px !important;
    }
    .gap-x-xxl-30px {
        gap: 30px !important;
    }
    .p-xxl-36px {
        padding: 36px !important;
    }
    .px-xxl-36px {
        padding-inline: 36px !important;
    }
    .pt-xxl-36px {
        padding-top: 36px !important;
    }
    .pb-xxl-36px {
        padding-bottom: 36px !important;
    }
    .mt-xxl-36px {
        margin-top: 36px !important;
    }
    .mb-xxl-36px {
        margin-bottom: 36px !important;
    }
    .gap-xxl-36px {
        gap: 36px !important;
    }
    .gap-x-xxl-36px {
        gap: 36px !important;
    }
    .p-xxl-40px {
        padding: 40px !important;
    }
    .px-xxl-40px {
        padding-inline: 40px !important;
    }
    .pt-xxl-40px {
        padding-top: 40px !important;
    }
    .pb-xxl-40px {
        padding-bottom: 40px !important;
    }
    .mt-xxl-40px {
        margin-top: 40px !important;
    }
    .mb-xxl-40px {
        margin-bottom: 40px !important;
    }
    .gap-xxl-40px {
        gap: 40px !important;
    }
    .gap-x-xxl-40px {
        gap: 40px !important;
    }
    .p-xxl-50px {
        padding: 50px !important;
    }
    .px-xxl-50px {
        padding-inline: 50px !important;
    }
    .pt-xxl-50px {
        padding-top: 50px !important;
    }
    .pb-xxl-50px {
        padding-bottom: 50px !important;
    }
    .mt-xxl-50px {
        margin-top: 50px !important;
    }
    .mb-xxl-50px {
        margin-bottom: 50px !important;
    }
    .gap-xxl-50px {
        gap: 50px !important;
    }
    .gap-x-xxl-50px {
        gap: 50px !important;
    }
    .p-xxl-60px {
        padding: 60px !important;
    }
    .px-xxl-60px {
        padding-inline: 60px !important;
    }
    .pt-xxl-60px {
        padding-top: 60px !important;
    }
    .pb-xxl-60px {
        padding-bottom: 60px !important;
    }
    .mt-xxl-60px {
        margin-top: 60px !important;
    }
    .mb-xxl-60px {
        margin-bottom: 60px !important;
    }
    .gap-xxl-60px {
        gap: 60px !important;
    }
    .gap-x-xxl-60px {
        gap: 60px !important;
    }
}
.border-dashed {
    border-style: dashed !important;
}

/* Document Uploader */
.doc-uploader .doc-uploader-area {
    border: 2px dashed #e1e3e6;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    cursor: pointer;
    padding: 30px 20px;
    transition: all 0.3s ease;
    background-color: var(--bs-white);
    max-width: 200px;
    margin: 0 auto;
}
.doc-uploader .doc-uploader-area:hover {
    border-color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), 0.02);
}
.doc-uploader .doc-uploader-area .upload-text {
    font-size: 12px;
    font-weight: 500;
    color: var(--bs-dark);
    margin-bottom: 5px;
}
.doc-uploader .upload-hint {
    font-size: 10px;
    color: var(--text-semi-dark);
    line-height: 1.5;
    text-align: center;
}
.doc-uploader .doc-file-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    height: 100%;
    overflow-y: auto;
    max-height: 260px;
    padding: 10px;
}
.doc-uploader .doc-file-list:not(:has(*)) {
    display: none;
}
.doc-uploader .doc-file-list.style-2 {
    flex-direction: row;
}
.doc-uploader .doc-file-list.style-2 .doc-uploader-area {
    height: 80px;
    margin: 0;
}
.doc-uploader .doc-file-list.style-2 .doc-file-item {
    display: block;
    padding: 13px 12px;
    gap: 10px;
    max-width: 180px;
    min-height: 80px;
    position: relative;
    box-shadow: none;
    border: 1px solid var(--border-light);
}
.doc-uploader .doc-file-list.style-2 .doc-file-item .file-icon {
    justify-content: flex-start;
}
.doc-uploader .doc-file-list.style-2 .doc-file-item .file-name {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 1;
    -webkit-line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 10px;
}
.doc-uploader .doc-file-list.style-2 .doc-file-item .file-remove {
    background: transparent;
    border: none;
    outline: none;
    margin: 0;
    position: absolute;
    right: 4px;
    top: 4px;
}
.doc-uploader .doc-file-list.style-2 .doc-file-item .file-remove .fi {
    font-size: 16px;
    color: var(--bs-danger);
}
.doc-uploader .doc-file-item {
    display: flex;
    align-items: center;
    padding: 8px 15px;
    border-radius: 12px;
    transition: all 0.2s ease;
    background: var(--bs-white);
    box-shadow:
        0px 0px 3px rgba(0, 0, 0, 0.06),
        0px 3px 8px rgba(0, 0, 0, 0.06);
    border-radius: 10px;
}
.doc-uploader .doc-file-item .file-icon {
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin-right: 8px;
    flex-shrink: 0;
}
.doc-uploader .doc-file-item .file-icon.pdf {
    color: #ff4d4f;
}
.doc-uploader .doc-file-item .file-icon.doc {
    color: #1890ff;
}
.doc-uploader .doc-file-item .file-icon.xls {
    color: #52c41a;
}
.doc-uploader .doc-file-item .file-icon.zip {
    color: #faad14;
}
.doc-uploader .doc-file-item .file-icon.img {
    color: #722ed1;
}
.doc-uploader .doc-file-item .file-icon.default {
    color: #595959;
}
.doc-uploader .doc-file-item .file-info {
    flex-grow: 1;
    min-width: 0;
}
.doc-uploader .doc-file-item .file-info .file-name {
    font-size: 12px;
    font-weight: 500;
    color: var(--bs-dark);
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.doc-uploader .doc-file-item .file-info .file-size {
    font-size: 12px;
    color: var(--text-semi-dark);
}
.doc-uploader .doc-file-item .file-remove {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: none;
    background: rgba(255, 77, 79, 0.1);
    border: 1px solid rgba(255, 77, 79, 0.1);
    color: #ff4d4f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    line-height: 1;
    cursor: pointer;
    transition: all 0.2s;
    margin-left: 10px;
}
.doc-uploader .doc-file-item .file-remove i {
    display: flex;
}
.doc-uploader .doc-file-item .file-remove:hover {
    background: #ff4d4f;
    color: white;
}

/*== tab link ==*/
.tab-link-list {
    -moz-column-gap: 24px;
    column-gap: 24px;
}
.tab-link-list .nav-item .nav-link {
    box-shadow: none;
    padding: 9px 0 12px;
    border-bottom: 3px solid transparent;
    border-radius: 0;
}
.tab-link-list .nav-item .nav-link.active {
    font-weight: 700;
    color: var(--bs-dark);
    border-color: var(--bs-primary);
}
.tab-link-list .nav-item:first-child .nav-link {
    padding-left: 0;
}

/*== tab link ==*/
.profile-info {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.profile-info__left {
    padding: 20px;
    background: var(--bg-1);
    border-radius: 10px;
    width: 100%;
}
.profile-info__left .img-preview-item,
.profile-info__left .img-uploader-box {
    --size: 145px;
}
@media screen and (min-width: 768px) {
    .profile-info__left {
        max-width: 300px;
    }
}
.profile-info__right {
    width: 100%;
}
@media screen and (min-width: 768px) {
    .profile-info__right {
        width: 0;
        flex-grow: 1;
    }
}

hr {
    border-top-color: var(--bs-border-color);
}

/* ==== Profile Page CSS Ends ==== */
.bg-primary {
    background-color: var(--bs-primary) !important;
}

.text-primary {
    color: var(--bs-primary) !important;
}

.border-primary {
    border-color: var(--bs-primary) !important;
}

.border-primary:focus {
    border-color: var(--bs-primary) !important;
}

.bg-primary:focus {
    background-color: var(--bs-primary) !important;
}

.bg-primary-light {
    background-color: var(--bs-primary-light) !important;
}

.text-primary-light {
    color: var(--bs-primary-light) !important;
}

.border-primary-light {
    border-color: var(--bs-primary-light) !important;
}

.border-primary-light:focus {
    border-color: var(--bs-primary-light) !important;
}

.bg-primary-light:focus {
    background-color: var(--bs-primary-light) !important;
}

.bg-primary-medium {
    background-color: var(--bs-primary-medium) !important;
}

.text-primary-medium {
    color: var(--bs-primary-medium) !important;
}

.border-primary-medium {
    border-color: var(--bs-primary-medium) !important;
}

.border-primary-medium:focus {
    border-color: var(--bs-primary-medium) !important;
}

.bg-primary-medium:focus {
    background-color: var(--bs-primary-medium) !important;
}

.bg-primary-dark {
    background-color: var(--bs-primary-dark) !important;
}

.text-primary-dark {
    color: var(--bs-primary-dark) !important;
}

.border-primary-dark {
    border-color: var(--bs-primary-dark) !important;
}

.border-primary-dark:focus {
    border-color: var(--bs-primary-dark) !important;
}

.bg-primary-dark:focus {
    background-color: var(--bs-primary-dark) !important;
}

.bg-success {
    background-color: var(--bs-success) !important;
}

.text-success {
    color: var(--bs-success) !important;
}

.border-success {
    border-color: var(--bs-success) !important;
}

.border-success:focus {
    border-color: var(--bs-success) !important;
}

.bg-success:focus {
    background-color: var(--bs-success) !important;
}

.bg-success-light {
    background-color: var(--bs-success-light) !important;
}

.text-success-light {
    color: var(--bs-success-light) !important;
}

.border-success-light {
    border-color: var(--bs-success-light) !important;
}

.border-success-light:focus {
    border-color: var(--bs-success-light) !important;
}

.bg-success-light:focus {
    background-color: var(--bs-success-light) !important;
}

.bg-success-medium {
    background-color: var(--bs-success-medium) !important;
}

.text-success-medium {
    color: var(--bs-success-medium) !important;
}

.border-success-medium {
    border-color: var(--bs-success-medium) !important;
}

.border-success-medium:focus {
    border-color: var(--bs-success-medium) !important;
}

.bg-success-medium:focus {
    background-color: var(--bs-success-medium) !important;
}

.bg-success-dark {
    background-color: var(--bs-success-dark) !important;
}

.text-success-dark {
    color: var(--bs-success-dark) !important;
}

.border-success-dark {
    border-color: var(--bs-success-dark) !important;
}

.border-success-dark:focus {
    border-color: var(--bs-success-dark) !important;
}

.bg-success-dark:focus {
    background-color: var(--bs-success-dark) !important;
}

.bg-info {
    background-color: var(--bs-info) !important;
}

.text-info {
    color: var(--bs-info) !important;
}

.border-info {
    border-color: var(--bs-info) !important;
}

.border-info:focus {
    border-color: var(--bs-info) !important;
}

.bg-info:focus {
    background-color: var(--bs-info) !important;
}

.bg-info-light {
    background-color: var(--bs-info-light) !important;
}

.text-info-light {
    color: var(--bs-info-light) !important;
}

.border-info-light {
    border-color: var(--bs-info-light) !important;
}

.border-info-light:focus {
    border-color: var(--bs-info-light) !important;
}

.bg-info-light:focus {
    background-color: var(--bs-info-light) !important;
}

.bg-info-medium {
    background-color: var(--bs-info-medium) !important;
}

.text-info-medium {
    color: var(--bs-info-medium) !important;
}

.border-info-medium {
    border-color: var(--bs-info-medium) !important;
}

.border-info-medium:focus {
    border-color: var(--bs-info-medium) !important;
}

.bg-info-medium:focus {
    background-color: var(--bs-info-medium) !important;
}

.bg-info-dark {
    background-color: var(--bs-info-dark) !important;
}

.text-info-dark {
    color: var(--bs-info-dark) !important;
}

.border-info-dark {
    border-color: var(--bs-info-dark) !important;
}

.border-info-dark:focus {
    border-color: var(--bs-info-dark) !important;
}

.bg-info-dark:focus {
    background-color: var(--bs-info-dark) !important;
}

.bg-warning {
    background-color: var(--bs-warning) !important;
}

.text-warning {
    color: var(--bs-warning) !important;
}

.border-warning {
    border-color: var(--bs-warning) !important;
}

.border-warning:focus {
    border-color: var(--bs-warning) !important;
}

.bg-warning:focus {
    background-color: var(--bs-warning) !important;
}

.bg-warning-light {
    background-color: var(--bs-warning-light) !important;
}

.text-warning-light {
    color: var(--bs-warning-light) !important;
}

.border-warning-light {
    border-color: var(--bs-warning-light) !important;
}

.border-warning-light:focus {
    border-color: var(--bs-warning-light) !important;
}

.bg-warning-light:focus {
    background-color: var(--bs-warning-light) !important;
}

.bg-warning-medium {
    background-color: var(--bs-warning-medium) !important;
}

.text-warning-medium {
    color: var(--bs-warning-medium) !important;
}

.border-warning-medium {
    border-color: var(--bs-warning-medium) !important;
}

.border-warning-medium:focus {
    border-color: var(--bs-warning-medium) !important;
}

.bg-warning-medium:focus {
    background-color: var(--bs-warning-medium) !important;
}

.bg-warning-dark {
    background-color: var(--bs-warning-dark) !important;
}

.text-warning-dark {
    color: var(--bs-warning-dark) !important;
}

.border-warning-dark {
    border-color: var(--bs-warning-dark) !important;
}

.border-warning-dark:focus {
    border-color: var(--bs-warning-dark) !important;
}

.bg-warning-dark:focus {
    background-color: var(--bs-warning-dark) !important;
}

.bg-danger {
    background-color: var(--bs-danger) !important;
}

.text-danger {
    color: var(--bs-danger) !important;
}

.border-danger {
    border-color: var(--bs-danger) !important;
}

.border-danger:focus {
    border-color: var(--bs-danger) !important;
}

.bg-danger:focus {
    background-color: var(--bs-danger) !important;
}

.bg-danger-light {
    background-color: var(--bs-danger-light) !important;
}

.text-danger-light {
    color: var(--bs-danger-light) !important;
}

.border-danger-light {
    border-color: var(--bs-danger-light) !important;
}

.border-danger-light:focus {
    border-color: var(--bs-danger-light) !important;
}

.bg-danger-light:focus {
    background-color: var(--bs-danger-light) !important;
}

.bg-danger-medium {
    background-color: var(--bs-danger-medium) !important;
}

.text-danger-medium {
    color: var(--bs-danger-medium) !important;
}

.border-danger-medium {
    border-color: var(--bs-danger-medium) !important;
}

.border-danger-medium:focus {
    border-color: var(--bs-danger-medium) !important;
}

.bg-danger-medium:focus {
    background-color: var(--bs-danger-medium) !important;
}

.bg-danger-dark {
    background-color: var(--bs-danger-dark) !important;
}

.text-danger-dark {
    color: var(--bs-danger-dark) !important;
}

.border-danger-dark {
    border-color: var(--bs-danger-dark) !important;
}

.border-danger-dark:focus {
    border-color: var(--bs-danger-dark) !important;
}

.bg-danger-dark:focus {
    background-color: var(--bs-danger-dark) !important;
}

.line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Select2 Multiple Count Styling */
.select2-selection__choice__count {
    background-color: var(--bs-light) !important;
    color: var(--text-dark) !important;
    border: 1px solid var(--bs-border-color) !important;
    font-weight: 600 !important;
    padding: 2px 6px !important;
    margin-right: 5px !important;
    cursor: default;
}
.select2-selection__choice__count .select2-selection__choice__remove {
    display: none !important;
}

.select2-container--default
    .select2-selection--multiple
    .select2-selection__choice {
    display: inline-flex;
    align-items: center;
}

.priority-select {
    width: 100px;
    height: 28px;
    padding-block: 0 !important;
    font-size: 11px;
    color: #333333 !important;
}
.priority-select option {
    background-color: #ffffff;
    color: #333333;
}

.customer-search-panel {
    background: var(--bs-white);
    border: 1px solid var(--bs-border-color);
    border-radius: 10px;
    padding: 12px;
    min-height: 80px;
}

.customer-results-list button.customer-result-item {
    border: 1px solid var(--bs-border-color);
    background: var(--bs-white);
    border-radius: 10px;
    padding: 12px 14px;
    text-align: left;
    transition:
        box-shadow 0.2s ease,
        border-color 0.2s ease;
}

.customer-results-list button.customer-result-item:hover {
    border-color: var(--bs-border-color);
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06);
}

.customer-selected {
    background: var(--bs-white);
    border-radius: 8px;
    padding: 12px;
}

.customer-avatar {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--bs-gray-100);
    color: var(--bs-gray-500);
    display: flex;
    align-items: center;
    justify-content: center;
}

.customer-search-input .customer-clear {
    position: absolute;
    right: 6px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: var(--bs-gray-100);
    color: var(--bs-gray-500);
}

.customer-search-input input {
    padding-right: 34px;
}

.note-editor.note-frame {
    border: 1px solid var(--bs-border-color);
    border-radius: 10px;
    overflow: hidden;
}

.note-editor.note-frame .note-toolbar {
    background: var(--bs-gray-100);
    border-bottom: 1px solid var(--bs-border-color);
    padding: 6px 8px;
    padding-right: 160px;
}

.note-editor.note-frame .note-btn-group .note-btn {
    border: 0;
    background: transparent;
    color: var(--bs-dark);
    padding: 4px 6px;
    border-radius: 6px;
}

.note-editor.note-frame .note-btn-group .note-btn:hover,
.note-editor.note-frame .note-btn-group .note-btn:focus,
.note-editor.note-frame .note-btn-group .note-btn:active,
.note-editor.note-frame .note-btn-group .note-btn.active {
    background: var(--bs-gray-100);
    color: var(--bs-dark);
}

.note-editor.note-frame .note-editor .note-editable,
.note-editor.note-frame .note-editable {
    padding: 16px;
}

.note-editor.note-frame .note-statusbar {
    display: none;
}

.all-revert {
    all: revert;
}

@media screen and (min-width: 1200px) {
    .gap-xl-14px {
        gap: 14px !important;
    }
}

.alert-icon {
    background: var(--bs-danger);
    border: 2px solid var(--bs-white);
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.05);
    position: absolute;
    top: -3px;
    inset-inline-end: -3px;
    width: 16px;
    height: 16px;
}

#chatSummaryOffcanvas .offcanvas-body {
    padding: 20px;
}

.meeting-card {
    transition: all 0.2s;
    border: 1px solid var(--border-medium);
    border-radius: 10px;
}
.meeting-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.avatar-group {
    display: flex !important;
    align-items: center;
    flex-wrap: nowrap;
}
.avatar-group .avatar {
    margin-left: -10px;
    border: 2px solid #fff;
    transition: all 0.2s;
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    background-clip: padding-box;
}
.avatar-group .avatar:first-child {
    margin-left: 0;
}
.avatar-group .avatar:hover {
    transform: translateY(-2px);
    z-index: 2;
    position: relative;
}
.avatar-group .avatar-sm {
    width: 32px !important;
    height: 32px !important;
    font-size: 12px;
}
.avatar-group .avatar-xs {
    width: 24px !important;
    height: 24px !important;
    font-size: 10px;
}

.size-7 {
    width: 28px !important;
    height: 28px !important;
}

.date-box {
    width: 46px;
    min-width: 46px;
    line-height: 1;
}

.follow-up-card.upcoming {
    background-color: var(--bs-info-light);
}
.follow-up-card .btn-icon {
    width: 24px;
    height: 24px;
}

.dropdown-divider {
    --bs-dropdown-divider-bg: var(--border-medium);
}

.action-menu {
    font-size: 12px;
    padding: 15px;
    min-width: 185px;
    box-shadow:
        0px 5px 10px rgba(0, 0, 0, 0.15),
        0px 10px 35px -4px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    max-height: 50vh;
    overflow-y: auto;
}
.action-menu .dropdown-item {
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 8px;
    transition: all 0.2s;
}
.action-menu .dropdown-item:hover {
    background-color: var(--bs-gray-100);
}

.border-left {
    border-left: 1px solid var(--bs-border-color);
}

.border-right {
    border-left: 1px solid var(--bs-border-color);
}

/* ==== Schedule Details Offcanvas CSS Start ==== */
.edit-history-timeline {
    position: relative;
    padding-left: 10px;
    margin-top: 10px;
}
.edit-history-timeline::before {
    content: "";
    position: absolute;
    top: 6px;
    bottom: 0;
    inset-inline-start: 13px;
    width: 1px;
    background-color: var(--bs-border-color);
    z-index: 0;
}
.edit-history-timeline .timeline-item {
    position: relative;
    padding-bottom: 24px;
    padding-left: 20px;
}
.edit-history-timeline .timeline-item:last-child {
    padding-bottom: 0;
}
.edit-history-timeline .timeline-dot {
    position: absolute;
    inset-inline-start: 0;
    top: 6px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--bs-gray-400);
    z-index: 1;
}
.edit-history-timeline .timeline-dot.bg-success {
    background-color: #25d366 !important;
}
.edit-history-timeline .timeline-dot.bg-gray-200 {
    background-color: #e4e6eb !important;
}
.edit-history-timeline .timeline-content {
    position: relative;
}

.note-box {
    background-color: var(--bs-white);
    border: 1px solid var(--border-medium);
    border-radius: 10px;
}
.note-box ol {
    padding-left: 1.2rem;
    margin-bottom: 0;
}
.note-box ol li {
    margin-bottom: 4px;
}
.note-box ol li:last-child {
    margin-bottom: 0;
}

/* ==== Schedule Details Offcanvas CSS Ends ==== */
.avatar-name {
    --size: 30px;
    width: var(--size);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    background: var(--bs-white);
    border-radius: 50%;
    aspect-ratio: 1;
    flex-shrink: 0;
}

.pinned-card {
    transition: all 0.2s ease-in-out;
    border: 1px solid transparent;
    background-color: var(--bs-body-bg);
    padding: 15px;
    border-radius: 10px;
}
.pinned-card .button-container {
    padding: 6px;
    border-radius: 5px;
    background: var(--bs-white);
    display: flex;
    gap: 5px;
    align-items: center;
}
.pinned-card .button-container .btn-icon {
    height: 24px;
    width: 24px;
}
.pinned-card .button-container .btn-icon i {
    font-size: 12px;
}
.pinned-card .button-container .btn-icon:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
}
.pinned-card:hover {
    border-color: var(--bs-primary);
    background-color: rgba(var(--bs-primary-rgb), 0.05) !important;
}
.pinned-card:hover .p-3.bg-white {
    background-color: var(--bs-white) !important;
}

.ticket-details {
    border: 1px solid var(--border-medium);
    border-radius: 10px;
    margin-top: 13px;
    display: flex;
    flex-wrap: wrap-reverse;
}
@media screen and (min-width: 768px) {
    .ticket-details {
        flex-wrap: nowrap;
    }
}
.ticket-details__left {
    padding: 16px;
    border-inline-end: 1px solid var(--border-medium);
    width: 100%;
}
@media screen and (min-width: 768px) {
    .ticket-details__left {
        width: 33%;
        max-width: 435px;
    }
}
.ticket-details .ticket-chat {
    width: 100%;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.ticket-details .ticket-chat .ticket-chat__messages {
    height: 300px;
    flex-grow: 1;
    overflow-y: auto;
}
@media screen and (min-width: 768px) {
    .ticket-details .ticket-chat {
        width: 67%;
        height: calc(100vh - 54px);
        position: sticky;
        top: 54px;
    }
    .ticket-details .ticket-chat .ticket-chat__messages {
        height: 0;
        min-height: 200px;
        flex-grow: 1;
        overflow-y: auto;
    }
}
.ticket-details .ticket-chat .note-editable {
    height: 150px !important;
}

.tab-list-filled {
    gap: 6px;
}
.tab-list-filled .nav-link,
.tab-list-filled.bg-3 .nav-link {
    background: transparent;
    border-radius: 8px;
    cursor: pointer;
}
.tab-list-filled .nav-link.active {
    background: var(--bs-white);
    color: var(--bs-primary);
    font-weight: 600;
    box-shadow:
        0 3px 8px rgba(0, 0, 0, 0.06),
        0 0 3px rgba(0, 0, 0, 0.06);
}

.bg-3:has(.tab-list-filled) .nav-link:not(.active),
.bg-3:has(.tabs-slider) .nav-link:not(.active) {
    background: transparent;
}

.tab-list-sm .nav-link {
    font-size: 10.725px;
    padding: 7px 12px;
}

.w-300px {
    width: 300px;
}

.js-swiper-slide-auto,
.tabs-slider {
    width: 100%;
    overflow: hidden;
    position: relative;
}
.js-swiper-slide-auto .swiper-wrapper,
.tabs-slider .swiper-wrapper {
    gap: 0;
    flex-wrap: nowrap;
}
.js-swiper-slide-auto .swiper-slide,
.tabs-slider .swiper-slide {
    width: auto !important;
    white-space: nowrap;
    cursor: pointer;
}
.js-swiper-slide-auto .swiper-slide:last-child,
.tabs-slider .swiper-slide:last-child {
    margin-inline-end: 0 !important;
}
.js-swiper-slide-auto .swiper-button-prev,
.js-swiper-slide-auto .swiper-button-next,
.tabs-slider .swiper-button-prev,
.tabs-slider .swiper-button-next {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    margin: 0 !important;
    border-radius: 50%;
    background: var(--bs-white);
    box-shadow: 0px 0px 13.3333px rgba(0, 0, 0, 0.08);
}
.js-swiper-slide-auto .swiper-button-prev::after,
.js-swiper-slide-auto .swiper-button-next::after,
.tabs-slider .swiper-button-prev::after,
.tabs-slider .swiper-button-next::after {
    display: none;
}
.js-swiper-slide-auto .swiper-button-prev::before,
.js-swiper-slide-auto .swiper-button-next::before,
.tabs-slider .swiper-button-prev::before,
.tabs-slider .swiper-button-next::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-left: 2px solid var(--text-dark);
    border-top: 2px solid var(--text-dark);
    transform: rotate(-45deg);
}
.js-swiper-slide-auto .swiper-button-prev.swiper-button-disabled,
.js-swiper-slide-auto .swiper-button-next.swiper-button-disabled,
.tabs-slider .swiper-button-prev.swiper-button-disabled,
.tabs-slider .swiper-button-next.swiper-button-disabled {
    display: none;
}
.js-swiper-slide-auto .swiper-button-next::before,
.tabs-slider .swiper-button-next::before {
    transform: rotate(135deg);
}

.info-table {
    font-size: 12px;
    line-height: 16px;
    color: var(--semi-dark);
}
.info-table td {
    padding: 6px 0;
}

/* Ticket sidebar sections */
.ticket-sidebar-section {
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border-medium);
}
.ticket-sidebar-section:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}
.ticket-sidebar-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--semi-dark);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.ticket-sidebar-title i {
    font-size: 11px;
    opacity: 0.6;
}
.ticket-info-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.ticket-info-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.ticket-info-label {
    font-size: 12px;
    color: var(--semi-dark);
    white-space: nowrap;
    display: flex;
    align-items: center;
}
.ticket-info-value {
    font-size: 12px;
    font-weight: 500;
    color: var(--text-dark);
    text-align: end;
}
.ticket-contact-link {
    font-size: 12px;
    font-weight: 500;
    color: var(--bs-primary);
    text-decoration: none;
    text-align: end;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 160px;
}
.ticket-contact-link:hover {
    text-decoration: underline;
}

/* Client list contact links */
.client-contact-link:hover {
    color: var(--bs-primary) !important;
}

.media-file-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 10px 10px;
    border: 1px solid var(--border-medium);
    border-radius: 10px;
    font-size: 12px;
    font-weight: 500;
    color: var(--bs-dark);
}
.media-file-item .file-name {
    width: 0;
    flex-grow: 1;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.media-file-item i {
    font-size: 20px;
}
.media-file-item .pdf i {
    color: #e4002b;
}
.media-file-item .xls i {
    color: #217346;
}

.media-link-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--border-medium);
    border-radius: 10px;
    font-size: 12px;
    font-weight: 500;
    color: var(--bs-dark);
}
.media-link-item .link-name {
    width: 0;
    flex-grow: 1;
    font-size: 12px;
    line-height: 1.2;
}
.media-link-item .link-icon {
    width: 24px;
    height: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--bg-2);
    border-radius: 5px;
}
.media-link-item .link-icon i {
    color: var(--bs-dark);
}

.saved-reply-card {
    transition: all 0.2s ease-in-out;
    border: 1px solid transparent;
    background-color: var(--bs-body-bg);
    padding: 15px;
    border-radius: 10px;
}
.saved-reply-card .show-on-hover {
    transition: all ease 0.3s;
    opacity: 0;
}
.saved-reply-card:hover {
    background-color: var(--bs-white) !important;
    box-shadow: 0px 5px 25px rgba(0, 0, 0, 0.07);
    border-radius: 10px;
}
.saved-reply-card:hover .show-on-hover {
    opacity: 1;
}

.color-dot {
    width: 20px;
    height: 20px;
}

/* Trigger: hover/focus/open states */
.color-select-trigger {
    cursor: pointer;
    transition:
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
}

.color-select-trigger:hover {
    border-color: var(--bs-primary);
}

.color-select-trigger:focus,
.color-select-wrapper.open .color-select-trigger {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
    outline: none;
}

/* Chevron rotation when open */
.color-select-chevron {
    transition: transform 0.2s ease;
}

.color-select-wrapper.open .color-select-chevron {
    transform: rotate(180deg);
}

/* Dropdown panel — fixed to escape overflow containers */
.color-select-dropdown {
    position: fixed;
    width: 320px;
    z-index: 1080;
    display: none;
    animation: colorDropdownFadeIn 0.15s ease;
}

@keyframes colorDropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.color-select-wrapper.open .color-select-dropdown {
    display: block;
}

/* Color option circles */
.color-select-option {
    width: 20px;
    height: 20px;
    transition: transform 0.15s ease;
}

.color-select-option:hover {
    transform: scale(1.15);
}

/* Full-width trigger inside offcanvas forms */
.offcanvas .color-select-trigger {
    width: 100%;
    justify-content: space-between;
}

.media-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

@media (max-width: 575.98px) {
    .media-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.media-tile {
    position: relative;
    border: 0;
    padding: 0;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1/1;
    background: var(--bg-2);
    cursor: pointer;
}

.media-tile img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    display: block;
}

.media-tile::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.18);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.media-tile:hover::after,
.media-tile:focus-visible::after {
    opacity: 1;
}

.media-badge {
    position: absolute;
    top: 8px;
    left: 8px;
    background: rgba(15, 23, 42, 0.75);
    color: #ffffff;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: 0.02em;
}

.media-preview-body {
    min-height: 320px;
    display: grid;
    place-items: center;
}

.media-preview-image,
.media-preview-video {
    width: 100%;
    max-height: 70vh;
    -o-object-fit: contain;
    object-fit: contain;
    border-radius: 12px;
}

.media-preview-file {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.media-preview-file-name {
    font-weight: 600;
    color: #0f172a;
}

.ticket-chat {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ticket-chat__messages {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 6px 8px;
}

.chat-message {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.chat-message--incoming {
    justify-content: flex-start;
    align-items: flex-start;
}
.chat-message--incoming:has(+ .chat-message--incoming) .chat-avatar {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.chat-message--incoming:has(+ .chat-message--incoming) .chat-bubble {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}
.chat-message--incoming + .chat-message--incoming .chat-bubble {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.chat-message--outgoing {
    justify-content: flex-end;
}

.chat-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--bs-body-bg);
    color: #0f172a;
    display: grid;
    place-items: center;
    font-weight: 600;
    flex-shrink: 0;
}

.chat-avatar-image {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
}

.chat-bubble {
    background: var(--bs-body-bg);
    border-radius: 16px;
    padding: 10px 14px;
    position: relative;
    max-width: 78%;
    color: var(--text-dark);
    font-size: 13px;
    min-width: 120px;
    display: flex;
    flex-direction: column;
}

.chat-message--outgoing .chat-bubble {
    background: rgba(var(--bs-primary-rgb), 0.07);
    border-top-right-radius: 0;
}

.chat-bubble__title {
    font-weight: 600;
    margin-bottom: 8px;
}

.chat-bubble__label {
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 10px;
}

.chat-bubble__content {
    line-height: 1.6;
}

.chat-bubble__time {
    align-self: flex-end;
    margin-top: 4px;
    font-size: 12px;
    color: var(--text-semi-dark-80);
}

.chat-message--note {
    justify-content: center;
}
.chat-message--note .chat-note {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    background: rgba(var(--bs-primary-rgb), 0.07);
    border-radius: 12px;
    font-weight: 500;
    color: var(--text-dark);
    font-size: 13px;
}

.chat-note__icon {
    width: 28px;
    height: 28px;
    border-radius: 8px;
    background: var(--bs-white);
    color: var(--bs-primary);
    display: grid;
    place-items: center;
}

.chat-note__time {
    font-size: 12px;
    color: var(--text-semi-dark-80);
    margin-left: 4px;
}

.chat-note__caret {
    color: var(--text-semi-dark);
}

.ticket-chat__composer {
    background: var(--bs-white);
    border-top: 1px solid var(--border-medium);
    padding: 10px;
    position: sticky;
    bottom: 0;
    z-index: 1000;
}

.ticket-chat__composer .note-editor.note-frame {
    border: 0;
    border: 1px solid var(--border-medium);
    border-radius: 10px;
}

.ticket-uploads {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 16px;
    padding: 8px 0 12px;
}

.ticket-upload-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bg-2);
    border-radius: 10px;
    padding: 12px 14px;
    position: relative;
    max-width: 240px;
}

.ticket-upload-thumb {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    background: var(--bs-border-color);
    display: grid;
    place-items: center;
    color: var(--text-dark);
    font-size: 12px;
    font-weight: 600;
    overflow: hidden;
}

.ticket-upload-thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.ticket-upload-info {
    flex: 1;
    min-width: 0;
}

.ticket-upload-name {
    font-weight: 600;
    color: var(--text-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ticket-upload-size {
    font-size: 12px;
    color: var(--text-muted);
}

.ticket-upload-remove {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 0;
    background: #dc4b4b;
    color: #fff;
    display: grid;
    place-items: center;
}

.composer-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 10px;
}

.composer-actions__right {
    display: flex;
    align-items: center;
    gap: 10px;
}

.vacation-custom {
    margin-top: 14px;
}

.vacation-range-display {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #eff4ff;
    border-radius: 5px;
    height: 32px;
    color: var(--text-dark);
    padding: 0 10px;
}

.vacation-range-icon {
    color: var(--text-semi-dark-80);
    font-size: 18px;
    display: inline-flex;
}
.vacation-range-icon i {
    display: inline-flex;
}

.vacation-range-text {
    flex: 1;
    font-weight: 500;
    color: var(--text-dark);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.vacation-range-edit {
    font-size: 16px;
    color: var(--bs-info-dark);
    background: transparent;
    border: none;
    outline: none;
}
.vacation-range-edit i {
    display: inline-flex;
}

.vacation-range-inputs.dropdown-menu {
    margin-top: 12px;
    background: var(--bs-white);
    border: 1px solid var(--border-medium);
    border-radius: 10px;
    padding: 12px;
}

.color-picker-field {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border: 1px solid var(--border-medium);
    border-radius: 12px;
    background: var(--bs-white);
}

.color-picker-swatch {
    width: 54px;
    height: 24px;
    border-radius: 4px;
    background: var(--swatch, #313942);
}

.color-picker-value {
    flex: 1;
    color: var(--text-dark);
    font-size: 12px;
    letter-spacing: 0.5px;
}

.color-picker-btn {
    width: 20px;
    height: 20px;
    border-radius: 4px;
    border: 0;
    background: #1e7ea0;
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 10px;
    padding: 0;
}

.color-picker-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

.status-pie-chart {
    width: 100%;
    height: 350px;
    margin: 0 auto;
    display: block;
}

.status-pie-wrap {
    overflow: visible;
    display: flex;
    justify-content: center;
    align-items: center;
}

.feedback-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.feedback-item {
    display: flex;
    gap: 16px;
    padding: 8px 0 18px;
    border-bottom: 1px solid var(--border-medium);
}

.feedback-item:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.feedback-item__avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e5e7eb;
    color: #111827;
    display: grid;
    place-items: center;
    font-weight: 600;
}

.feedback-item__body {
    flex: 1;
    min-width: 0;
}

.feedback-item__top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.feedback-item__title {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    font-size: 13px;
    color: var(--text-dark);
}

.feedback-badge {
    background: #dcfce7;
    color: #16a34a;
    border: 1px solid #bbf7d0;
    border-radius: 6px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
}

.feedback-item__rating {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.feedback-stars {
    font-size: 13px;
    display: flex;
    gap: 4px;
}

.feedback-date {
    font-size: 11px;
    color: var(--text-muted);
}

.feedback-item__subtitle {
    margin-top: 4px;
    font-size: 13px;
    color: var(--text-semi-dark);
}

.feedback-item__comment {
    margin-top: 10px;
    background: var(--bg-3);
    border: 1px solid var(--bs-border-color);
    padding: 10px 12px;
    border-radius: 8px;
    font-size: 12px;
    color: var(--text-semi-dark);
}

.feedback-item__meta {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    font-size: 11px;
    color: var(--text-muted);
}

.feedback-dot {
    width: 4px;
    height: 4px;
    background: var(--text-muted);
    border-radius: 50%;
    display: inline-block;
}

.import-leads-modal {
    border-radius: 14px;
    padding-bottom: 10px;
    --bs-modal-bg: var(--bs-white);
}

.import-attendance-modal {
    border-radius: 16px;
    padding-bottom: 0;
    --bs-modal-bg: var(--bs-white);
}

.import-attendance-modal .modal-body {
    padding: 32px 32px 28px;
}

.import-attendance-modal .import-modal-header {
    margin-bottom: 24px;
}

.import-attendance-modal .import-upload-card {
    margin: 0 auto 20px;
    max-width: 100%;
}

.import-attendance-modal .import-upload-area {
    padding: 28px 20px;
    max-width: 100%;
    border-radius: 14px;
    gap: 10px;
    margin-bottom: 12px;
}

.import-attendance-modal .import-upload-icon {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    font-size: 24px;
}

.import-attendance-modal .import-upload-text {
    font-size: 13px;
}

.import-attendance-modal .import-upload-hint {
    font-size: 12px;
    margin-top: 10px;
    margin-bottom: 14px;
}

.import-attendance-modal .import-template-box {
    border-radius: 12px;
    padding: 14px 16px;
}

.import-attendance-modal .import-template-box .import-template-link {
    font-size: 13px;
    font-weight: 600;
}

.import-attendance-modal .import-file-list {
    margin-top: 16px;
}

.import-attendance-modal .import-file-card {
    padding: 12px 16px;
    border-radius: 12px;
    gap: 14px;
}

.import-attendance-modal .import-file-thumb {
    width: 48px;
    height: 48px;
    font-size: 13px;
}

.import-attendance-modal .import-file-name {
    font-size: 13px;
}

.import-attendance-modal .import-error {
    border-radius: 10px;
    background: #fff5f5;
    border: 1px solid #fecaca;
    padding: 10px 14px;
    margin-top: 14px;
    align-items: flex-start;
    justify-content: flex-start;
    font-size: 12px;
}

.import-attendance-modal .import-modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 20px;
    border-top: 1px solid var(--border-light);
    margin-top: 20px;
}

.import-attendance-modal .import-modal-footer .btn {
    min-width: 110px;
    padding: 9px 20px;
    font-size: 14px;
}

.import-upload-card {
    margin: 10px auto 12px;
    max-width: 360px;
    background: var(--bs-white);
}

.import-upload-area {
    border: 1px dashed var(--border-medium);
    border-radius: 12px;
    padding: 20px 14px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    color: var(--text-dark);
    background: transparent;
    margin: 0 auto;
    max-width: 250px;
}

.import-upload-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: #e8f5e9;
    color: #16a34a;
    display: grid;
    place-items: center;
    font-size: 20px;
}

.import-upload-text {
    font-weight: 600;
    font-size: 12px;
}

.import-upload-hint {
    font-size: 11px;
    color: var(--text-muted);
    margin-top: 8px;
    margin-bottom: 25px;
}

.import-template-link {
    display: inline-block;
    color: var(--bs-primary);
    font-size: 12px;
    text-decoration: underline;
}

.import-file-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}

.import-file-card {
    display: flex;
    align-items: center;
    gap: 12px;
    border-radius: 10px;
    padding: 10px 12px;
    background: var(--bg-3);
    text-align: left;
}

.import-file-thumb {
    width: 44px;
    height: 44px;
    border-radius: 8px;
    background: #e5e7eb;
    color: #16a34a;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 12px;
}

.import-file-info {
    flex: 1;
    min-width: 0;
}

.import-file-name {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-dark);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.import-file-size {
    font-size: 11px;
    color: var(--text-muted);
}

.import-file-progress {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
}

.import-progress-bar {
    height: 4px;
    border-radius: 999px;
    background: #22c55e;
    flex: 1;
}

.import-progress-text {
    font-size: 11px;
    color: #16a34a;
    font-weight: 600;
}

.import-file-remove {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 0;
    border: 1px solid rgba(239, 68, 68, 0.051);
    color: #ef4444;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 10px;
    padding: 0;
}
.import-file-remove i {
    display: inline-flex;
}

.import-error {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #ef4444;
    font-size: 11px;
    margin-top: 6px;
    justify-content: center;
}

.import-error-icon {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid #ef4444;
    display: grid;
    place-items: center;
    font-size: 10px;
}

.working-hour-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.working-hour-item {
    background: var(--bs-white);
    border: 1px solid var(--border-light);
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 13px;
    color: var(--text-semi-dark);
}

.working-hour-item.is-off {
    background: var(--bg-3);
}

.working-hour-day {
    min-width: 70px;
    font-weight: 500;
    color: var(--text-dark);
}

.working-hour-sep {
    color: var(--text-muted);
}

.working-hour-time {
    color: var(--text-dark);
    line-height: 1.4;
}

.working-hour-pill {
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    background: #e5e7eb;
    color: #111827;
    font-size: 12px;
    font-weight: 600;
}

.working-hour-setup__header h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-dark);
    line-height: 1.3;
}
.working-hour-setup__header .form-check-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--text-dark);
}
.working-hour-setup__header .form-check-input {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border-color: rgba(83, 71, 178, 0.2);
    box-shadow: none;
}
.working-hour-setup__header .form-check-input:checked {
    background-color: #5347b2;
    border-color: #5347b2;
}
.working-hour-setup__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.working-hour-row {
    background: var(--bs-white);
    border-radius: 12px;
    padding: 16px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.working-hour-row__day {
    min-width: 100px;
    font-weight: 600;
    color: var(--text-dark);
    line-height: 1.3;
}
.working-hour-row__head {
    display: flex;
    align-items: center;
}
.working-hour-row__off-badge {
    display: none;
    align-items: center;
    padding: 6px 10px;
    border-radius: 12px;
    background: var(--bs-danger-light);
    color: var(--bs-danger);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}
.working-hour-row__slots {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    flex: 1;
}
.working-hour-row__actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.working-hour-row__error {
    width: 100%;
    font-size: 12px;
    color: #dc3545;
    min-height: 16px;
}
.working-hour-row.is-off {
    align-items: center;
    min-height: 74px;
}
.working-hour-row.is-off .working-hour-row__head {
    justify-content: flex-start !important;
    gap: 20px;
    width: 100%;
}
.working-hour-row.is-off .working-hour-row__off-badge {
    display: inline-flex;
}
.working-hour-row.is-off .working-hour-row__slots {
    display: none !important;
}

.working-hour-slot {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.working-hour-slot__separator {
    font-size: 14px;
    color: #343a40;
    line-height: 1;
}

.working-hour-field {
    min-width: 125px;
    height: 42px;
    border-radius: 10px;
    background: var(--bs-body-bg);
    padding: 8px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    color: var(--text-dark);
    line-height: 1.3;
    margin: 0;
}

.working-hour-input {
    background: transparent;
    border: 0;
    width: 100%;
    min-width: 0;
    font-size: 14px;
    color: var(--text-dark);
    padding: 0;
}
.working-hour-input:focus {
    outline: none;
}

.working-hour-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    box-shadow: none;
}
.working-hour-btn.working-hour-btn--danger {
    background: transparent;
    color: var(--bs-danger);
    border: 1px solid var(--bs-danger);
    border-radius: 999px;
    width: 20px;
    height: 20px;
}
.working-hour-btn.working-hour-btn--danger i {
    font-size: 10px;
}
.working-hour-btn.working-hour-btn--primary {
    background: var(--bs-primary);
    color: var(--bs-white);
    border-radius: 6px;
    order: 1;
    width: 20px;
    height: 20px;
}
.working-hour-btn.working-hour-btn--primary i {
    font-size: 10px;
}

@media (max-width: 991.98px) {
    .working-hour-row {
        align-items: flex-start;
    }
    .working-hour-row__day {
        min-width: auto;
        width: 100%;
    }
    .working-hour-field {
        min-width: 125px;
        height: 40px;
    }
    .working-hour-field i {
        font-size: 16px;
    }
}
@media (max-width: 575.98px) {
    .working-hour-setup__header h4 {
        font-size: 14px;
    }
    .working-hour-row__slots {
        width: 100%;
    }
    .working-hour-row__actions {
        margin-left: auto;
    }
    .working-hour-field {
        min-width: 0;
        font-size: 10px;
        padding: 5px;
    }
}
.calendar-view {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.calendar-view__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.calendar-back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--bs-primary);
    font-size: 12px;
    margin-bottom: 4px;
}

.calendar-card {
    border: 1px solid var(--border-medium);
    border-radius: 12px;
    overflow: hidden;
    background: var(--bs-white);
}

.calendar-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border-medium);
    flex-wrap: wrap;
}

.calendar-view-switch {
    display: flex;
    gap: 6px;
    background: var(--bs-light);
    padding: 6px;
    border-radius: 10px;
}

.calendar-view-btn {
    border: 0;
    background: transparent;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    color: var(--text-semi-dark);
    display: grid;
    place-items: center;
}

.calendar-view-btn.active {
    background: var(--bs-body-bg);
    color: var(--text-dark);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}

.calendar-month {
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: var(--text-dark);
}

.calendar-month .btn-icon {
    border: 0;
    background: transparent;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--text-semi-dark);
}

.calendar-toolbar-actions {
    display: flex;
    gap: 10px;
}

.employee-calendar .fc-scrollgrid {
    border: none;
}
.employee-calendar .fc-col-header-cell {
    background: #fff;
    font-weight: 600;
    color: var(--text-dark);
}
.employee-calendar .fc-daygrid-day-number {
    color: var(--text-semi-dark);
}
.employee-calendar .fc-daygrid-day.fc-day-today {
    background: rgba(79, 63, 191, 0.08);
}
.employee-calendar .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    background: #4f3fbf;
    color: #fff;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.employee-calendar .fc-event {
    background: var(--bg-3);
    border: 1px solid var(--border-medium);
    border-radius: 6px;
    padding: 2px 6px;
    font-size: 11px;
    color: var(--text-dark);
    display: inline-flex;
    gap: 6px;
    align-items: center;
}
.employee-calendar .fc-event .fc-event-main {
    display: inline-flex;
    align-items: center;
    color: var(--text-dark);
    gap: 4px;
}
.employee-calendar .fc-event .fc-event-main i {
    display: inline-flex;
}
.employee-calendar .fc-daygrid-more-link {
    color: var(--bs-primary);
    font-size: 11px;
}
.employee-calendar .fc-timegrid-slot-label {
    font-size: 11px;
    color: var(--text-semi-dark);
}
.employee-calendar .fc-timegrid-axis-cushion {
    padding: 4px 6px;
}
.employee-calendar .fc-timegrid-slot {
    height: 44px;
}
.employee-calendar .fc-timegrid-event {
    border: 1px solid var(--border-medium);
    background: var(--bg-3);
    border-radius: 6px;
    padding: 2px 6px;
    font-size: 11px;
    color: var(--text-dark);
    box-shadow: none;
}
.employee-calendar .fc-timegrid-event .fc-event-time {
    display: none;
}
.employee-calendar .fc-timegrid-event .fc-event-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 500;
}
.employee-calendar .fc-timegrid-event .fc-event-title i {
    font-size: 12px;
}

.employee-calendar .fc-timegrid-event {
    margin: 5px;
}

.fc-theme-standard tr td:last-child,
.fc-theme-standard tr th:last-child,
.fc-theme-standard tr td:last-child,
.fc-theme-standard tr th:last-child {
    border-right: none;
}
.fc-theme-standard tr:last-child td,
.fc-theme-standard tr:last-child th,
.fc-theme-standard tr:last-child td,
.fc-theme-standard tr:last-child th {
    border-bottom: none;
}
.fc-theme-standard .fc-list,
.fc-theme-standard .fc-list {
    border: none;
    border: none;
}
.fc-theme-standard .fc-list-event-graphic,
.fc-theme-standard .fc-list-event-time,
.fc-theme-standard .fc-list-event-graphic,
.fc-theme-standard .fc-list-event-time {
    width: unset;
}
.fc-theme-standard .fc-list-event-graphic,
.fc-theme-standard .fc-list-event-time,
.fc-theme-standard .fc-list-event-title,
.fc-theme-standard .fc-list-event-graphic,
.fc-theme-standard .fc-list-event-time,
.fc-theme-standard .fc-list-event-title {
    border: none;
    background: transparent !important;
}
.fc-theme-standard .fc-list-event,
.fc-theme-standard .fc-list-event {
    margin: 10px;
    cursor: pointer;
}
.fc-theme-standard .fc-daygrid-event-harness,
.fc-theme-standard .fc-daygrid-event-harness {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.fc-theme-standard .fc-daygrid-event,
.fc-theme-standard .fc-daygrid-event {
    cursor: pointer;
}

.activity-list-modal .modal-body {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.activity-group__title {
    font-weight: 600;
    font-size: 13px;
    color: var(--text-dark);
    margin-bottom: 6px;
}

.activity-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bs-white);
    box-shadow:
        0px 0px 2px rgba(0, 0, 0, 0.08),
        0px 2px 5px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
    padding: 12px;
}
.activity-card:not(:last-child) {
    margin-bottom: 16px;
}

.activity-card__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: var(--bs-body-bg);
    display: grid;
    place-items: center;
}

.activity-card__info {
    flex: 1;
    min-width: 0;
}

.activity-card__action {
    border: none;
    background: var(--bg-3);
    color: var(--bs-primary);
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: grid;
    place-items: center;
}

.calendar-more-popover {
    position: fixed;
    min-width: 200px;
    background: var(--bs-white);
    border: 1px solid var(--border-medium);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.15);
    padding: 8px 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px);
    transition: all 0.2s ease;
    z-index: 1080;
}

.calendar-more-popover.show {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.calendar-more-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 12px 8px;
    border-bottom: 1px solid var(--border-medium);
}

.calendar-more-title {
    font-weight: 600;
    color: var(--text-dark);
    font-size: 13px;
}

.calendar-more-close {
    border: 0;
    background: transparent;
    color: var(--text-muted);
}

.calendar-more-list {
    display: flex;
    flex-direction: column;
}

.calendar-more-item {
    border: 0;
    background: transparent;
    text-align: left;
    padding: 8px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: var(--text-dark);
}

.calendar-more-item:hover {
    background: var(--bs-light);
}

.calendar-more-count {
    color: var(--text-muted);
    font-weight: 600;
}

.followup-card {
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 12px;
    padding: 14px;
}

.history-item {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.history-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #e5e7eb;
    margin-top: 6px;
    flex-shrink: 0;
}

.history-dot.active {
    background: #10b981;
}

.toolbar-custom-btn {
    position: absolute;
    top: 6px;
    right: 6px;
}

@media (max-width: 575.98px) {
    .chat-bubble {
        max-width: 100%;
    }
    .chat-file {
        min-width: 100%;
    }
    .composer-actions__right {
        justify-content: flex-end;
    }
}
.table th {
    color: var(--text-dark);
}
[data-bs-theme="dark"] .table thead th {
    color: var(--text-dark);
    --bs-table-color: var(--text-dark);
}

.table th.bg-transparent {
    background-color: transparent !important;
}

.text-rating,
.feedback-stars {
    color: #fdc700;
}

.dashboard-card {
    border: 1px solid var(--border-light);
    padding: 21px 25px;
    border-radius: 10px;
    height: 100%;
}
.dashboard-card .title {
    color: var(--text-semi-dark);
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 20px;
}
.dashboard-card .title .icon {
    font-size: 20px;
    line-height: 20px;
    display: inline-flex;
}
.dashboard-card .title .icon i {
    display: inline-flex;
}
.dashboard-card .title .icon.square-icon {
    width: 36px;
    height: 36px;
    border-radius: 7.5px;
    -webkit-border-radius: 7.5px;
    -moz-border-radius: 7.5px;
    -ms-border-radius: 7.5px;
    -o-border-radius: 7.5px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.dashboard-card .title .icon.square-icon i {
    color: var(--bs-white);
    font-size: 16px;
}
.dashboard-card .count {
    font-size: 30px;
    line-height: 1.2;
    color: var(--text-dark);
    margin-bottom: 11px;
}
.dashboard-card .subtitle {
    display: block;
    font-size: 12px;
    line-height: 16px;
    color: var(--text-semi-dark);
}

.progress {
    --bs-progress-height: 20px;
    --progress-color: var(--bs-primary);
    border-radius: 0;
    background-color: var(--bs-body-bg);
}

.progress-bar {
    background-color: var(--progress-color);
    width: var(--progress);
}

.rotate-x-180 {
    transform: rotateX(180deg);
}

.w-310px {
    width: 310px;
}

.shadow-btn {
    box-shadow:
        0px 0px 3px rgba(0, 0, 0, 0.06),
        0px 3px 8px rgba(0, 0, 0, 0.06);
}

.select2-container--open {
    z-index: 9999;
}

.select2-dropdown-item img {
    width: 20px !important;
}

.select2-container--default
    .select2-selection--single
    .select2-selection__arrow {
    height: 70%;
}

.lead-ativities-item {
    display: flex;
    gap: 12px;
    padding: 16px 12px;
    background: var(--bs-white);
    border-radius: 8px;
    box-shadow:
        0px 0px 2px rgba(0, 0, 0, 0.08),
        0px 2px 5px rgba(0, 0, 0, 0.05);
}
.lead-ativities-item__icon {
    width: 34px;
    height: 34px;
    background: var(--bg-3);
    color: var(--text-dark);
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 5px;
}

.attachment-card:not(:hover) .close-icon {
    opacity: 0;
}

.aspect-square {
    aspect-ratio: 1;
}

.card-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 10px;
}
.card-table tr {
    position: relative;
}
.card-table tr::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 8px;
    box-shadow:
        0px 0px 2px rgba(0, 0, 0, 0.08),
        0px 2px 5px rgba(0, 0, 0, 0.05);
    pointer-events: none;
}
.card-table tr td {
    background: var(--bs-white);
    padding: 15px 8px;
}
.card-table tr td:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}
.card-table tr td:last-child {
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}
@media screen and (min-width: 1200px) {
    .card-table tr td {
        padding: 20px 15px;
    }
}

.workspace--switch {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.workspace--switch-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid transparent;
    min-height: 50px;
    padding: 10px 15px;
    border-radius: 8px;
}
.workspace--switch-card.active {
    background: var(--bg-3);
    border: 1px solid var(--bs-border-color);
}
.workspace--switch-card .show-on-hover {
    display: none;
}
.workspace--switch-card:hover {
    background: var(--bg-3);
}
.workspace--switch-card:hover .hide-on-hover {
    display: none;
}
.workspace--switch-card:hover .show-on-hover {
    display: block;
}

.min-w-0 {
    min-width: 0 !important;
}

.employee-details {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.employee-details__left,
.employee-details__right {
    width: 100%;
}
@media screen and (min-width: 992px) {
    .employee-details__left {
        width: 50%;
        flex-grow: 1;
    }
    .employee-details__right {
        width: 35%;
        flex-grow: 1;
        max-width: 368px;
    }
}

.assigned-deals-wrap {
    background: var(--bg-3);
    border-radius: 10px;
    padding: 14px;
}

.assigned-deals-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 14px;
}

.assigned-deal-card {
    background: var(--bs-white);
    box-shadow:
        0px 0px 2px rgba(0, 0, 0, 0.08),
        0px 2px 5px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
}
.assigned-deal-card:not(:last-child) {
    margin-bottom: 12px;
}
.assigned-deal-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 12px;
    border-bottom: 1px solid var(--bs-border-color);
}
.assigned-deal-card__deal {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.assigned-deal-card__icon {
    width: 34px;
    height: 34px;
    border-radius: 6px;
    background: var(--bg-3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--secondary-2);
    font-size: 15px;
    flex-shrink: 0;
}
.assigned-deal-card__title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.assigned-deal-card__title {
    font-size: 14px;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
    color: var(--text-dark);
}
.assigned-deal-card__badge {
    font-size: 11px;
    font-weight: 500;
    padding: 4px 8px;
    border-radius: 4px;
    line-height: 1;
}
.assigned-deal-card__badge--contracted {
    background: #e6f3ff;
    color: #4b5eb8;
}
.assigned-deal-card__badge--proposal {
    background: #efe9ff;
    color: #6950c6;
}
.assigned-deal-card__meta {
    font-size: 12px;
    color: var(--secondary);
    margin-top: 4px;
}
.assigned-deal-card__actions {
    display: flex;
    align-items: center;
    gap: 8px;
}
.assigned-deal-card__action-btn {
    width: 32px;
    height: 32px;
    border-radius: 8px;
    border: 1px solid rgba(var(--bs-danger-rgb), 0.1);
    background: var(--bs-white);
    color: var(--bs-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    padding: 0;
}
.assigned-deal-card__action-btn:hover {
    background: var(--bg-3);
}
.assigned-deal-card__desc {
    font-size: 15px;
    font-weight: 500;
    color: var(--text-dark);
    line-height: 1.35;
    padding: 16px 16px 14px;
}
.assigned-deal-card__footer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px 24px;
    padding-inline: 16px;
    padding-bottom: 16px;
}
.assigned-deal-card__info-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: var(--secondary);
}
.assigned-deal-card__info-item i {
    font-size: 14px;
    color: var(--secondary-2);
}
.assigned-deal-card__info-item strong {
    font-weight: 600;
    color: var(--text-dark);
}

@media screen and (max-width: 767px) {
    .assigned-deals-title {
        font-size: 16px;
    }
    .assigned-deal-card__title {
        font-size: 18px;
    }
    .assigned-deal-card__desc {
        font-size: 18px;
    }
    .assigned-deal-card__info-item {
        font-size: 14px;
    }
}
.modal-dialog:has(.activity-list-modal) {
    --bs-modal-width: 600px;
    --bs-modal-bg: var(--bs-white);
}

.fi-rr-angle-down[data-bs-toggle="collapse"].collapsed {
    transform: rotate(180deg);
}

.appearance-none {
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
}

input[type="date"].appearance-none::-webkit-calendar-picker-indicator,
input[type="datetime-local"].appearance-none::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}

input[type="date"].appearance-none,
input[type="datetime-local"].appearance-none {
    -moz-appearance: textfield;
}

@media screen and (max-width: 767px) {
    .max-md-no-card {
        border: none;
        background: transparent !important;
        box-shadow: none;
    }
    .max-md-no-card > .card-body {
        padding: 0 !important;
    }
}
@media screen and (max-width: 575px) {
    .max-sm-no-card {
        border: none;
        background: transparent !important;
        box-shadow: none;
    }
    .max-sm-no-card > .card-body {
        padding: 0 !important;
    }
}
@media screen and (min-width: 768px) {
    .md-min-w-120 {
        min-width: 120px;
    }
}
.order-n-1 {
    order: -1;
}

.lead-card {
    background: var(--bs-white);
    box-shadow:
        0px 0px 2px rgba(0, 0, 0, 0.08),
        0px 2px 5px rgba(0, 0, 0, 0.05);
    border-radius: 8px;
}

.offcanvas-backdrop + .offcanvas-backdrop {
    display: none !important;
}

.--size-24 {
    width: 24px !important;
    height: 24px !important;
}

.mark-all-checkbox:not(:checked) {
    background-color: transparent;
}

.remove-role {
    position: absolute;
    top: -7px;
    right: -7px;
    font-size: 18px;
    color: var(--bs-danger);
    cursor: pointer;
}

.min-w-180 {
    min-width: 180px;
}

.border-end {
    border-inline-end: 1px solid var(--bs-border-color);
}

.border-start {
    border-inline-start: 1px solid var(--bs-border-color);
}

@media screen and (min-width: 576px) {
    .border-sm-end {
        border-inline-end: 1px solid var(--bs-border-color);
    }
    .border-sm-start {
        border-inline-start: 1px solid var(--bs-border-color);
    }
}
@media screen and (min-width: 768px) {
    .border-md-end {
        border-inline-end: 1px solid var(--bs-border-color);
    }
    .border-md-start {
        border-inline-start: 1px solid var(--bs-border-color);
    }
}
@media screen and (min-width: 992px) {
    .border-lg-end {
        border-inline-end: 1px solid var(--bs-border-color);
    }
    .border-lg-start {
        border-inline-start: 1px solid var(--bs-border-color);
    }
}
.text-xs {
    font-size: 12px;
    line-height: 1.5;
}

.max-h-400px {
    max-height: 400px;
}

.scrollable--article,
.scrollable--sidebar {
    overflow-y: auto;
    scrollbar-width: none;
    max-height: calc(100vh - 159px);
}
.scrollable--article .tab-list-filled,
.scrollable--sidebar .tab-list-filled {
    position: sticky;
    top: 0;
    z-index: 20;
}

.scrollable--article::-webkit-scrollbar,
.scrollable--sidebar::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.max-w-full {
    max-width: 100%;
}

.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}

.close--btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20px;
    height: 20px;
    background: var(--bs-danger);
    color: var(--bs-white);
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    cursor: pointer;
}
.close--btn i {
    font-size: 9px;
}

.top-n-5px {
    top: -5px;
}

.right-n-5px {
    right: -5px;
}

.payroll-employee-trigger {
    cursor: pointer;
}

.payroll-select2-control {
    position: relative;
}

.payroll-select2-icon {
    position: absolute;
    left: 14px;
    top: 12px;
    z-index: 99999;
    color: var(--text-semi-dark);
    font-size: 17px;
}

.payroll-employee-select + .select2 {
    width: 100% !important;
}

.payroll-employee-select + .select2 .select2-selection--multiple {
    height: 40px;
    border: 1px solid var(--bs-border-color);
    border-radius: 6px;
    background: var(--bs-white);
    padding: 0 10px 0 38px;
    display: flex;
    align-items: center;
    box-shadow: none !important;
}

.payroll-employee-select
    + .select2
    .select2-selection--multiple
    .select2-selection__choice {
    display: none !important;
}

.payroll-employee-select + .select2 .select2-search--inline {
    width: 100%;
    float: none;
    display: flex;
    align-items: center;
    height: 100%;
}

.payroll-employee-select
    + .select2
    .select2-selection--multiple
    .select2-search__field {
    margin: 0 !important;
    font-size: 14px;
    color: var(--text-gray);
    width: 100% !important;
    line-height: 1.2;
}

.payroll-employee-select
    + .select2
    .select2-selection--multiple
    .select2-search__field::-moz-placeholder {
    color: var(--text-semi-dark-80);
}

.payroll-employee-select
    + .select2
    .select2-selection--multiple
    .select2-search__field::placeholder {
    color: var(--text-semi-dark-80);
}

.payroll-selected-employees {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.payroll-employee-dropdown {
    border: 1px solid var(--bs-border-color);
    box-shadow:
        0px 4px 12px rgba(25, 32, 56, 0.08),
        0px 1px 3px rgba(25, 32, 56, 0.05);
    border-radius: 10px;
    overflow: hidden;
}

.payroll-employee-dropdown .select2-results__options {
    padding: 4px;
    max-height: 360px !important;
}

.payroll-employee-dropdown .select2-results__option {
    padding: 0 !important;
    background: transparent !important;
    margin-bottom: 4px;
}

.payroll-employee-dropdown
    .select2-results__option--highlighted.select2-results__option--selectable {
    background: transparent !important;
}

.payroll-employee-dropdown .select2-results__option:last-child {
    margin-bottom: 0;
}

.payroll-employee-item {
    width: 100%;
    border: 0;
    background: var(--bs-white);
    border-radius: 6px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: start;
    transition: background-color 0.2s ease;
}

.payroll-employee-item:hover {
    background: var(--bg-3);
}

.payroll-employee-item.is-selected {
    background: var(--bs-primary-light);
}

.payroll-employee-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--bg-2);
    border: 1px solid var(--bs-border-color);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.payroll-employee-avatar-letter {
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    color: var(--text-semi-dark);
}

.payroll-employee-avatar-img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    -o-object-fit: cover;
    object-fit: cover;
}

.payroll-employee-content {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}

.payroll-employee-name {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.18;
    color: var(--text-dark);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.payroll-employee-meta {
    font-size: 12px;
    font-weight: 400;
    color: var(--text-semi-dark-80);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.payroll-employee-divider {
    padding: 0 4px;
    color: var(--bs-border-color);
}

.payroll-employee-action {
    margin-inline-start: auto;
    border: 0;
    background: transparent;
    padding: 0;
    font-size: 15px;
    color: var(--bs-primary);
    line-height: 1;
    display: inline-flex;
    align-items: center;
    opacity: 0;
}

.payroll-employee-item.is-selected .payroll-employee-action {
    opacity: 1;
}

.payroll-selected-employees .payroll-employee-action {
    color: var(--bs-danger);
    opacity: 1;
    cursor: pointer;
}

.payroll-selected-employees .payroll-employee-item {
    cursor: default;
    background: var(--bg-3);
}

.payroll-employee-dropdown .payroll-employee-item {
    cursor: pointer;
}

@media screen and (max-width: 575px) {
    .payroll-employee-avatar {
        width: 44px;
        height: 44px;
    }
    .payroll-employee-name {
        font-size: 16px;
    }
    .payroll-employee-meta {
        font-size: 12px;
    }
}
@media screen and (min-width: 1200px) {
    .col-xl-20 {
        width: 20%;
    }
}
.phone-input-wrapper {
    position: relative;
}
.phone-input-wrapper .country-code {
    position: absolute;
    inset-inline-start: 54px;
    width: auto;
    z-index: 10;
    background: transparent !important;
    outline: none;
    box-shadow: none;
    border: none;
    padding: 0;
    pointer-events: none;
}

.card.shadow {
    box-shadow:
        0px 0px 3px rgba(0, 0, 0, 0.06),
        0px 3px 8px rgba(0, 0, 0, 0.06) !important;
}

.seperator-dot {
    background: var(--text-semi-dark-80);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    display: inline-block;
    transform: translateY(-2px);
    margin: 0 6px;
}

.w-0 {
    width: 0;
}

.nav-pill-buttons {
    gap: 15px;
}
@media screen and (min-width: 500px) {
    .nav-pill-buttons {
        gap: 8px;
    }
}
.nav-pill-buttons .nav-item .nav-link {
    padding: 0 !important;
    border-radius: 10px;
    background: var(--bg-3);
    color: var(--text-semi-dark-80);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.nav-pill-buttons .nav-item .nav-link i {
    display: flex;
}
@media screen and (min-width: 500px) {
    .nav-pill-buttons .nav-item .nav-link {
        width: 50px;
        height: 50px;
    }
    .nav-pill-buttons .nav-item .nav-link i {
        font-size: 18px;
    }
}
.nav-pill-buttons .nav-item .nav-link.active {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.tab-list-bordered .nav-item {
    padding: 0;
}
.tab-list-bordered .nav-item .nav-link {
    padding: 0;
    font-weight: 400;
    margin-right: 16px;
    padding-bottom: 5px;
}
.tab-list-bordered .nav-item .nav-link.active {
    font-weight: 600;
    border-bottom: 2px solid var(--bs-primary);
    color: var(--bs-primary);
}
.tab-list-bordered .swiper-button-next,
.tab-list-bordered .swiper-button-prev {
    display: none;
}

.whitespace-nowrap {
    white-space: nowrap;
}

.grow {
    flex-grow: 1;
}

.fullscreen-loader {
    background: var(--bs-white);
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.history-table thead tr th,
.history-table thead tr td,
.history-table tbody tr th,
.history-table tbody tr td {
    background: transparent !important;
}
.history-table thead tr th:first-child,
.history-table thead tr td:first-child,
.history-table tbody tr th:first-child,
.history-table tbody tr td:first-child {
    padding-inline-start: 0;
}
.history-table thead tr th:last-child,
.history-table thead tr td:last-child,
.history-table tbody tr th:last-child,
.history-table tbody tr td:last-child {
    padding-inline-end: 0;
}

.top-8px {
    top: 8px;
}

/* AI Rewrite Assistant Styles */
.ai-rewriter-flow {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.ai-original-text-card,
.ai-suggested-reply-card {
    background: var(--bg-3);
    border-radius: 12px;
    padding: 16px;
    border: none;
}

.ai-card-title {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-semi-dark-80);
    margin-bottom: 8px;
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 8px;
}

.ai-card-content {
    font-size: 13px;
    line-height: 1.5;
    color: #181c32;
}
.ai-card-content.original-content {
    position: relative;
    max-height: 100px;
    overflow: hidden;
}
.ai-card-content.original-content::after {
    position: absolute;
    content: "";
    top: 20px;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    background: linear-gradient(to top, var(--bg-3), rgba(255, 255, 255, 0));
}

.ai-user-prompt {
    align-self: flex-end;
    background: var(--bg-3);
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 13px;
    color: var(--text-dark);
    max-width: 80%;
}

.ai-thinking-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 40px 0;
}

.ai-sparkle-icon {
    font-size: 32px;
    color: #7239ea;
    animation: ai-sparkle-pulse 1.5s infinite ease-in-out;
}

@keyframes ai-sparkle-pulse {
    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.2);
        opacity: 0.7;
    }
}
.ai-thinking-text {
    font-size: 13px;
    color: #7e8299;
}

.ai-result-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    color: #7e8299;
    margin-top: 12px;
}

.ai-pagination {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ai-pagination-btn {
    background: none;
    border: none;
    padding: 0;
    color: #7e8299;
    font-size: 14px;
    cursor: pointer;
}

.ai-pagination-btn:hover {
    color: var(--bs-primary);
}

.ai-action-btns {
    display: flex;
    gap: 12px;
}

.ai-action-btn {
    background: none;
    border: none;
    padding: 0;
    color: #7e8299;
    font-size: 16px;
    cursor: pointer;
}

.ai-action-btn:hover {
    color: var(--bs-primary);
}

.use-this-reply {
    color: var(--bs-primary);
    text-decoration: none;
    font-weight: 600;
    cursor: pointer;
}

.use-this-reply:hover {
    text-decoration: underline;
}

.ai-footer-input-wrapper {
    position: relative;
    width: 100%;
}

.ai-footer-input-wrapper .form-control {
    padding-right: 45px;
    border-radius: 8px;
    height: 56px;
}

.ai-send-btn {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    background: #5d42b0;
    color: white;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.ai-send-btn:hover {
    background: #4a348c;
}

.login-wrapper {
    max-width: 1200px;
    margin: 0 auto;
}
.login-wrapper .banner-image-wrapper {
    max-width: 616px;
    margin-inline-start: auto;
}

.client-web-bg {
    background: linear-gradient(
        0deg,
        rgb(255, 255, 255),
        rgba(79, 59, 167, 0.1)
    );
}

.max-w-678px {
    max-width: 678px;
}

.resize-none {
    resize: none;
}

.max-h-394px {
    max-height: 394px;
}
.max-h-394px .card-body {
    overflow-y: auto;
}

.bg-2B7FFF {
    background: #2b7fff;
}

.bg-00C950 {
    background: #00c950;
}

.bg-51A2FF {
    background: #51a2ff;
}

.bg-F0B100 {
    background: #f0b100;
}

.bg-FF6900 {
    background: #ff6900;
}

.bg-AD46FF {
    background: #ad46ff;
}

.bg-615FFF {
    background: #615fff;
}

.bg-00BBA7 {
    background: #00bba7;
}

.js-circle-progress {
    position: relative;
}

.progress-svg {
    transform: rotate(-90deg); /* Start from top */
}

.track {
    stroke: #e6e6e6;
}

.bar {
    stroke: #3b82f6;
    stroke-dasharray: 314; /* 2 * PI * r (r=50) */
    stroke-dashoffset: 314;
    transition: stroke-dashoffset 1s ease;
}

.progress-value {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: 600;
    font-size: 10px;
    width: 100%;
    text-align: center;
}

.opacity-70 {
    opacity: 0.7;
}

.aside-toggle {
    z-index: 20 !important;
    background: transparent !important;
}

/* ==== Availability Hour Design ==== */
.week-days-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 15px;
}

.custom-time-picker {
    position: relative;
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid var(--bs-border-color);
    border-radius: 8px;
    padding: 8px 12px;
    height: 44px;
}

.custom-time-picker i.fi-rr-clock-three {
    color: var(--text-semi-dark-80);
    font-size: 16px;
    margin-right: 10px;
}

.custom-time-picker .form-control {
    border: none;
    padding: 0;
    height: auto;
    background: transparent;
    font-size: 14px;
    color: var(--text-semi-dark) !important;
}

.custom-time-picker .arrows {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-left: auto;
}

.custom-time-picker .arrows i {
    font-size: 10px;
    color: var(--text-semi-dark-80);
    cursor: pointer;
    line-height: 1;
}

.px-40px {
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* ── Dark-mode-aware semantic utility classes ────────────────────────────── */
.info-box-success {
    background-color: #e8f5e9;
}
.info-box-warning {
    background-color: #fff3e0;
}
.info-box-info {
    background-color: #f0f4ff;
}
.info-box-danger {
    background-color: #fff0f0;
}
.info-box-neutral {
    background-color: #f8f9fa;
}

.status-badge-success {
    background-color: #d1fae5;
    color: #065f46;
}
.status-badge-danger {
    background-color: #ffe4e4;
    color: #d32f2f;
}
.status-badge-warning {
    background-color: #fff3cd;
    color: #856404;
}
.status-badge-neutral {
    background-color: #f5f5f5;
    color: #333333;
}
.status-badge-probation {
    background-color: #d1fae5;
    color: #065f46;
}
.status-badge-resigned {
    background-color: #ffe4e4;
    color: #d32f2f;
}

.stat-box-success {
    background-color: #e8f5e9;
}
.stat-box-danger {
    background-color: #fce4ec;
}
.stat-box-info {
    background-color: #e3f2fd;
}
.stat-box-neutral {
    background-color: #f8fafc;
}

.code-diff-old {
    background: #fee2e2;
    word-break: break-word;
}
.code-diff-new {
    background: #dcfce7;
    word-break: break-word;
}

.salary-box-income {
    background-color: #f6fcf8;
    border: 1px solid #eef8f2;
}
.salary-box-expense {
    background-color: #fff5f5;
    border: 1px solid #ffebe8;
}
.salary-box-net {
    background-color: #f5f8ff;
    border: 1px solid #ebf1ff;
}

[data-bs-theme="dark"] .info-box-success {
    background-color: rgba(var(--bs-success-rgb), 0.12);
}
[data-bs-theme="dark"] .info-box-warning {
    background-color: rgba(var(--bs-warning-rgb), 0.12);
}
[data-bs-theme="dark"] .info-box-info {
    background-color: rgba(var(--bs-info-rgb), 0.12);
}
[data-bs-theme="dark"] .info-box-danger {
    background-color: rgba(var(--bs-danger-rgb), 0.12);
}
[data-bs-theme="dark"] .info-box-neutral {
    background-color: var(--bg-2);
}

[data-bs-theme="dark"] .status-badge-success {
    background-color: rgba(var(--bs-success-rgb), 0.15);
    color: var(--bs-success);
}
[data-bs-theme="dark"] .status-badge-danger {
    background-color: rgba(var(--bs-danger-rgb), 0.15);
    color: var(--bs-danger);
}
[data-bs-theme="dark"] .status-badge-warning {
    background-color: rgba(var(--bs-warning-rgb), 0.15);
    color: var(--bs-warning);
}
[data-bs-theme="dark"] .status-badge-neutral {
    background-color: rgba(255, 255, 255, 0.08);
    color: var(--bs-dark);
}
[data-bs-theme="dark"] .status-badge-probation {
    background-color: rgba(var(--bs-success-rgb), 0.15);
    color: var(--bs-success);
}
[data-bs-theme="dark"] .status-badge-resigned {
    background-color: rgba(var(--bs-danger-rgb), 0.15);
    color: var(--bs-danger);
}

[data-bs-theme="dark"] .stat-box-success {
    background-color: rgba(var(--bs-success-rgb), 0.1);
}
[data-bs-theme="dark"] .stat-box-danger {
    background-color: rgba(var(--bs-danger-rgb), 0.1);
}
[data-bs-theme="dark"] .stat-box-info {
    background-color: rgba(var(--bs-info-rgb), 0.1);
}
[data-bs-theme="dark"] .stat-box-neutral {
    background-color: var(--bg-2);
}

[data-bs-theme="dark"] .code-diff-old {
    background: rgba(var(--bs-danger-rgb), 0.15);
    color: var(--bs-danger);
}
[data-bs-theme="dark"] .code-diff-new {
    background: rgba(var(--bs-success-rgb), 0.15);
    color: var(--bs-success);
}

[data-bs-theme="dark"] .salary-box-income {
    background-color: rgba(var(--bs-success-rgb), 0.08);
    border-color: rgba(var(--bs-success-rgb), 0.15);
}
[data-bs-theme="dark"] .salary-box-expense {
    background-color: rgba(var(--bs-danger-rgb), 0.08);
    border-color: rgba(var(--bs-danger-rgb), 0.15);
}
[data-bs-theme="dark"] .salary-box-net {
    background-color: rgba(var(--bs-info-rgb), 0.08);
    border-color: rgba(var(--bs-info-rgb), 0.15);
}

/*# sourceMappingURL=style_rafuj.css.map */

.profile-avatar-uploader-container .img-uploader {
    width: 96px;
    height: 96px;
    margin: 0 auto;
}
.profile-avatar-uploader-container .img-uploader-box,
.profile-avatar-uploader-container .img-preview-item,
.profile-avatar-uploader-container .img-preview-item img {
    width: 96px !important;
    height: 96px !important;
    border-radius: 50% !important;
    border: 3px solid #fff !important;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}
.profile-avatar-uploader-container .img-uploader-box {
    background-color: #f0f0f0 !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}
.profile-avatar-uploader-container .img-uploader-box i {
    font-size: 16px !important;
    margin-bottom: 2px;
}
.profile-avatar-uploader-container .img-uploader-box div {
    font-size: 10px !important;
    line-height: 1;
}
.profile-avatar-uploader-container .img-uploader-placeholder {
    display: none;
}
.profile-avatar-uploader-container .img-preview-actions {
    border-radius: 50%;
}
.profile-avatar-uploader-container .img-uploader-ratio-badge {
    display: none !important;
}

.ticket-details .tab-list-filled {
    background: #f8fafc;
    border-radius: 12px;
    padding: 4px !important;
    border: 1px solid #e2e8f0;
    display: flex !important;
    gap: 4px;
    margin-bottom: 20px;
}

.ticket-details .tab-list-filled .nav-item {
    flex: 1;
}

.ticket-details .tab-list-filled .nav-link {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 9px !important;
    padding: 10px 12px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #64748b !important;
    transition: all 0.2s ease !important;
    border: none !important;
    background: transparent !important;
}

.ticket-details .tab-list-filled .nav-link:hover:not(.active) {
    color: #475569 !important;
    background: rgba(0, 0, 0, 0.03) !important;
}

.ticket-details .tab-list-filled .nav-link.active {
    background: #fff !important;
    color: var(--bs-primary) !important;
    box-shadow:
        0 1px 3px 0 rgba(0, 0, 0, 0.1),
        0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
}

.ticket-details .tab-list-filled .nav-link i {
    font-size: 14px;
    line-height: 1;
}

@media screen and (min-width: 768px) {
    .ticket-details .ticket-chat {
        height: calc(100vh - var(--header-height, 70px) - 60px) !important;
        top: 0;
    }
}

/* ── Sidebar tab load-more ── */
.tab-load-more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 7px 12px;
    margin-top: 10px;
    border-radius: 8px;
    border: 1px dashed var(--border-medium);
    background: transparent;
    font-size: 12px;
    font-weight: 500;
    color: var(--bs-primary);
    cursor: pointer;
    transition:
        background 0.15s,
        border-color 0.15s;
}
.tab-load-more:hover {
    background: rgba(var(--bs-primary-rgb), 0.05);
    border-color: var(--bs-primary);
}
.tab-load-more:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.integration-details {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.integration-details__left,
.integration-details__right {
    width: 100%;
}
@media screen and (min-width: 992px) {
    .integration-details__left {
        width: 50%;
        flex-grow: 1;
    }
    .integration-details__right {
        width: 35%;
        flex-grow: 1;
        max-width: 368px;
    }
}
