:root {
    --apple: #2fac34;
    --apple-rgb: 47, 172, 52;
    --tarawera: #074455;
    --tarawera-rgb: 7, 68, 85;
    --yellowsea: #ffae0b;
    --yellowsea-rgb: 255, 174, 11;
    --alto: #cecece;
    --alto-rgb: 206, 206, 206;
    --bs-blue: var(--tarawera);
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: var(--yellowsea);
    --bs-green: var(--apple);
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-gray: #6c757d;
    --bs-gray-dark: #343a40;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-primary: var(--tarawera);
    --bs-secondary: var(--alto);
    --bs-success: var(--apple);
    --bs-info: #0dcaf0;
    --bs-warning: var(--yellowsea);
    --bs-danger: #dc3545;
    --bs-light: #f8f9fa;
    --bs-dark: #212529;
    --bs-primary-rgb: var(--tarawera-rgb);
    --bs-secondary-rgb: var(--alto-rgb);
    --bs-success-rgb: var(--apple-rgb);
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: var(--yellowsea-rgb);
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 248, 249, 250;
    --bs-dark-rgb: 33, 37, 41;
    --bs-primary-text-emphasis: #052c65;
    --bs-secondary-text-emphasis: #2b2f32;
    --bs-success-text-emphasis: #0a3622;
    --bs-info-text-emphasis: #055160;
    --bs-warning-text-emphasis: #664d03;
    --bs-danger-text-emphasis: #58151c;
    --bs-light-text-emphasis: #495057;
    --bs-dark-text-emphasis: #495057;
    --bs-primary-bg-subtle: #cfe2ff;
    --bs-secondary-bg-subtle: #e2e3e5;
    --bs-success-bg-subtle: #d1e7dd;
    --bs-info-bg-subtle: #cff4fc;
    --bs-warning-bg-subtle: #fff3cd;
    --bs-danger-bg-subtle: #f8d7da;
    --bs-light-bg-subtle: #fcfcfd;
    --bs-dark-bg-subtle: #ced4da;
    --bs-primary-border-subtle: #9ec5fe;
    --bs-secondary-border-subtle: #c4c8cb;
    --bs-success-border-subtle: #a3cfbb;
    --bs-info-border-subtle: #9eeaf9;
    --bs-warning-border-subtle: #ffe69c;
    --bs-danger-border-subtle: #f1aeb5;
    --bs-light-border-subtle: #e9ecef;
    --bs-dark-border-subtle: #adb5bd;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;
    --bs-font-sans-serif: Poppins, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: var(--tarawera);
    --bs-body-color-rgb: var(--tarawera-rgb);
    --bs-body-bg: #fff;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-emphasis-color: #000;
    --bs-emphasis-color-rgb: 0, 0, 0;
    --bs-secondary-color: rgba(33, 37, 41, 0.75);
    --bs-secondary-color-rgb: 33, 37, 41;
    --bs-secondary-bg: #e9ecef;
    --bs-secondary-bg-rgb: 233, 236, 239;
    --bs-tertiary-color: rgba(33, 37, 41, 0.5);
    --bs-tertiary-color-rgb: 33, 37, 41;
    --bs-tertiary-bg: #f8f9fa;
    --bs-tertiary-bg-rgb: 248, 249, 250;
    --bs-heading-color: inherit;
    --bs-link-color: var(--bs-primary);
    --bs-link-color-rgb: var(--bs-primary-rgb);
    --bs-link-decoration: underline;
    --bs-link-hover-color: #0a58ca;
    --bs-nav-link-hover-color: #0a58ca;
    --bs-link-hover-color-rgb: 10, 88, 202;
    --bs-nav-link-hover-color-rgb: 255, 0, 0;
    --bs-code-color: #d63384;
    --bs-highlight-color: #212529;
    --bs-highlight-bg: #fff3cd;
    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 1rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-xxl: 2rem;
    --bs-border-radius-2xl: var(--bs-border-radius-xxl);
    --bs-border-radius-pill: 50rem;
    --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
    --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
    --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
    --bs-focus-ring-width: 0.25rem;
    --bs-focus-ring-opacity: 0.25;
    --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
    --bs-form-valid-color: var(--apple);
    --bs-form-valid-border-color: var(--apple);
    --bs-form-invalid-color: #dc3545;
    --bs-form-invalid-border-color: #dc3545;
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
    --bs-navbar-active-color: var(--bs-primary-rgb);
}

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

    .btn-primary:hover {
        background-color: #042832;
        border-color: #042832;
    }

    .btn-primary:active {
        background-color: #031e26 !important;
        border-color: #031e26 !important;
    }

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

a {
    transition: color 0.15s ease-in-out;
}

.bg-finbuddy-primary {
    background-color: #074455;
}

.bg-finbuddy-secondary {
    background-color: #F2F8FA;
}

.min-height-3 {
    min-height: 3lh;
}

.accordion-button,
.accordion-button:focus {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    padding-left: 0;
    padding-right: 0;
    box-shadow: none !important;
    background-color: transparent !important;
}

    a:hover,
    .accordion-button:hover {
        color: var(--yellowsea);
        cursor: pointer;
    }

    .accordion-button::after {
        background-color: var(--yellowsea);
        border-radius: 50%;
        width: 2rem;
        height: 2rem;
        background-position: center;
        background-size: 1.5rem;
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
    }

    .accordion-button:not(.collapsed) {
        color: var(--yellowsea);
    }

        .accordion-button:not(.collapsed)::after {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
        }

.accordion-body {
    padding-left: 0;
    padding-right: 0;
    background-color: transparent !important;
}

.dropdown-item.active,
.dropdown-item:active {
    background-color: var(--bs-primary) !important;
}

.nav-item {
    margin-left: .5rem !important;
    margin-right: .5rem !important;
    color: var(--bs-primary);
}

.nav-link:focus {
    color: var(--bs-primary);
}

.nav-link {
    color: var(--bs-primary);
    transition: color 0.15s ease-in-out, font-weight 0.15s ease-in-out;
}

    .nav-link:hover {
        color: var(--yellowsea);
    }

    .nav-link.active {
        color: var(--yellowsea) !important;
        font-weight: 700;
    }

.justify-items-center {
    justify-items: center;
}

.justify-items-end {
    justify-items: end;
}

.text-primary-subtle {
    color: var(--bs-primary-bg-subtle);
}

.text-gray {
    color: var(--bs-gray);
}

.text-yellow {
    color: var(--yellowsea);
}

.bg-yellow {
    background-color: var(--yellowsea);
}

.slider-wrapper {
    border: solid .2rem var(--bs-primary);
    border-radius: 1rem;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}

.bg-slider-gradient {
    -webkit-appearance: none;
    appearance: none;
    outline: none;
    background: linear-gradient(90deg,#f80703 0%,#fbad02 25%,#fffc03 50%,#d6f834 75%,#93ee8a 100%);
    border-radius: 1rem;
}

    .bg-slider-gradient::-webkit-slider-thumb {
        -webkit-appearance: none;
        appearance: none;
        background: var(--tarawera);
        width: 1rem;
        height: 1rem;
        border-radius: 50%;
    }

    .bg-slider-gradient::-moz-range-thumb {
        appearance: none;
        background: var(--tarawera);
        width: 1rem;
        height: 1rem;
        border-radius: 50%;
    }

thead > tr > th {
    background-color: transparent;
}

.clientportal thead > tr > th:first-child {
    border-top-left-radius: var(--bs-border-radius);
}

.clientportal thead > tr > th:last-child {
    border-top-right-radius: var(--bs-border-radius);
}

.active > .page-link, .page-link.active {
    border-color: var(--bs-primary);
    background-color: var(--bs-primary);
}

.body-bg {
    background-image: url(images/body-bg.svg);
}

h1 {
    outline: none !important;
    font-weight: 700;
}

.cursor-pointer {
    cursor: pointer;
}

.modal-rejection {
    width: 572px;
}

.custom-tooltip {
    position: relative;
}

.custom-tooltip-content {
    position: absolute;
    display: none;
}

.custom-tooltip:hover + .custom-tooltip-content {
    display: block !important;
    width: 506px;
    min-height: 125px;
    right: 32px;
    top: -75px;
    z-index: 30;
    color: white;
    font-size: 0.8rem;
    background-color: var(--bs-primary);
    border-radius: var(--bs-modal-inner-border-radius);
}

.custom-tooltip-content-arrow {
    position: absolute;
    width: 2rem;
    height: 2rem;
    transform: rotate(45deg);
    top: 72px;
    right: -5px;
    background-color: var(--bs-primary);
}

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

    .age-categories .btn.active {
        background-color: var(--yellowsea);
        color: white;
    }

.income-type-chart-legend-item {
    width: 40px;
    aspect-ratio: 1/1;
    border-radius: 20px;
    align-content: center;
    text-align: center;
}

.bg-finbuddy-primary-offset-1 {
    background-color: #6F949E;
}

.bg-finbuddy-primary-offset-2 {
    background-color: #B7CBD1;
}

.bg-finbuddy-yellow {
    background-color: var(--yellowsea);
}

.bg-finbuddy-yellow-offset-1 {
    background-color: #FAC85F;
}

.bg-finbuddy-yellow-offset-2 {
    background-color: #F7DA9A;
}

.bg-finbuddy-green {
    background-color: #54BB58;
}

.bg-finbuddy-green-offset-1 {
    background-color: #83CD88;
}

.bg-finbuddy-green-offset-2 {
    background-color: #B3E0B9;
}

.day-grid-wrapper {
    width: 300px;
}

.day-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

    .day-grid label {
        display: flex;
        align-items: center;
        gap: 0.25rem;
    }