﻿@import url('open-iconic/font/css/open-iconic-bootstrap.min.css');

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    touch-action: none;
    height: 100vh;
    width: 100vw;
    max-height: 100vh;
    max-width: 100vw;
    overflow: hidden; 
    background: #16171a;
}

.bottom-toolbar {
    background-color: #EEF5FD;
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 5px 0;
    box-shadow: 0px -2px 3px rgba(0, 0, 0, 0.1);
    z-index: 1000;
}

    .bottom-toolbar ul {
        display: flex;
        justify-content: space-between;
        list-style-type: none;
        margin: 0;
        padding: 0;
        width: 100%;
    }

    .bottom-toolbar li {
        margin: 0 10px;
    }

    .bottom-toolbar .left {
        display: flex;
    }

    .bottom-toolbar .right {
        display: flex;
    }

    .bottom-toolbar a {
        color: #007bff !important;
        text-decoration: none;
        margin-right: 25px;
        user-select: none;
    }

        .bottom-toolbar a:hover {
            color: #0056b3;
            text-decoration: underline !important;
            cursor: pointer;
        }

    .bottom-toolbar p {
        padding-right: 4em;
        font-size: 0.8rem;
        margin-bottom: 0px;
    }

.afr-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 2000000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .afr-wrapper .afr-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        overflow-y: scroll;
    }

        .afr-wrapper .afr-popout .afr-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
            width: unset;
        }

        .afr-wrapper .afr-popout .close-button {
            cursor: pointer;
            background-color: #ff3333;
            color: #ffffff;
            padding: 5px 10px;
            border-radius: 50%;
            font-weight: bold;
            transition: background-color 0.2s ease;
            user-select: none;
            position: relative;
            float: right;
        }

            .afr-wrapper .afr-popout .close-button:hover {
                background-color: #e60000;
            }

.income-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .income-wrapper .income-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: auto;
    }

        .income-wrapper .income-popout label {
            width: 100%;
        }

            .income-wrapper .income-popout label textarea {
                width: 100%;
            }

        .income-wrapper .income-popout .income-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.feedback-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10001;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .feedback-wrapper .feedback-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        max-width: 80%;
        max-height: 95%;
        overflow: auto;
    }

    .feedback-wrapper table {
        font-size: 12px;
        white-space: nowrap;
    }

    .feedback-wrapper .feedback-popout label {
        width: 100%;
    }

        .feedback-wrapper .feedback-popout label textarea {
            width: 100%;
        }

    .feedback-wrapper .feedback-popout .feedback-button {
        background-color: #007BFF;
        color: #FFFFFF;
        border: none;
        padding: 10px 20px;
        text-align: center;
        cursor: pointer;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        border-radius: 5px;
        transition: background-color 0.3s ease;
    }

.insurance-estimates-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .insurance-estimates-wrapper .insurance-estimates-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        max-width: 95%;
        max-height: 95%;
        overflow: auto;
    }

    .insurance-estimates-wrapper table {
        font-size: 12px;
        white-space: nowrap;
    }

    .insurance-estimates-wrapper .insurance-estimates-popout label {
        width: 100%;
    }

        .insurance-estimates-wrapper .insurance-estimates-popout label textarea {
            width: 100%;
        }

    .insurance-estimates-wrapper .insurance-estimates-popout .insurance-estimates-button {
        background-color: #007BFF;
        color: #FFFFFF;
        border: none;
        padding: 10px 20px;
        text-align: center;
        cursor: pointer;
        text-decoration: none;
        display: inline-block;
        font-size: 14px;
        border-radius: 5px;
        transition: background-color 0.3s ease;
    }

    .insurance-estimates-wrapper .insurance-estimates-popout h2 {
        display: flex;
        align-items: center;
    }

    .insurance-estimates-wrapper .insurance-estimates-popout .close-button {
        cursor: pointer;
        background-color: #ff3333;
        color: #ffffff;
        padding: 5px 10px;
        border-radius: 50%;
        font-weight: bold;
        transition: background-color 0.2s ease;
        user-select: none;
        position: relative;
        float: right;
    }

        .insurance-estimates-wrapper .insurance-estimates-popout .close-button:hover {
            background-color: #e60000;
        }

    .insurance-estimates-wrapper .insurance-estimates-popout input[type="text"] {
        border: 0;
        border-bottom: solid 2px lightgray;
    }

    .insurance-estimates-wrapper .insurance-estimates-popout select {
        border: 0;
        border-bottom: solid 2px lightgray;
    }

    .insurance-estimates-wrapper .insurance-estimates-popout .input {
        border: 0;
        border-bottom: solid 2px lightgray;
        text-align: center;
    }

.terms-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10001;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .terms-wrapper .terms-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: scroll;
    }

        .terms-wrapper .terms-popout .terms-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.privacy-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10001;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .privacy-wrapper .privacy-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: scroll;
    }

        .privacy-wrapper .privacy-popout .privacy-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }


.save-as-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .save-as-wrapper .save-as-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: scroll;
    }

        .save-as-wrapper .save-as-popout .save-as-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }


.modal-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .modal-wrapper .modal-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: scroll;
    }

        .modal-wrapper .modal-popout .modal-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.humor-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .humor-wrapper .humor-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: scroll;
    }

        .humor-wrapper .humor-popout .humor-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.client-url-wrapper {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1000;
    display: flex;
    justify-content: center;
    align-items: center;
}

    .client-url-wrapper .client-url-popout {
        background-color: #fff;
        padding: 20px;
        border-radius: 5px;
        width: 80%;
        max-height: 80%;
        max-width: 800px;
        overflow: auto;
    }

        .client-url-wrapper .client-url-popout .client-url-button {
            background-color: #007BFF;
            color: #FFFFFF;
            border: none;
            padding: 10px 20px;
            text-align: center;
            cursor: pointer;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            border-radius: 5px;
            transition: background-color 0.3s ease;
        }

.verification-wrapper {
    background-color: rgba(0, 0, 0);
}

.pin-input-container {
    max-width: 300px;
    margin: 0 auto;
    text-align: center;
    padding: 20px;
}

.pin-input-group {
    display: flex;
    gap: 5px;
    justify-content: center;
}

.pin-input {
    width: 10rem !important;
    text-align: center;
    font-size: 1.5rem;
}


.button-wrapper {
    display: flex;
    justify-content: space-between;
}

.feedback-wrapper.show {
    display: block;
}

a, .btn-link {
    color: #0366d6;
}

input[type=number]::-webkit-inner-spin-button {
    opacity: 1
}

.align-right {
    margin-left: auto;
}

.align-left {
    margin-right: auto;
}

.main {
    display: flex;
    overflow: visible;
    justify-content: space-evenly;
    height: calc(100vh - 7.5rem);
}

/* Preloader */
.preloader {
    display: flex;
    flex-direction: column;
    width: 100vw;
    height: 100vh;
    background-color: black;
    color: white;
    justify-content: center;
}

    .preloader img {
    }

/* Tooltip container */
[data-tooltip] {
    position: relative;
}

    /* Tooltip text */
    [data-tooltip]:before {
        content: attr(data-tooltip);
        position: absolute;
        bottom: 50%;
        left: 100%;
        transform: translateX(-50%);
        background-color: #333;
        color: #fff;
        font-size: 12px;
        padding: 5px 10px;
        border-radius: 4px;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.15s;
        z-index: 999999;
        width: 200px;
        overflow: visible !important;
        white-space: normal !important;
        min-width: 200px;
    }

    [data-tooltip]:hover:before {
        opacity: 1;
    }

.boxes-view [data-tooltip]:before {
    width: unset;
}

/* Top Toolbar */
.top-toolbar {
    padding: 8px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1050;
}

.menu-bar {
    background-color: #EEF5FD !important;
}

/* Buttons and Dropdowns */
.top-toolbar .btn {
    background-color: #29ABE2;
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 10pt;
    border-radius: 10px;
    padding: 4px 7px 4px 7px;
    margin-right: 3px;
    margin-bottom: 5px;
    transition: background-color 0.2s ease;
    font-weight: 600;
}

@media (min-width: 768px) {
    .top-toolbar .btn {
        font-size: 14px;
        margin-left: 4px;
        margin-right: 4px;
        margin-bottom: 0px;
    }
}

    .top-toolbar .btn:hover,
    .top-toolbar .btn:focus {
        background-color: #0071BC;
        outline: none;
    }


    .top-toolbar .btn img {
        width: 18px;
    }

    .top-toolbar .btn-block {
        color: white;
    }

    .top-toolbar .dropdown-toggle::after {
        margin-left: 8px;
        vertical-align: middle;
    }

    /* Dropdown Menu */
    .top-toolbar .dropdown-menu {
        background-color: #29ABE2;
        border: none;
        border-radius: 4px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    }

    .top-toolbar .dropdown:hover .dropdown-menu {
        display: block;
    }

    .top-toolbar .dropdown-menu button {
        color: #fff;
        padding: 6px 12px;
        font-size: 14px;
        transition: background-color 0.2s ease;
        font-weight: 600;
    }

        .top-toolbar .dropdown-menu button:hover,
        .top-toolbar .dropdown-menu button:focus {
            background-color: #0056b3;
            color: #fff;
            outline: none;
        }

    /* Center dropdowns */
    .top-toolbar .btn-group {
        display: flex;
        align-items: center;
    }

    .top-toolbar .dropdown-toggle {
        margin-right: 8px;
    }

    .top-toolbar .dropdown:last-child .dropdown-menu {
        right: 0;
        left: auto;
    }

    /* Modal Button */
    .top-toolbar .modal .btn {
        padding: 0.375rem 0.75rem;
        border: 1px solid transparent;
        border-radius: 0.25rem;
    }

    /* Modal */
    .modal {
        display: none;
        position: fixed;
        z-index: 2000000 !important;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        overflow: auto;
        background-color: rgba(0, 0, 0, 0.6);
    }

    /* Modal content */
    .modal-content {
        background-color: #fefefe;
        margin: 15% auto;
        padding: 20px;
        border: 1px solid #888;
        max-width: 600px;
        width: 100%;
        border-radius: 5px;
    }

    /* Modal header */
    .modal-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 10px;
        border-bottom: 1px solid #e5e5e5;
    }

        .modal-header.new-modal-header {
            align-items: flex-start;
            justify-content: unset;
            padding: unset;
            flex-direction: column;
        }

            .modal-header.new-modal-header button {
                position: absolute;
                right: 0%;
                top: 0%;
                transform: translate(-50%, 50%);
            }

    /* Modal title */
    .modal-title {
        font-size: 20px;
        font-weight: bold;
        margin: 0;
    }

    /* Close scenarios button */
    .btn-close-scenarios {
        padding: 0;
        background-color: transparent;
        border: 0;
        font-size: 24px;
        line-height: 1;
        opacity: 0.5;
        transition: opacity 0.3s;
    }

        .btn-close-scenarios:hover {
            opacity: 1;
        }

    /* Close assumptions button */
    .btn-close-assumptions {
        padding: 0;
        background-color: transparent;
        border: 0;
        font-size: 24px;
        line-height: 1;
        opacity: 0.5;
        transition: opacity 0.3s;
    }

        .btn-close-assumptions:hover {
            opacity: 1;
        }

    /* Expand button */
    .btn-expand-assumptions {
        padding: 0;
        background-color: transparent;
        border: 0;
        font-size: 24px;
        line-height: 1;
        opacity: 0.5;
        transition: opacity 0.3s;
    }

        .btn-expand-assumptions:hover {
            opacity: 1;
        }

    /* Modal body */
    .modal-body {
        padding: 20px 0;
        border-bottom: 1px solid #e5e5e5;
    }

    /* Form group */
    .form-group {
        margin-bottom: 20px;
    }

    /* Form check */
    .form-check {
        margin-bottom: 10px;
    }

    /* Form check input */
    .form-check-input {
        margin-right: 10px;
    }

    /* Form check label */
    .form-check-label {
        font-size: 16px;
    }

    /* Modal footer */
    .modal-footer {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 10px;
    }

    /* Backdrop */
    .modal-backdrop {
        position: fixed;
        z-index: 1000 !important;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.6);
        opacity: 0;
        transition: opacity 0.3s;
    }

        .modal-backdrop.show {
            opacity: 1;
        }

    /* Login */

    .login-page {
        flex-direction: row;
        display: flex;
    }

    .login-view {
        background-color: #E9F8FF;
        grid-template-columns: 1fr;
        width: 100vw;
        height: 100vh;
        align-items: center;
        overflow: scroll;
    }

    @media (min-width: 768px) {
        .login-view {
            width: 50vw;
            align-items: revert;
            overflow: auto;
            display: grid;
        }
    }

    .login-view__logo {
        margin-top: 4px;
        display: flex;
        width: 25vmax;
    }

    @media (min-width: 768px) {
        .login-view__logo {
            margin-top: 0;
        }
    }

    .login-view__title {
        font-weight: 600;
        font-size: 4vmax;
        text-align: center;
    }

    @media (min-width: 768px) {
        .login-view__title {
            font-weight: 700;
            font-size: 32pt;
            text-align: center;
        }
    }


    .login-view .login-box {
        border: none;
        border-radius: 30px;
        margin-bottom: 2vh;
    }

    @media (min-width: 768px) {
        .login-view .login-box {
            margin-bottom: 0;
            width: 50%;
        }
    }

    .login-view .login-box .login-box__title {
        color: white;
        font-weight: bolder;
        text-align: center;
    }

    .login-view .form-group {
        display: flex;
        flex-direction: column;
        margin-bottom: 1rem;
    }

    .login-view .form-group__label {
        font-weight: 600;
        color: #111111;
        font-size: 11pt;
        margin-bottom: 2px;
    }

    .login-view .form-group__input-icon-wrapper {
        position: relative;
        display: flex;
        align-items: center;
    }

    .login-view .form-group__input {
        padding: 0.5rem;
        padding-left: 2.3rem;
        border-radius: 12px;
        border: 1px solid #999999;
        outline: none;
        width: 100%;
    }

    .login-view .form-group__icon {
        position: absolute;
        left: 0.4rem;
        color: #999999;
        border-right: 1px solid #999999;
        padding-right: 0.3rem;
    }

    .login-view .login-form {
        border-radius: 40px;
        background-color: white;
        margin: 5vh 10vw;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-evenly;
    }


    @media (min-width: 768px) {
        .login-view .login-form {
            margin: 40px;
            margin-right: 20px;
            margin-left: 20px;
            max-height: 90vh;
        }
    }


    .or-divider {
        display: flex;
        align-items: center;
        width: 100%;
    }

    @media (min-width: 768px) {
        .or-divider {
            display: none;
        }
    }

    .login-view .login-form__gradient {
        width: 100%;
        height: 100%;
        transform: rotate(-180deg) scaleX(-1);
        border-radius: 40px;
        z-index: 1;
    }

    .login-view .alert {
        color: #dc3545;
        background-color: #f8d7da;
        border: 1px solid #f5c6cb;
        border-radius: 5px;
        padding: 0.5rem;
        margin-bottom: 1rem;
    }

    .login-view .btn {
        color: white;
        font-weight: 600;
        text-align: center;
        white-space: nowrap;
        border: 1px solid transparent;
        font-size: 1rem;
        background-color: #29ABE2;
        border-radius: 5px 5px 5px 5px !important;
    }

    .login-view .btn-secondary {
        background-color: #28a745;
    }

        .login-view .btn-secondary:hover {
            background-color: #218838 !important;
            border-color: #218838 !important;
        }

    .login-view .btn-group {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-top: 1rem;
        width: 100%;
    }

    /* Signup */

    .signup-mobile {
        border: none;
        border-radius: 30px;
        margin-bottom: 2vh;
    }

    @media (min-width: 768px) {
        .signup-mobile {
            display: none;
        }
    }

    .signup-desktop {
        display: none;
    }

    @media (min-width: 768px) {
        .signup-desktop {
            display: flex;
            border: none;
            border-radius: 30px;
        }
    }

    .signup-form {
        background-color: white;
        align-items: center;
        justify-content: space-evenly;
    }

    @media (min-width: 768px) {
        .signup-form {
            border-radius: 40px;
            display: flex;
            flex-direction: column;
            margin: 40px;
            margin-right: 20px;
            margin-left: 20px;
            max-height: 90vh;
        }
    }

    .signup-view {
        background-color: #E9F8FF;
        display: grid;
        grid-template-columns: 1fr;
    }

    @media (min-width: 768px) {
        .signup-view {
            width: 50vw;
        }
    }

    .signup-view__logo {
        display: none;
    }

    @media (min-width: 768px) {
        .signup-view__logo {
            display: flex;
            width: 25vmax;
        }
    }

    .signup-view .signup-box {
        border: none;
        border-radius: 30px;
    }

    @media (min-width: 768px) {
        .signup-view .signup-box {
            width: 50%;
        }
    }

    .signup-view .signup-box .signup-box__title {
        color: white;
        font-weight: bolder;
        text-align: center;
    }

    .signup-view__title {
        font-weight: 600;
        font-size: 4vmax;
        text-align: center;
    }

    @media (min-width: 768px) {
        .signup-view__title {
            font-weight: 700;
            font-size: 32pt;
            text-align: center;
        }
    }

    .signup-view .form-group {
        display: flex;
        flex-direction: column;
        margin-bottom: 1rem;
    }

    .signup-view .form-group__label {
        font-weight: 600;
        color: #111111;
        font-size: 11pt;
        margin-bottom: 2px;
    }

    .signup-view .form-group__input-icon-wrapper {
        position: relative;
        display: flex;
        align-items: center;
    }

    .signup-view .form-group__input {
        padding: 0.5rem;
        padding-left: 2.3rem;
        border-radius: 12px;
        border: 1px solid #999999;
        outline: none;
        width: 100%;
    }

    .signup-view .form-group__icon {
        position: absolute;
        left: 0.4rem;
        color: #999999;
        border-right: 1px solid #999999;
        padding-right: 0.3rem;
    }

    .signup-view .signup-form__gradient {
        width: 100%;
        height: 100%;
        transform: rotate(-180deg) scaleX(-1);
        border-radius: 40px;
        z-index: 1;
    }

    .signup-view .alert {
        color: #dc3545;
        background-color: #f8d7da;
        border: 1px solid #f5c6cb;
        border-radius: 5px;
        padding: 0.5rem;
        margin-bottom: 1rem;
    }

    .signup-view .btn {
        color: white;
        font-weight: 600;
        text-align: center;
        white-space: nowrap;
        border: 1px solid transparent;
        font-size: 1rem;
        background-color: #29ABE2;
        border-radius: 5px 5px 5px 5px !important;
    }

    .signup-view .btn-secondary {
        background-color: #28a745;
    }

        .signup-view .btn-secondary:hover {
            background-color: #218838 !important;
            border-color: #218838 !important;
        }

    .signup-view .btn-group {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin-top: 1rem;
        width: 100%;
    }

    /* Installment Sale Calculator */
    .currency-option-view p {
        margin-bottom: 0px;
        font-size: 14px;
    }

    .currency-option-view input {
        font-size: 14px;
        text-align: right;
        width: 100%;
    }

    .percentage-option-view p {
        margin-bottom: 0px;
        font-size: 14px;
    }

    .percentage-option-view input {
        font-size: 14px;
        text-align: right;
        width: 100%;
    }

    .integer-option-view p {
        margin-bottom: 0px;
        font-size: 14px;
    }

    .integer-option-view input {
        font-size: 14px;
        text-align: right;
        width: 100%;
    }

    .radio-button-option-view p {
        margin-bottom: 0px;
        font-size: 14px;
    }

    .radio-button-option-view label {
        margin-bottom: 0px;
        font-size: 14px;
    }

    .radio-button-option-view .radio-group {
        margin-bottom: 6px;
        white-space: nowrap;
    }

        .radio-button-option-view .radio-group input {
            margin-left: 20px;
        }

    .data-grid-component {
        display: flex;
        padding-left: 0px;
        padding-right: 0px;
    }

        .data-grid-component .data-grid-table {
            flex: 1;
            background: #ffffff;
        }

            .data-grid-component .data-grid-table p {
                text-align: center;
                margin-top: 0px;
                margin-bottom: 0px;
                font-size: 18px;
                border: 1px solid #333;
                white-space: nowrap;
            }

            .data-grid-component .data-grid-table table {
                width: 100%;
            }

            .data-grid-component .data-grid-table th {
                font-size: 12px;
                font-weight: normal;
                border: 1px solid #dddddd;
                text-align: center;
                background: #F0F0F0;
                white-space: nowrap;
            }

            .data-grid-component .data-grid-table td {
                font-size: 12px;
                border: 1px solid #000000;
                white-space: nowrap;
            }

                .data-grid-component .data-grid-table td.foreground-red {
                    color: red;
                }

    .installment-sale-options {
        width: 100vw;
        background-color: darkgrey;
    }

    .installment-sale-results {
        background: grey;
        overflow: auto;
        display: flex;
        flex-grow: 100;
        justify-content: center;
        align-items: flex-start;
        position: relative;
    }

    .installment-sale-calculator {
        background: grey;
        display: flex;
        flex-direction: column;
        overflow: auto;
        height: calc(100vh - 2.4rem - 7.3rem);
        overflow-x: clip;
    }

        .installment-sale-calculator .top-row {
            background-color: #EEF5FD;
            text-align: center;
        }

        .installment-sale-calculator .zoom-control-toolbar {
            position: sticky;
            bottom: 0px;
            left: 0px;
            right: 0px;
            background: #D2E6FA;
            width: 100%;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            padding-top: 5px;
            padding-bottom: 5px;
            padding-right: 10px;
        }

            .installment-sale-calculator .zoom-control-toolbar .btn {
                font-size: 14px;
                border: 1px solid #666;
                border-radius: 0px;
                padding: 3px;
                margin-right: 5px;
                background: #DDDDDD;
            }

            .installment-sale-calculator .zoom-control-toolbar .slider {
                margin-left: 5px;
                margin-right: 10px;
            }

            .installment-sale-calculator .zoom-control-toolbar .percent-label {
                margin-bottom: 0px;
                margin-right: 10px;
                font-size: 14px;
            }

        .installment-sale-calculator button {
            font-size: 14px;
            padding-top: 0px;
            padding-bottom: 0px;
            border-right: 1px solid #aaa;
            border-radius: 0px;
        }

            .installment-sale-calculator button:first-child {
                padding-left: 0px;
            }

            .installment-sale-calculator button:last-child {
                border-right: none;
            }

        .installment-sale-calculator .lookup-btn {
            background: #ADD8E6;
            border: 1px solid !important;
            padding-left: 12px !important;
            border-radius: 10px;
        }

        .installment-sale-calculator .main .stack {
            background-color: #EEF5FD;
            padding: 10px;
            border-radius: 20px;
            text-align: center;
            margin: 2px;
        }

            .installment-sale-calculator .main .stack .dual-stack {
                display: flex;
                flex-direction: column;
            }

                .installment-sale-calculator .main .stack .dual-stack .stack-group {
                    display: flex;
                    flex: 1;
                    width: 100%;
                }

            .installment-sale-calculator .main .stack .stack-item {
                margin: 3px 5px;
                border-bottom: dashed 1px;
                padding-bottom: 3px;
                flex: 1;
            }

                .installment-sale-calculator .main .stack .stack-item p {
                    font-size: 12px;
                    margin-bottom: 0px;
                }

                .installment-sale-calculator .main .stack .stack-item .customized-input-number .spinner {
                    border-color: rgb(240,240,240);
                    padding-left: 6px;
                }

                .installment-sale-calculator .main .stack .stack-item .customized-input-number input {
                    width: 100%;
                    height: 23px;
                    border: none;
                    text-align: center;
                }

    .InstallmentSale-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .InstallmentSale-letter-wrapper .InstallmentSale-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .InstallmentSale-letter-wrapper .InstallmentSale-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .InstallmentSale-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .InstallmentSale-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .InstallmentSale-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* Amortization Calculator */

    /* AmortizationView styles */
    .Amortization-main {
        display: flex;
        flex-direction: column;
    }

    .AmortizationView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .AmortizationView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .AmortizationView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .AmortizationView .Amortization-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .AmortizationView .Amortization-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .AmortizationView .Amortization-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .AmortizationView .Amortization-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .AmortizationView .Amortization-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .AmortizationView .AmortizationDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

            .AmortizationView .AmortizationDetailsView table thead tr th {
                border-top: 0px;
                text-align: center;
                background-color: #E8F3F9;
            }

                .AmortizationView .AmortizationDetailsView table thead tr th:first-child {
                    border-top-left-radius: 20px;
                }

                .AmortizationView .AmortizationDetailsView table thead tr th:last-child {
                    border-top-right-radius: 20px;
                }

            .AmortizationView .AmortizationDetailsView table tbody tr td {
                border-top: 0px;
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .AmortizationView .Amortization-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .AmortizationView .Amortization-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .AmortizationView .Amortization-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .AmortizationView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .AmortizationView .Amortization-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .AmortizationView .Amortization-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .AmortizationView .Amortization-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .AmortizationView .Amortization-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .AmortizationView .Amortization-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .AmortizationView .Amortization-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .AmortizationView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .AmortizationView .Amortization-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .AmortizationView .customized-input-number .input {
            text-align: center;
        }

        .AmortizationView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .AmortizationView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .AmortizationView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

        .AmortizationView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .AmortizationView .option-input-group div:not(.option-input-title) {
            padding: 3px;
        }

        .AmortizationView .option-input-group div {
            border-radius: 10px;
        }

        .AmortizationView .option-input-group > div:first-child {
            border-radius: 10px 10px 0px 0px;
        }

        .AmortizationView .option-input-group > div:nth-child(2) {
            border-radius: 0px 0px 10px 10px;
        }

        .AmortizationView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .AmortizationView .collapse {
            display: none;
        }

        /* Button styles */
        .AmortizationView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .AmortizationView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .AmortizationView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .AmortizationView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .AmortizationView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .AmortizationView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .AmortizationView th, .AmortizationView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .AmortizationView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .AmortizationView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .AmortizationView input[type="date"],
        .AmortizationView input[type="text"],
        .AmortizationView select,
        .AmortizationView .form-control,
        .AmortizationView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .AmortizationView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .AmortizationView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .AmortizationView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .AmortizationView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .AmortizationView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .AmortizationView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .AmortizationView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .AmortizationView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .AmortizationView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .AmortizationView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .AmortizationView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        .AmortizationView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .AmortizationView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .AmortizationView .nav.nav-tabs {
            border-bottom: none;
        }

        .AmortizationView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .AmortizationView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .AmortizationView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .AmortizationView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .AmortizationView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .AmortizationView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .AmortizationView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .AmortizationView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .AmortizationView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .AmortizationView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .AmortizationView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .AmortizationView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .AmortizationView .progress-bg {
            stroke: #ccc;
        }

        .AmortizationView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .AmortizationView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .AmortizationView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .AmortizationView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .AmortizationView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .AmortizationView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .AmortizationView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .Amortization-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .Amortization-letter-wrapper .Amortization-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .Amortization-letter-wrapper .Amortization-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .Amortization-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .Amortization-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .Amortization-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }


    /* SCIN Calculator */

    /* SCINView styles */
    .SCIN-main {
        display: flex;
        flex-direction: column;
    }

    .SCINView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .SCINView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .SCINView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .SCINView .SCIN-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .SCINView .SCIN-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .SCINView .SCIN-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .SCINView .SCIN-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .SCINView .SCIN-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .SCINView .SCINDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .SCINView .SCIN-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .SCINView .SCINDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .SCINView .SCINDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .SCINView .SCINDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .SCINView .SCINDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .SCINView .SCIN-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .SCINView .SCIN-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .SCINView .SCIN-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .SCINView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .SCINView .SCIN-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .SCINView .SCIN-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .SCINView .SCIN-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .SCINView .SCIN-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .SCINView .SCIN-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .SCINView .SCIN-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .SCINView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .SCINView .SCIN-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .SCINView .customized-input-number .input {
            text-align: center;
        }

        .SCINView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .SCINView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .SCINView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .SCINView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .SCINView .option-input-group div {
                border-radius: 10px;
            }

            .SCINView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .SCINView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .SCINView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .SCINView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .SCINView .collapse {
            display: none;
        }

        /* Button styles */
        .SCINView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .SCINView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .SCINView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .SCINView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .SCINView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .SCINView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .SCINView th, .SCINView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .SCINView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .SCINView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .SCINView input[type="date"],
        .SCINView input[type="text"],
        .SCINView select,
        .SCINView .form-control,
        .SCINView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .SCINView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .SCINView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .SCINView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .SCINView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .SCINView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .SCINView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .SCINView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .SCINView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .SCINView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .SCINView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .SCINView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .SCINView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .SCINView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .SCINView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .SCINView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .SCINView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .SCINView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .SCINView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .SCINView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .SCINView .nav.nav-tabs {
            border-bottom: none;
        }

        .SCINView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .SCINView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .SCINView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .SCINView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .SCINView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .SCINView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .SCINView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .SCINView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .SCINView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .SCINView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .SCINView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .SCINView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .SCINView .progress-bg {
            stroke: #ccc;
        }

        .SCINView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .SCINView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .SCINView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .SCINView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .SCINView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .SCINView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .SCINView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .SCIN-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .SCIN-letter-wrapper .SCIN-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .SCIN-letter-wrapper .SCIN-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .SCIN-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .SCIN-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .SCIN-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* LargeGift Calculator */

    /* LargeGiftView styles */
    .LargeGift-main {
        display: flex;
        flex-direction: column;
    }

    .LargeGiftView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .LargeGiftView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .LargeGiftView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .LargeGiftView .LargeGift-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .LargeGiftView .LargeGift-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .LargeGiftView .LargeGift-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .LargeGiftView .LargeGift-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .LargeGiftView .LargeGift-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .LargeGiftView .LargeGiftDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .LargeGiftView .LargeGift-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .LargeGiftView .LargeGiftDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .LargeGiftView .LargeGiftDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .LargeGiftView .LargeGiftDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .LargeGiftView .LargeGiftDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .LargeGiftView .LargeGift-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .LargeGiftView .LargeGift-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LargeGiftView .LargeGift-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LargeGiftView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .LargeGiftView .LargeGift-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .LargeGiftView .LargeGift-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .LargeGiftView .LargeGift-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .LargeGiftView .LargeGift-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .LargeGiftView .LargeGift-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .LargeGiftView .LargeGift-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .LargeGiftView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .LargeGiftView .LargeGift-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .LargeGiftView .customized-input-number .input {
            text-align: center;
        }

        .LargeGiftView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .LargeGiftView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .LargeGiftView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .LargeGiftView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .LargeGiftView .option-input-group div {
                border-radius: 10px;
            }

            .LargeGiftView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .LargeGiftView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .LargeGiftView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .LargeGiftView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .LargeGiftView .collapse {
            display: none;
        }

        /* Button styles */
        .LargeGiftView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .LargeGiftView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .LargeGiftView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .LargeGiftView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .LargeGiftView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .LargeGiftView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .LargeGiftView th, .LargeGiftView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .LargeGiftView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .LargeGiftView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .LargeGiftView input[type="date"],
        .LargeGiftView input[type="text"],
        .LargeGiftView select,
        .LargeGiftView .form-control,
        .LargeGiftView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .LargeGiftView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .LargeGiftView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .LargeGiftView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .LargeGiftView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .LargeGiftView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .LargeGiftView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .LargeGiftView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .LargeGiftView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .LargeGiftView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .LargeGiftView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .LargeGiftView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .LargeGiftView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .LargeGiftView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .LargeGiftView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .LargeGiftView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .LargeGiftView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .LargeGiftView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .LargeGiftView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .LargeGiftView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .LargeGiftView .nav.nav-tabs {
            border-bottom: none;
        }

        .LargeGiftView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .LargeGiftView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .LargeGiftView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .LargeGiftView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .LargeGiftView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .LargeGiftView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .LargeGiftView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .LargeGiftView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .LargeGiftView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .LargeGiftView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .LargeGiftView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .LargeGiftView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .LargeGiftView .progress-bg {
            stroke: #ccc;
        }

        .LargeGiftView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .LargeGiftView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .LargeGiftView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .LargeGiftView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .LargeGiftView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .LargeGiftView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .LargeGiftView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .LargeGift-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .LargeGift-letter-wrapper .LargeGift-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .LargeGift-letter-wrapper .LargeGift-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .LargeGift-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .LargeGift-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .LargeGift-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* GRAT Calculator */

    /* GRATView styles */
    .GRAT-main {
        display: flex;
        flex-direction: column;
    }

    .GRATView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .GRATView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .GRATView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .GRATView .GRAT-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .GRATView .GRAT-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .GRATView .GRAT-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .GRATView .GRAT-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .GRATView .GRAT-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .GRATView .GRATDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .GRATView .GRAT-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .GRATView .GRATDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .GRATView .GRATDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .GRATView .GRATDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .GRATView .GRATDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .GRATView .GRAT-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .GRATView .GRAT-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .GRATView .GRAT-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .GRATView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .GRATView .GRAT-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .GRATView .GRAT-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .GRATView .GRAT-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .GRATView .GRAT-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .GRATView .GRAT-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .GRATView .GRAT-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .GRATView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .GRATView .GRAT-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .GRATView .customized-input-number .input {
            text-align: center;
        }

        .GRATView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .GRATView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .GRATView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .GRATView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .GRATView .option-input-group div {
                border-radius: 10px;
            }

            .GRATView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .GRATView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .GRATView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .GRATView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .GRATView .collapse {
            display: none;
        }

        /* Button styles */
        .GRATView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .GRATView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .GRATView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .GRATView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .GRATView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .GRATView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .GRATView th, .GRATView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .GRATView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .GRATView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .GRATView input[type="date"],
        .GRATView input[type="text"],
        .GRATView select,
        .GRATView .form-control,
        .GRATView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .GRATView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .GRATView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .GRATView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .GRATView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .GRATView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .GRATView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .GRATView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .GRATView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .GRATView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .GRATView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .GRATView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .GRATView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .GRATView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .GRATView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .GRATView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .GRATView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .GRATView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .GRATView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .GRATView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .GRATView .nav.nav-tabs {
            border-bottom: none;
        }

        .GRATView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .GRATView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .GRATView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .GRATView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .GRATView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .GRATView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .GRATView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .GRATView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .GRATView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .GRATView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .GRATView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .GRATView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .GRATView .progress-bg {
            stroke: #ccc;
        }

        .GRATView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .GRATView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .GRATView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .GRATView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .GRATView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .GRATView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .GRATView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .GRAT-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .GRAT-letter-wrapper .GRAT-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .GRAT-letter-wrapper .GRAT-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .GRAT-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .GRAT-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .GRAT-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* QPRT Calculator */

    /* QPRTView styles */
    .QPRT-main {
        display: flex;
        flex-direction: column;
    }

    .QPRTView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .QPRTView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .QPRTView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .QPRTView .QPRT-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .QPRTView .QPRT-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .QPRTView .QPRT-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .QPRTView .QPRT-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .QPRTView .QPRT-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .QPRTView .QPRTDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .QPRTView .QPRT-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .QPRTView .QPRTDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .QPRTView .QPRTDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .QPRTView .QPRTDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .QPRTView .QPRTDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .QPRTView .QPRT-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .QPRTView .QPRT-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .QPRTView .QPRT-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .QPRTView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .QPRTView .QPRT-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .QPRTView .QPRT-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .QPRTView .QPRT-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .QPRTView .QPRT-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .QPRTView .QPRT-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .QPRTView .QPRT-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .QPRTView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .QPRTView .QPRT-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .QPRTView .customized-input-number .input {
            text-align: center;
        }

        .QPRTView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .QPRTView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .QPRTView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .QPRTView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .QPRTView .option-input-group div {
                border-radius: 0px 0px 10px 10px;
            }

            .QPRTView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

        .QPRTView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .QPRTView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .QPRTView .collapse {
            display: none;
        }

        /* Button styles */
        .QPRTView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .QPRTView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .QPRTView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .QPRTView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .QPRTView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .QPRTView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .QPRTView th, .QPRTView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .QPRTView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .QPRTView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .QPRTView input[type="date"],
        .QPRTView input[type="text"],
        .QPRTView select,
        .QPRTView .form-control,
        .QPRTView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .QPRTView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .QPRTView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .QPRTView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .QPRTView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .QPRTView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .QPRTView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .QPRTView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .QPRTView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .QPRTView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .QPRTView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .QPRTView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .QPRTView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .QPRTView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .QPRTView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .QPRTView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .QPRTView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .QPRTView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .QPRTView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .QPRTView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .QPRTView .nav.nav-tabs {
            border-bottom: none;
        }

        .QPRTView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .QPRTView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .QPRTView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .QPRTView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .QPRTView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .QPRTView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .QPRTView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .QPRTView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .QPRTView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .QPRTView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .QPRTView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .QPRTView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .QPRTView .progress-bg {
            stroke: #ccc;
        }

        .QPRTView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .QPRTView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .QPRTView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .QPRTView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .QPRTView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .QPRTView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .QPRTView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .QPRT-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .QPRT-letter-wrapper .QPRT-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .QPRT-letter-wrapper .QPRT-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .QPRT-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .QPRT-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .QPRT-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }


    /* CLAT Calculator */

    /* CLATView styles */
    .CLAT-main {
        display: flex;
        flex-direction: column;
    }

    .CLATView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .CLATView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .CLATView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .CLATView .CLAT-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .CLATView .CLAT-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .CLATView .CLAT-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .CLATView .CLAT-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .CLATView .CLAT-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .CLATView .CLATDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .CLATView .CLAT-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .CLATView .CLATDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .CLATView .CLATDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .CLATView .CLATDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .CLATView .CLATDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .CLATView .CLAT-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .CLATView .CLAT-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .CLATView .CLAT-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .CLATView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .CLATView .CLAT-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .CLATView .CLAT-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .CLATView .CLAT-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .CLATView .CLAT-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .CLATView .CLAT-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .CLATView .CLAT-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .CLATView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .CLATView .CLAT-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .CLATView .customized-input-number .input {
            text-align: center;
        }

        .CLATView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .CLATView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .CLATView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .CLATView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .CLATView .option-input-group div {
                border-radius: 10px;
            }

            .CLATView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .CLATView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .CLATView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .CLATView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .CLATView .collapse {
            display: none;
        }

        /* Button styles */
        .CLATView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .CLATView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .CLATView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .CLATView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .CLATView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .CLATView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .CLATView th, .CLATView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .CLATView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .CLATView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .CLATView input[type="date"],
        .CLATView input[type="text"],
        .CLATView select,
        .CLATView .form-control,
        .CLATView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .CLATView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .CLATView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .CLATView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .CLATView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .CLATView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .CLATView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .CLATView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .CLATView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .CLATView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .CLATView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .CLATView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .CLATView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .CLATView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .CLATView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .CLATView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .CLATView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .CLATView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .CLATView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .CLATView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .CLATView .nav.nav-tabs {
            border-bottom: none;
        }

        .CLATView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .CLATView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .CLATView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .CLATView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .CLATView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .CLATView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .CLATView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .CLATView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .CLATView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .CLATView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .CLATView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .CLATView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .CLATView .progress-bg {
            stroke: #ccc;
        }

        .CLATView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .CLATView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .CLATView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .CLATView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .CLATView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .CLATView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .CLATView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .CLAT-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .CLAT-letter-wrapper .CLAT-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .CLAT-letter-wrapper .CLAT-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .CLAT-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .CLAT-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .CLAT-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    .shark-fin {
        display: none;
        position: fixed;
        top: 50%;
        z-index: 999999;
    }

    @keyframes moveFin {
        0% {
            transform: translateX(0vw) translateY(0);
        }

        50% {
            transform: translateX(50vw) translateY(-100px);
        }

        100% {
            transform: translateX(100vw) translateY(0);
        }
    }

    .shark-fin-animation {
        animation: moveFin 3s cubic-bezier(.2, .2, .2, .2) forwards;
    }

    .orange-bg {
        background-color: rgb(255, 165, 0, 0.6);
    }

    /* LifeExpectancy Calculator */

    /* LifeExpectancyView styles */
    .LifeExpectancy-main {
        display: flex;
        flex-direction: column;
    }

    .LifeExpectancyView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .LifeExpectancyView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .LifeExpectancyView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .LifeExpectancyView .LifeExpectancy-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .LifeExpectancyView .LifeExpectancy-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .LifeExpectancyView .LifeExpectancy-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .LifeExpectancyView .LifeExpectancy-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .LifeExpectancyView .LifeExpectancy-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .LifeExpectancyView .LifeExpectancyDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .LifeExpectancyView .LifeExpectancy-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .LifeExpectancyView .LifeExpectancyDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .LifeExpectancyView .LifeExpectancyDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .LifeExpectancyView .LifeExpectancyDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .LifeExpectancyView .LifeExpectancyDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .LifeExpectancyView .LifeExpectancy-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .LifeExpectancyView .LifeExpectancy-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LifeExpectancyView .LifeExpectancy-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LifeExpectancyView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .LifeExpectancyView .LifeExpectancy-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .LifeExpectancyView .LifeExpectancy-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .LifeExpectancyView .LifeExpectancy-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .LifeExpectancyView .LifeExpectancy-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .LifeExpectancyView .LifeExpectancy-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .LifeExpectancyView .LifeExpectancy-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .LifeExpectancyView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .LifeExpectancyView .LifeExpectancy-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .LifeExpectancyView .customized-input-number .input {
            text-align: center;
        }

        .LifeExpectancyView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .LifeExpectancyView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .LifeExpectancyView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .LifeExpectancyView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .LifeExpectancyView .option-input-group div {
                border-radius: 10px;
            }

            .LifeExpectancyView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .LifeExpectancyView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .LifeExpectancyView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .LifeExpectancyView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .LifeExpectancyView .collapse {
            display: none;
        }

        /* Button styles */
        .LifeExpectancyView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .LifeExpectancyView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .LifeExpectancyView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .LifeExpectancyView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .LifeExpectancyView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .LifeExpectancyView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .LifeExpectancyView th, .LifeExpectancyView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .LifeExpectancyView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .LifeExpectancyView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .LifeExpectancyView input[type="date"],
        .LifeExpectancyView input[type="text"],
        .LifeExpectancyView select,
        .LifeExpectancyView .form-control,
        .LifeExpectancyView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .LifeExpectancyView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .LifeExpectancyView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .LifeExpectancyView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .LifeExpectancyView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .LifeExpectancyView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .LifeExpectancyView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .LifeExpectancyView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .LifeExpectancyView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .LifeExpectancyView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .LifeExpectancyView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .LifeExpectancyView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .LifeExpectancyView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .LifeExpectancyView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .LifeExpectancyView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .LifeExpectancyView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .LifeExpectancyView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .LifeExpectancyView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .LifeExpectancyView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .LifeExpectancyView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .LifeExpectancyView .nav.nav-tabs {
            border-bottom: none;
        }

        .LifeExpectancyView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .LifeExpectancyView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .LifeExpectancyView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .LifeExpectancyView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .LifeExpectancyView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .LifeExpectancyView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .LifeExpectancyView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .LifeExpectancyView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .LifeExpectancyView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .LifeExpectancyView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .LifeExpectancyView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .LifeExpectancyView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .LifeExpectancyView .progress-bg {
            stroke: #ccc;
        }

        .LifeExpectancyView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .LifeExpectancyView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .LifeExpectancyView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .LifeExpectancyView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .LifeExpectancyView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .LifeExpectancyView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .LifeExpectancyView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .LifeExpectancy-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .LifeExpectancy-letter-wrapper .LifeExpectancy-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .LifeExpectancy-letter-wrapper .LifeExpectancy-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .LifeExpectancy-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .LifeExpectancy-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .LifeExpectancy-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* NEST Calculator */

    /* NESTView styles */
    .NEST-main {
        display: flex;
        flex-direction: column;
    }

    .NESTView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .NESTView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .NESTView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .NESTView .NEST-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .NESTView .NEST-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .NESTView .NEST-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .NESTView .NEST-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .NESTView .NEST-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .NESTView .NESTDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .NESTView .NEST-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .NESTView .NESTDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .NESTView .NESTDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .NESTView .NESTDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .NESTView .NESTDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .NESTView .NEST-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .NESTView .NEST-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .NESTView .NEST-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .NESTView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .NESTView .NEST-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .NESTView .NEST-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .NESTView .NEST-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .NESTView .NEST-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .NESTView .NEST-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .NESTView .NEST-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .NESTView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .NESTView .NEST-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .NESTView .customized-input-number .input {
            text-align: center;
        }

        .NESTView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .NESTView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .NESTView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .NESTView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .NESTView .option-input-group div {
                border-radius: 10px;
            }

            .NESTView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .NESTView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .NESTView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .NESTView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .NESTView .collapse {
            display: none;
        }

        /* Button styles */
        .NESTView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .NESTView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .NESTView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .NESTView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .NESTView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .NESTView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .NESTView th, .NESTView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .NESTView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .NESTView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .NESTView input[type="date"],
        .NESTView input[type="text"],
        .NESTView select,
        .NESTView .form-control,
        .NESTView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .NESTView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .NESTView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .NESTView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .NESTView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .NESTView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .NESTView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .NESTView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .NESTView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .NESTView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .NESTView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .NESTView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .NESTView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .NESTView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .NESTView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .NESTView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .NESTView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .NESTView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .NESTView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .NESTView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .NESTView .nav.nav-tabs {
            border-bottom: none;
        }

        .NESTView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .NESTView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .NESTView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .NESTView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .NESTView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .NESTView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .NESTView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .NESTView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .NESTView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .NESTView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .NESTView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .NESTView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .NESTView .progress-bg {
            stroke: #ccc;
        }

        .NESTView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .NESTView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .NESTView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .NESTView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .NESTView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .NESTView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .NESTView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .NEST-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .NEST-letter-wrapper .NEST-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .NEST-letter-wrapper .NEST-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .NEST-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .NEST-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .NEST-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* CurrentInvestments View */
    .CurrentInvestmentsView {
        border: 1px solid #e1e1e1;
        border-radius: 5px;
        background-color: #f9f9f9;
        margin-top: 5px;
    }

        .CurrentInvestmentsView h3 {
            text-align: center;
        }

    /* Targets View */
    .TargetsView {
        border: 1px solid #e1e1e1;
        border-radius: 5px;
        background-color: #f9f9f9;
        margin-top: 5px;
    }

        .TargetsView h3 {
            text-align: center;
        }

    /* One Time Expenses View */
    .OneTimeExpensesView {
        border: 1px solid #e1e1e1;
        border-radius: 5px;
        background-color: #f9f9f9;
        display: flex;
        flex-direction: column;
        margin-top: 5px;
        padding: 5px;
    }

        .OneTimeExpensesView h3 {
            text-align: center;
        }

        /* Table styling */
        .OneTimeExpensesView table {
            width: 100%;
            border-collapse: collapse;
        }

        .OneTimeExpensesView th, .OneTimeExpensesView td {
            border-bottom: 1px solid #e1e1e1;
            min-width: unset !important;
            padding: 1px 3px;
            text-align: center;
        }

            .OneTimeExpensesView td span {
                display: block;
                margin: 2px;
                padding: 2px;
                border: 1px solid lightgray;
                border-radius: 5px;
                background-color: white;
            }

        .OneTimeExpensesView th {
            background-color: #e0e0e0;
            font-weight: 600;
        }

        .OneTimeExpensesView tr:hover {
            background-color: #f5f5f5;
        }

        .OneTimeExpensesView tr:nth-child(even) {
            background-color: #f2f2f2;
        }

        .OneTimeExpensesView button {
            padding: 6px 12px;
            background-color: red;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: background-color 0.2s;
        }

            .OneTimeExpensesView button:hover {
                background-color: darkred;
            }

        .OneTimeExpensesView .showAddOptionsButton {
            width: auto;
            padding: 2px;
            align-self: center;
            background-color: gray;
        }

            .OneTimeExpensesView .showAddOptionsButton:hover {
                background-color: darkgray;
            }

        .OneTimeExpensesView .add-expense {
            border: 1px solid #e1e1e1;
            padding: 10px;
            border-radius: 5px;
        }

            .OneTimeExpensesView .add-expense fieldset {
                border: none;
                padding: 0;
            }

            .OneTimeExpensesView .add-expense legend {
                font-weight: bold;
                margin-bottom: 10px;
            }

        .OneTimeExpensesView .input-row {
            display: flex;
            align-items: center;
            margin-bottom: 10px;
            justify-content: center;
        }

            .OneTimeExpensesView .input-row label {
                flex: 2;
                margin-right: 10px;
            }

            .OneTimeExpensesView .input-row input {
                flex: 3;
                padding: 5px 10px;
                border: 1px solid #ccc;
                border-radius: 4px;
            }

        .OneTimeExpensesView .add-expense button {
            padding: 0px;
            background-color: #007BFF;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            transition: background-color 0.2s;
            white-space: nowrap;
            height: 24px;
            width: 24px;
            margin: 2px;
        }

            .OneTimeExpensesView .add-expense button:hover {
                background-color: #0056b3;
            }

        .OneTimeExpensesView .add-expense .control-buttons button {
            width: auto;
            padding: 2px 4px;
        }

    .NESTLogisticsView-parent {
        display: flex;
        flex-grow: 100;
        flex-shrink: 0;
        position: relative;
        overflow: auto;
    }

    .NESTLogisticsView {
        width: fit-content;
    }

        .NESTLogisticsView table {
            width: unset;
        }

        .NESTLogisticsView td {
            border: solid 1px black;
            vertical-align: top;
            white-space: nowrap;
            padding: 1px 2px;
        }

            .NESTLogisticsView td.no-borders {
                border: none;
            }

    /* EstatePlanningManagement Calculator */

    /* EstatePlanningManagementView styles */
    .EstatePlanningManagement-main {
        display: flex;
        flex-direction: column;
    }

    .EstatePlanningManagementView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 10rem);
    }

        .EstatePlanningManagementView .EstatePlanningManagement-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            border-right: 1px solid #ccc;
            overflow: auto;
            width: 340px;
            padding: 0px 3px;
        }

            .EstatePlanningManagementView .EstatePlanningManagement-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .EstatePlanningManagementView .EstatePlanningManagement-side-panel .alert {
                bottom: 0;
                position: sticky;
            }

        .EstatePlanningManagementView .EstatePlanningManagement-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
        }

        .EstatePlanningManagementView .EstatePlanningManagement-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .EstatePlanningManagementView .EstatePlanningManagementDetailsView {
            display: flex;
            flex-direction: column;
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

            .EstatePlanningManagementView .EstatePlanningManagementDetailsView table thead tr th {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
            }

            .EstatePlanningManagementView .EstatePlanningManagementDetailsView table tbody tr td {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .EstatePlanningManagementView .EstatePlanningManagement-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .EstatePlanningManagementView .EstatePlanningManagement-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .EstatePlanningManagementView .EstatePlanningManagement-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .EstatePlanningManagementView .EstatePlanningManagement-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .EstatePlanningManagementView .EstatePlanningManagement-summaries-tables table {
                width: min-content;
            }

                .EstatePlanningManagementView .EstatePlanningManagement-summaries-tables table thead tr th {
                    border: 1px solid rgb(221, 221, 221);
                    border-top: 0px;
                    text-align: center;
                }

                .EstatePlanningManagementView .EstatePlanningManagement-summaries-tables table tbody tr td {
                    border: 1px solid rgb(221, 221, 221);
                    border-top: 0px;
                    text-align: center;
                    padding: 0px 6px;
                    white-space: nowrap;
                }

        .EstatePlanningManagementView .EstatePlanningManagement-summaries-table-parent {
            display: flex;
            flex-grow: 100;
            flex-shrink: 0;
            position: relative;
            overflow: auto;
        }

        .EstatePlanningManagementView .EstatePlanningManagement-summaries-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .EstatePlanningManagementView .EstatePlanningManagement-summaries-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .EstatePlanningManagementView .EstatePlanningManagement-options-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .EstatePlanningManagementView .EstatePlanningManagement-options-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .EstatePlanningManagementView .collapse {
            display: none;
        }


        /* Button styles */
        .EstatePlanningManagementView button {
            background-color: #007BFF;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .EstatePlanningManagementView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .EstatePlanningManagementView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .EstatePlanningManagementView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .EstatePlanningManagementView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .EstatePlanningManagementView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .EstatePlanningManagementView th, .EstatePlanningManagementView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .EstatePlanningManagementView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .EstatePlanningManagementView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .EstatePlanningManagementView input[type="date"],
        .EstatePlanningManagementView input[type="text"],
        .EstatePlanningManagementView select,
        .EstatePlanningManagementView .form-control,
        .EstatePlanningManagementView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .EstatePlanningManagementView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .EstatePlanningManagementView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .EstatePlanningManagementView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .EstatePlanningManagementView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .EstatePlanningManagementView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .EstatePlanningManagementView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .EstatePlanningManagementView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .EstatePlanningManagementView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .EstatePlanningManagementView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .EstatePlanningManagementView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .EstatePlanningManagementView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        .EstatePlanningManagementView .tabs-container {
            margin-top: 2px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .EstatePlanningManagementView .nav-tabs .nav-link {
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
            border-bottom-color: transparent;
            color: #333;
        }

            .EstatePlanningManagementView .nav-tabs .nav-link.active {
                background-color: rgba(30, 144, 255, 0.4);
                border-color: #dee2e6 #dee2e6 transparent;
                color: #333;
                font-weight: bold;
            }

        .EstatePlanningManagementView .tab-content {
            border: 1px solid #dee2e6;
            border-top: none;
            padding: 16px;
            background-color: #fff;
            overflow: auto;
            display: flex;
            flex-grow: 100;
            flex-shrink: 0;
            justify-content: center;
            align-items: center;
            position: relative;
            flex-direction: column;
        }

        .EstatePlanningManagementView .tab-pane {
            height: 100%;
            width: 100%;
        }

        /* Scroll to Top Button */
        .EstatePlanningManagementView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .EstatePlanningManagementView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .EstatePlanningManagementView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .EstatePlanningManagementView .progress-bg {
            stroke: #ccc;
        }

        .EstatePlanningManagementView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        .EstatePlanningManagementView .zoom-control-toolbar {
            position: sticky;
            bottom: 0px;
            left: 0px;
            right: 0px;
            background: #D2E6FA;
            width: 100%;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            padding-top: 5px;
            padding-bottom: 5px;
            padding-right: 10px;
        }

            .EstatePlanningManagementView .zoom-control-toolbar .btn {
                font-size: 14px;
                border: 1px solid #666;
                border-radius: 0px;
                padding: 3px;
                margin-right: 5px;
                background: #DDDDDD;
                color: black;
            }

            .EstatePlanningManagementView .zoom-control-toolbar .slider {
                margin-left: 5px;
                margin-right: 10px;
            }

            .EstatePlanningManagementView .zoom-control-toolbar .percent-label {
                margin-bottom: 0px;
                margin-right: 10px;
                font-size: 14px;
            }

    .EstatePlanningManagement-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

        .EstatePlanningManagement-letter-wrapper .EstatePlanningManagement-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .EstatePlanningManagement-letter-wrapper .EstatePlanningManagement-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .EstatePlanningManagement-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .EstatePlanningManagement-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .EstatePlanningManagement-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* LifeInsuranceTotals Calculator */

    /* LifeInsuranceTotalsView styles */
    .LifeInsuranceTotals-main {
        display: flex;
        flex-direction: column;
    }

    .LifeInsuranceTotalsView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        /*    .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel {
        flex: 1;
        display: flex;
        flex-direction: column;
        border-right: 1px solid #ccc;
        height: calc(100vh - 2.6rem - 2.2rem);
        overflow: auto;
        width: 340px;
        padding: 0px 3px;
    }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel tbody tr td:first-child {
            max-width: 12em;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel .alert {
            bottom: 0;
            position: sticky;
        }*/

        .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotalsDetailsView {
            display: flex;
            flex-direction: column;
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

            .LifeInsuranceTotalsView .LifeInsuranceTotalsDetailsView table thead tr th {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
            }

            .LifeInsuranceTotalsView .LifeInsuranceTotalsDetailsView table tbody tr td {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

            .LifeInsuranceTotalsView .LifeInsuranceTotals-details-tables ul li:not(:last-child) {
                margin-bottom: 0.75rem;
            }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LifeInsuranceTotalsView .LifeInsuranceTotals-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-side-panel.fullscreen {
            width: 100vw !important;
            padding: 1vh 20vw;
            margin-right: 5%;
            margin-left: 5%;
        }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LifeInsuranceTotalsView .LifeInsuranceTotals-summaries-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LifeInsuranceTotalsView .LifeInsuranceTotals-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .LifeInsuranceTotalsView .collapse {
            display: none;
        }


        .LifeInsuranceTotalsView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        /* Button styles */
        .LifeInsuranceTotalsView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .LifeInsuranceTotalsView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .LifeInsuranceTotalsView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .LifeInsuranceTotalsView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .LifeInsuranceTotalsView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .LifeInsuranceTotalsView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .LifeInsuranceTotalsView th, .LifeInsuranceTotalsView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .LifeInsuranceTotalsView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .LifeInsuranceTotalsView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .LifeInsuranceTotalsView input[type="date"],
        .LifeInsuranceTotalsView input[type="text"],
        .LifeInsuranceTotalsView select,
        .LifeInsuranceTotalsView .form-control,
        .LifeInsuranceTotalsView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .LifeInsuranceTotalsView .customized-input-number .input {
            text-align: center;
        }

        .LifeInsuranceTotalsView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .LifeInsuranceTotalsView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .LifeInsuranceTotalsView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .LifeInsuranceTotalsView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .LifeInsuranceTotalsView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .LifeInsuranceTotalsView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .LifeInsuranceTotalsView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .LifeInsuranceTotalsView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .LifeInsuranceTotalsView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .LifeInsuranceTotalsView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .LifeInsuranceTotalsView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        .LifeInsuranceTotalsView .tabs-container {
            margin-top: 2px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .LifeInsuranceTotalsView .nav-tabs .nav-link {
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
            border-bottom-color: transparent;
            color: #333;
        }

            .LifeInsuranceTotalsView .nav-tabs .nav-link.active {
                background-color: rgba(30, 144, 255, 0.4);
                border-color: #dee2e6 #dee2e6 transparent;
                color: #333;
                font-weight: bold;
            }

        .LifeInsuranceTotalsView .tab-content {
            border: 1px solid #dee2e6;
            border-top: none;
            padding: 16px;
            background-color: #fff;
            overflow: auto;
            display: flex;
            flex-grow: 100;
            flex-shrink: 0;
            justify-content: center;
            align-items: center;
            position: relative;
            flex-direction: column;
        }

        .LifeInsuranceTotalsView .tab-pane {
            height: 100%;
            width: 100%;
        }

        /* Scroll to Top Button */
        .LifeInsuranceTotalsView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .LifeInsuranceTotalsView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .LifeInsuranceTotalsView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .LifeInsuranceTotalsView .progress-bg {
            stroke: #ccc;
        }

        .LifeInsuranceTotalsView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        .LifeInsuranceTotalsView .zoom-control-toolbar {
            position: sticky;
            bottom: 0px;
            left: 0px;
            right: 0px;
            background: #F5F5F5;
            width: 100%;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            padding-top: 5px;
            padding-bottom: 5px;
            padding-right: 10px;
            border-bottom-left-radius: 20px;
            border-bottom-right-radius: 20px;
        }

            .LifeInsuranceTotalsView .zoom-control-toolbar .btn {
                font-size: 14px;
                border-radius: 6px;
                padding: 3px 5px;
                margin-right: 5px;
                background: #4AAEE1;
                color: white;
                font-weight: 500;
            }

            .LifeInsuranceTotalsView .zoom-control-toolbar .slider {
                margin-left: 5px;
                margin-right: 10px;
            }

            .LifeInsuranceTotalsView .zoom-control-toolbar .percent-label {
                margin-bottom: 0px;
                margin-right: 10px;
                font-size: 14px;
            }

            .LifeInsuranceTotalsView .zoom-control-toolbar input {
                accent-color: #4AAEE1;
            }

    .LifeInsuranceTotals-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

        .LifeInsuranceTotals-letter-wrapper .LifeInsuranceTotals-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .LifeInsuranceTotals-letter-wrapper .LifeInsuranceTotals-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .LifeInsuranceTotals-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .LifeInsuranceTotals-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .LifeInsuranceTotals-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* LetterWriter Calculator */

    /* LetterWriterView styles */
    .LetterWriter-main {
        display: flex;
        flex-direction: column;
    }

    .LetterWriterView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 10rem);
    }

        .LetterWriterView .LetterWriter-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            border-right: 1px solid #ccc;
            overflow: auto;
            width: 340px;
            padding: 0px 3px;
        }

            .LetterWriterView .LetterWriter-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .LetterWriterView .LetterWriter-side-panel .alert {
                bottom: 0;
                position: sticky;
            }

        .LetterWriterView .LetterWriter-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
        }

        .LetterWriterView .LetterWriter-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .LetterWriterView .LetterWriterDetailsView {
            display: flex;
            flex-direction: column;
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: 100%;
        }

            .LetterWriterView .LetterWriterDetailsView .LetterContainer {
                margin: 40px auto;
                padding: 40px;
                background-color: #fff;
                color: #000;
                border: 1px solid #ddd;
                box-shadow: none;
                font-family: 'Times New Roman';
            }

                .LetterWriterView .LetterWriterDetailsView .LetterContainer p {
                    font-size: 12pt;
                    line-height: 1;
                    margin-bottom: 12pt;
                    text-align: justify;
                    word-spacing: normal;
                    letter-spacing: normal;
                    text-indent: 40px;
                }

                .LetterWriterView .LetterWriterDetailsView .LetterContainer span {
                    font-size: 12pt;
                    text-align: justify;
                    word-spacing: normal;
                    letter-spacing: normal;
                }

            .LetterWriterView .LetterWriterDetailsView table thead tr th {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
            }

            .LetterWriterView .LetterWriterDetailsView table tbody tr td {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .LetterWriterView .LetterWriter-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .LetterWriterView .LetterWriter-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LetterWriterView .LetterWriter-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LetterWriterView .LetterWriter-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .LetterWriterView .LetterWriter-summaries-tables table {
                width: min-content;
            }

                .LetterWriterView .LetterWriter-summaries-tables table thead tr th {
                    border: 1px solid rgb(221, 221, 221);
                    border-top: 0px;
                    text-align: center;
                }

                .LetterWriterView .LetterWriter-summaries-tables table tbody tr td {
                    border: 1px solid rgb(221, 221, 221);
                    border-top: 0px;
                    text-align: center;
                    padding: 0px 6px;
                    white-space: nowrap;
                }

        .LetterWriterView .LetterWriter-summaries-table-parent {
            display: flex;
            flex-grow: 100;
            flex-shrink: 0;
            position: relative;
            overflow: auto;
        }

        .LetterWriterView .LetterWriter-summaries-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LetterWriterView .LetterWriter-summaries-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LetterWriterView .LetterWriter-options-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LetterWriterView .LetterWriter-options-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LetterWriterView .collapse {
            display: none;
        }


        /* Button styles */
        .LetterWriterView button {
            background-color: #007BFF;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .LetterWriterView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .LetterWriterView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .LetterWriterView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .LetterWriterView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .LetterWriterView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .LetterWriterView th, .LetterWriterView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .LetterWriterView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .LetterWriterView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .LetterWriterView input[type="date"],
        .LetterWriterView input[type="text"],
        .LetterWriterView select,
        .LetterWriterView .form-control,
        .LetterWriterView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .LetterWriterView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .LetterWriterView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .LetterWriterView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .LetterWriterView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .LetterWriterView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .LetterWriterView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .LetterWriterView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .LetterWriterView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .LetterWriterView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .LetterWriterView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .LetterWriterView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        .LetterWriterView .tabs-container {
            margin-top: 2px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .LetterWriterView .nav-tabs .nav-link {
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
            border-bottom-color: transparent;
            color: #333;
        }

            .LetterWriterView .nav-tabs .nav-link.active {
                background-color: rgba(30, 144, 255, 0.4);
                border-color: #dee2e6 #dee2e6 transparent;
                color: #333;
                font-weight: bold;
            }

        .LetterWriterView .tab-content {
            border: 1px solid #dee2e6;
            border-top: none;
            padding: 16px;
            background-color: #fff;
            overflow: auto;
            display: flex;
            flex-grow: 100;
            flex-shrink: 0;
            justify-content: center;
            align-items: center;
            position: relative;
            flex-direction: column;
        }

        .LetterWriterView .tab-pane {
            height: 100%;
            width: 100%;
        }

        /* Scroll to Top Button */
        .LetterWriterView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .LetterWriterView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .LetterWriterView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .LetterWriterView .progress-bg {
            stroke: #ccc;
        }

        .LetterWriterView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        .LetterWriterView .zoom-control-toolbar {
            position: sticky;
            bottom: 0px;
            left: 0px;
            right: 0px;
            background: #D2E6FA;
            width: 100%;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            padding-top: 5px;
            padding-bottom: 5px;
            padding-right: 10px;
        }

            .LetterWriterView .zoom-control-toolbar .btn {
                font-size: 14px;
                border: 1px solid #666;
                border-radius: 0px;
                padding: 3px;
                margin-right: 5px;
                background: #DDDDDD;
                color: black;
            }

            .LetterWriterView .zoom-control-toolbar .slider {
                margin-left: 5px;
                margin-right: 10px;
            }

            .LetterWriterView .zoom-control-toolbar .percent-label {
                margin-bottom: 0px;
                margin-right: 10px;
                font-size: 14px;
            }

    .LetterWriter-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

        .LetterWriter-letter-wrapper .LetterWriter-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .LetterWriter-letter-wrapper .LetterWriter-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .LetterWriter-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .LetterWriter-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .LetterWriter-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* MonteCarlo Calculator */

    /* MonteCarloView styles */
    .MonteCarlo-main {
        display: flex;
        flex-direction: column;
    }

    .MonteCarloView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .MonteCarloView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .MonteCarloView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .MonteCarloView .MonteCarlo-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .MonteCarloView .MonteCarlo-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .MonteCarloView .MonteCarlo-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .MonteCarloView .MonteCarlo-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .MonteCarloView .MonteCarlo-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .MonteCarloView .MonteCarloDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .MonteCarloView .MonteCarlo-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .MonteCarloView .MonteCarloDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .MonteCarloView .MonteCarloDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .MonteCarloView .MonteCarloDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .MonteCarloView .MonteCarloDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .MonteCarloView .MonteCarlo-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .MonteCarloView .MonteCarlo-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .MonteCarloView .MonteCarlo-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .MonteCarloView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .MonteCarloView .MonteCarlo-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .MonteCarloView .MonteCarlo-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .MonteCarloView .MonteCarlo-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .MonteCarloView .MonteCarlo-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .MonteCarloView .MonteCarlo-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .MonteCarloView .MonteCarlo-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .MonteCarloView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .MonteCarloView .MonteCarlo-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .MonteCarloView .customized-input-number .input {
            text-align: center;
        }

        .MonteCarloView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .MonteCarloView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .MonteCarloView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .MonteCarloView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .MonteCarloView .option-input-group div {
                border-radius: 10px;
            }

            .MonteCarloView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .MonteCarloView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .MonteCarloView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .MonteCarloView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .MonteCarloView .collapse {
            display: none;
        }

        /* Button styles */
        .MonteCarloView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .MonteCarloView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .MonteCarloView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .MonteCarloView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .MonteCarloView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .MonteCarloView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .MonteCarloView th, .MonteCarloView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .MonteCarloView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .MonteCarloView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .MonteCarloView input[type="date"],
        .MonteCarloView input[type="text"],
        .MonteCarloView select,
        .MonteCarloView .form-control,
        .MonteCarloView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .MonteCarloView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .MonteCarloView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .MonteCarloView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .MonteCarloView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .MonteCarloView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .MonteCarloView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .MonteCarloView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .MonteCarloView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .MonteCarloView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .MonteCarloView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .MonteCarloView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .MonteCarloView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .MonteCarloView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .MonteCarloView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .MonteCarloView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .MonteCarloView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .MonteCarloView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .MonteCarloView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .MonteCarloView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .MonteCarloView .nav.nav-tabs {
            border-bottom: none;
        }

        .MonteCarloView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .MonteCarloView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .MonteCarloView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .MonteCarloView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .MonteCarloView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .MonteCarloView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .MonteCarloView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .MonteCarloView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .MonteCarloView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .MonteCarloView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .MonteCarloView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .MonteCarloView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .MonteCarloView .progress-bg {
            stroke: #ccc;
        }

        .MonteCarloView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .MonteCarloView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .MonteCarloView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .MonteCarloView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .MonteCarloView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .MonteCarloView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .MonteCarloView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .MonteCarlo-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .MonteCarlo-letter-wrapper .MonteCarlo-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .MonteCarlo-letter-wrapper .MonteCarlo-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .MonteCarlo-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .MonteCarlo-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .MonteCarlo-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* ValuationDiscountCalculator Calculator */

    /* ValuationDiscountCalculatorView styles */
    .ValuationDiscountCalculator-main {
        display: flex;
        flex-direction: column;
    }

    .ValuationDiscountCalculatorView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .ValuationDiscountCalculatorView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .ValuationDiscountCalculatorView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .ValuationDiscountCalculatorView .ValuationDiscountCalculator-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .ValuationDiscountCalculatorView .ValuationDiscountCalculator-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculatorDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculatorDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculatorDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculatorDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculatorDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .ValuationDiscountCalculatorView .ValuationDiscountCalculator-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .ValuationDiscountCalculatorView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .ValuationDiscountCalculatorView .ValuationDiscountCalculator-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .ValuationDiscountCalculatorView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .ValuationDiscountCalculatorView .ValuationDiscountCalculator-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .ValuationDiscountCalculatorView .customized-input-number .input {
            text-align: center;
        }

        .ValuationDiscountCalculatorView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .ValuationDiscountCalculatorView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .ValuationDiscountCalculatorView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .ValuationDiscountCalculatorView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .ValuationDiscountCalculatorView .option-input-group div {
                border-radius: 10px;
            }

            .ValuationDiscountCalculatorView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .ValuationDiscountCalculatorView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .ValuationDiscountCalculatorView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .ValuationDiscountCalculatorView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .ValuationDiscountCalculatorView .collapse {
            display: none;
        }

        /* Button styles */
        .ValuationDiscountCalculatorView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .ValuationDiscountCalculatorView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .ValuationDiscountCalculatorView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .ValuationDiscountCalculatorView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .ValuationDiscountCalculatorView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .ValuationDiscountCalculatorView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .ValuationDiscountCalculatorView th, .ValuationDiscountCalculatorView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .ValuationDiscountCalculatorView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .ValuationDiscountCalculatorView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .ValuationDiscountCalculatorView input[type="date"],
        .ValuationDiscountCalculatorView input[type="text"],
        .ValuationDiscountCalculatorView select,
        .ValuationDiscountCalculatorView .form-control,
        .ValuationDiscountCalculatorView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .ValuationDiscountCalculatorView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .ValuationDiscountCalculatorView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .ValuationDiscountCalculatorView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .ValuationDiscountCalculatorView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .ValuationDiscountCalculatorView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .ValuationDiscountCalculatorView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .ValuationDiscountCalculatorView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .ValuationDiscountCalculatorView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .ValuationDiscountCalculatorView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .ValuationDiscountCalculatorView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .ValuationDiscountCalculatorView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .ValuationDiscountCalculatorView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .ValuationDiscountCalculatorView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .ValuationDiscountCalculatorView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .ValuationDiscountCalculatorView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .ValuationDiscountCalculatorView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .ValuationDiscountCalculatorView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .ValuationDiscountCalculatorView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .ValuationDiscountCalculatorView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .ValuationDiscountCalculatorView .nav.nav-tabs {
            border-bottom: none;
        }

        .ValuationDiscountCalculatorView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .ValuationDiscountCalculatorView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .ValuationDiscountCalculatorView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .ValuationDiscountCalculatorView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .ValuationDiscountCalculatorView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .ValuationDiscountCalculatorView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .ValuationDiscountCalculatorView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .ValuationDiscountCalculatorView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .ValuationDiscountCalculatorView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .ValuationDiscountCalculatorView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .ValuationDiscountCalculatorView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .ValuationDiscountCalculatorView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .ValuationDiscountCalculatorView .progress-bg {
            stroke: #ccc;
        }

        .ValuationDiscountCalculatorView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .ValuationDiscountCalculatorView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .ValuationDiscountCalculatorView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .ValuationDiscountCalculatorView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .ValuationDiscountCalculatorView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .ValuationDiscountCalculatorView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .ValuationDiscountCalculatorView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .ValuationDiscountCalculator-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .ValuationDiscountCalculator-letter-wrapper .ValuationDiscountCalculator-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .ValuationDiscountCalculator-letter-wrapper .ValuationDiscountCalculator-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .ValuationDiscountCalculator-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .ValuationDiscountCalculator-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .ValuationDiscountCalculator-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* ValuationDiscountBusinessCalculator Calculator */

    /* ValuationDiscountBusinessCalculatorView styles */
    .ValuationDiscountBusinessCalculator-main {
        display: flex;
        flex-direction: column;
    }

    .ValuationDiscountBusinessCalculatorView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .ValuationDiscountBusinessCalculatorView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .ValuationDiscountBusinessCalculatorView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculatorDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculatorDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculatorDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculatorDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculatorDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .ValuationDiscountBusinessCalculatorView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .ValuationDiscountBusinessCalculatorView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .ValuationDiscountBusinessCalculatorView .ValuationDiscountBusinessCalculator-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .ValuationDiscountBusinessCalculatorView .customized-input-number .input {
            text-align: center;
        }

        .ValuationDiscountBusinessCalculatorView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .ValuationDiscountBusinessCalculatorView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .ValuationDiscountBusinessCalculatorView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .ValuationDiscountBusinessCalculatorView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .ValuationDiscountBusinessCalculatorView .option-input-group div {
                border-radius: 10px;
            }

            .ValuationDiscountBusinessCalculatorView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .ValuationDiscountBusinessCalculatorView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .ValuationDiscountBusinessCalculatorView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .ValuationDiscountBusinessCalculatorView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .ValuationDiscountBusinessCalculatorView .collapse {
            display: none;
        }

        /* Button styles */
        .ValuationDiscountBusinessCalculatorView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .ValuationDiscountBusinessCalculatorView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .ValuationDiscountBusinessCalculatorView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .ValuationDiscountBusinessCalculatorView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .ValuationDiscountBusinessCalculatorView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .ValuationDiscountBusinessCalculatorView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .ValuationDiscountBusinessCalculatorView th, .ValuationDiscountBusinessCalculatorView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .ValuationDiscountBusinessCalculatorView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .ValuationDiscountBusinessCalculatorView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .ValuationDiscountBusinessCalculatorView input[type="date"],
        .ValuationDiscountBusinessCalculatorView input[type="text"],
        .ValuationDiscountBusinessCalculatorView select,
        .ValuationDiscountBusinessCalculatorView .form-control,
        .ValuationDiscountBusinessCalculatorView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .ValuationDiscountBusinessCalculatorView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .ValuationDiscountBusinessCalculatorView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .ValuationDiscountBusinessCalculatorView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .ValuationDiscountBusinessCalculatorView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .ValuationDiscountBusinessCalculatorView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .ValuationDiscountBusinessCalculatorView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .ValuationDiscountBusinessCalculatorView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .ValuationDiscountBusinessCalculatorView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .ValuationDiscountBusinessCalculatorView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .ValuationDiscountBusinessCalculatorView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .ValuationDiscountBusinessCalculatorView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .ValuationDiscountBusinessCalculatorView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .ValuationDiscountBusinessCalculatorView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .ValuationDiscountBusinessCalculatorView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .ValuationDiscountBusinessCalculatorView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .ValuationDiscountBusinessCalculatorView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .ValuationDiscountBusinessCalculatorView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .ValuationDiscountBusinessCalculatorView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .ValuationDiscountBusinessCalculatorView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .ValuationDiscountBusinessCalculatorView .nav.nav-tabs {
            border-bottom: none;
        }

        .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .ValuationDiscountBusinessCalculatorView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .ValuationDiscountBusinessCalculatorView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .ValuationDiscountBusinessCalculatorView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .ValuationDiscountBusinessCalculatorView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .ValuationDiscountBusinessCalculatorView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .ValuationDiscountBusinessCalculatorView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .ValuationDiscountBusinessCalculatorView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .ValuationDiscountBusinessCalculatorView .progress-bg {
            stroke: #ccc;
        }

        .ValuationDiscountBusinessCalculatorView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .ValuationDiscountBusinessCalculatorView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .ValuationDiscountBusinessCalculatorView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .ValuationDiscountBusinessCalculatorView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .ValuationDiscountBusinessCalculatorView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .ValuationDiscountBusinessCalculatorView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .ValuationDiscountBusinessCalculatorView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .ValuationDiscountBusinessCalculator-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .ValuationDiscountBusinessCalculator-letter-wrapper .ValuationDiscountBusinessCalculator-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .ValuationDiscountBusinessCalculator-letter-wrapper .ValuationDiscountBusinessCalculator-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .ValuationDiscountBusinessCalculator-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .ValuationDiscountBusinessCalculator-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .ValuationDiscountBusinessCalculator-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* LeveragedGRAT Calculator */

    /* LeveragedGRATView styles */
    .LeveragedGRAT-main {
        display: flex;
        flex-direction: column;
    }

    .LeveragedGRATView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 10rem);
    }

        .LeveragedGRATView .LeveragedGRAT-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            border-right: 1px solid #ccc;
            overflow: auto;
            width: 340px;
            padding: 0px 3px;
        }

            .LeveragedGRATView .LeveragedGRAT-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .LeveragedGRATView .LeveragedGRAT-side-panel .alert {
                bottom: 0;
                position: sticky;
            }

        .LeveragedGRATView .LeveragedGRAT-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
        }

        .LeveragedGRATView .LeveragedGRAT-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .LeveragedGRATView .LeveragedGRATDetailsView {
            display: flex;
            flex-direction: column;
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

            .LeveragedGRATView .LeveragedGRATDetailsView table thead tr th {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
            }

            .LeveragedGRATView .LeveragedGRATDetailsView table tbody tr td {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .LeveragedGRATView .LeveragedGRAT-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .LeveragedGRATView .LeveragedGRAT-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LeveragedGRATView .LeveragedGRAT-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LeveragedGRATView .LeveragedGRAT-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .LeveragedGRATView .LeveragedGRAT-summaries-tables table {
                width: min-content;
            }

                .LeveragedGRATView .LeveragedGRAT-summaries-tables table thead tr th {
                    border: 1px solid rgb(221, 221, 221);
                    border-top: 0px;
                    text-align: center;
                }

                .LeveragedGRATView .LeveragedGRAT-summaries-tables table tbody tr td {
                    border: 1px solid rgb(221, 221, 221);
                    border-top: 0px;
                    text-align: center;
                    padding: 0px 6px;
                    white-space: nowrap;
                }

        .LeveragedGRATView .LeveragedGRAT-summaries-table-parent {
            display: flex;
            flex-grow: 100;
            flex-shrink: 0;
            position: relative;
            overflow: auto;
        }

        .LeveragedGRATView .LeveragedGRAT-summaries-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LeveragedGRATView .LeveragedGRAT-summaries-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LeveragedGRATView .LeveragedGRAT-options-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LeveragedGRATView .LeveragedGRAT-options-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LeveragedGRATView .collapse {
            display: none;
        }


        /* Button styles */
        .LeveragedGRATView button {
            background-color: #007BFF;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .LeveragedGRATView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .LeveragedGRATView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .LeveragedGRATView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .LeveragedGRATView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .LeveragedGRATView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .LeveragedGRATView th, .LeveragedGRATView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .LeveragedGRATView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .LeveragedGRATView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .LeveragedGRATView input[type="date"],
        .LeveragedGRATView input[type="text"],
        .LeveragedGRATView select,
        .LeveragedGRATView .form-control,
        .LeveragedGRATView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .LeveragedGRATView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .LeveragedGRATView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .LeveragedGRATView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .LeveragedGRATView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .LeveragedGRATView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .LeveragedGRATView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .LeveragedGRATView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .LeveragedGRATView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .LeveragedGRATView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .LeveragedGRATView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .LeveragedGRATView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        .LeveragedGRATView .tabs-container {
            margin-top: 2px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .LeveragedGRATView .nav-tabs .nav-link {
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
            border-bottom-color: transparent;
            color: #333;
        }

            .LeveragedGRATView .nav-tabs .nav-link.active {
                background-color: rgba(30, 144, 255, 0.4);
                border-color: #dee2e6 #dee2e6 transparent;
                color: #333;
                font-weight: bold;
            }

        .LeveragedGRATView .tab-content {
            border: 1px solid #dee2e6;
            border-top: none;
            padding: 16px;
            background-color: #fff;
            overflow: auto;
            display: flex;
            flex-grow: 100;
            flex-shrink: 0;
            justify-content: center;
            align-items: center;
            position: relative;
            flex-direction: column;
        }

        .LeveragedGRATView .tab-pane {
            height: 100%;
            width: 100%;
        }

        /* Scroll to Top Button */
        .LeveragedGRATView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .LeveragedGRATView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .LeveragedGRATView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .LeveragedGRATView .progress-bg {
            stroke: #ccc;
        }

        .LeveragedGRATView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        .LeveragedGRATView .zoom-control-toolbar {
            position: sticky;
            bottom: 0px;
            left: 0px;
            right: 0px;
            background: #D2E6FA;
            width: 100%;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            padding-top: 5px;
            padding-bottom: 5px;
            padding-right: 10px;
        }

            .LeveragedGRATView .zoom-control-toolbar .btn {
                font-size: 14px;
                border: 1px solid #666;
                border-radius: 0px;
                padding: 3px;
                margin-right: 5px;
                background: #DDDDDD;
                color: black;
            }

            .LeveragedGRATView .zoom-control-toolbar .slider {
                margin-left: 5px;
                margin-right: 10px;
            }

            .LeveragedGRATView .zoom-control-toolbar .percent-label {
                margin-bottom: 0px;
                margin-right: 10px;
                font-size: 14px;
            }

    .LeveragedGRAT-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

        .LeveragedGRAT-letter-wrapper .LeveragedGRAT-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .LeveragedGRAT-letter-wrapper .LeveragedGRAT-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .LeveragedGRAT-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .LeveragedGRAT-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .LeveragedGRAT-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* RollingGRAT Calculator */

    /* RollingGRATView styles */
    .RollingGRAT-main {
        display: flex;
        flex-direction: column;
    }

    .RollingGRATView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .RollingGRATView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .RollingGRATView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .RollingGRATView .RollingGRAT-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .RollingGRATView .RollingGRAT-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .RollingGRATView .RollingGRAT-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .RollingGRATView .RollingGRAT-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .RollingGRATView .RollingGRAT-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .RollingGRATView .RollingGRATDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .RollingGRATView .RollingGRAT-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .RollingGRATView .RollingGRATDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .RollingGRATView .RollingGRATDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .RollingGRATView .RollingGRATDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .RollingGRATView .RollingGRATDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .RollingGRATView .RollingGRAT-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .RollingGRATView .RollingGRAT-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .RollingGRATView .RollingGRAT-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .RollingGRATView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .RollingGRATView .RollingGRAT-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .RollingGRATView .RollingGRAT-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .RollingGRATView .RollingGRAT-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .RollingGRATView .RollingGRAT-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .RollingGRATView .RollingGRAT-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .RollingGRATView .RollingGRAT-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .RollingGRATView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .RollingGRATView .RollingGRAT-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .RollingGRATView .customized-input-number .input {
            text-align: center;
        }

        .RollingGRATView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .RollingGRATView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .RollingGRATView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .RollingGRATView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .RollingGRATView .option-input-group div {
                border-radius: 10px;
            }

            .RollingGRATView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .RollingGRATView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .RollingGRATView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .RollingGRATView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .RollingGRATView .collapse {
            display: none;
        }

        /* Button styles */
        .RollingGRATView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .RollingGRATView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .RollingGRATView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .RollingGRATView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .RollingGRATView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .RollingGRATView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .RollingGRATView th, .RollingGRATView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .RollingGRATView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .RollingGRATView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .RollingGRATView input[type="date"],
        .RollingGRATView input[type="text"],
        .RollingGRATView select,
        .RollingGRATView .form-control,
        .RollingGRATView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .RollingGRATView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .RollingGRATView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .RollingGRATView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .RollingGRATView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .RollingGRATView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .RollingGRATView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .RollingGRATView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .RollingGRATView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .RollingGRATView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .RollingGRATView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .RollingGRATView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .RollingGRATView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .RollingGRATView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .RollingGRATView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .RollingGRATView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .RollingGRATView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .RollingGRATView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .RollingGRATView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .RollingGRATView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .RollingGRATView .nav.nav-tabs {
            border-bottom: none;
        }

        .RollingGRATView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .RollingGRATView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .RollingGRATView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .RollingGRATView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .RollingGRATView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .RollingGRATView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .RollingGRATView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .RollingGRATView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .RollingGRATView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .RollingGRATView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .RollingGRATView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .RollingGRATView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .RollingGRATView .progress-bg {
            stroke: #ccc;
        }

        .RollingGRATView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .RollingGRATView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .RollingGRATView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .RollingGRATView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .RollingGRATView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .RollingGRATView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .RollingGRATView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .RollingGRAT-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .RollingGRAT-letter-wrapper .RollingGRAT-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .RollingGRAT-letter-wrapper .RollingGRAT-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .RollingGRAT-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .RollingGRAT-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .RollingGRAT-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* HRPension Calculator */

    /* HRPensionView styles */
    .HRPension-main {
        display: flex;
        flex-direction: column;
    }

    .HRPensionView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .HRPensionView .HRPension-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .HRPensionView .HRPension-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .HRPensionView .HRPension-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .HRPensionView .HRPension-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .HRPensionView .HRPension-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .HRPensionView .HRPensionDetailsView {
            display: flex;
            flex-direction: column;
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

            .HRPensionView .HRPensionDetailsView table thead tr th {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
            }

            .HRPensionView .HRPensionDetailsView table tbody tr td {
                border: 1px solid rgb(221, 221, 221);
                border-top: 0px;
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .HRPensionView .HRPension-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .HRPensionView .HRPension-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .HRPensionView .HRPension-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .HRPensionView .HRPension-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .HRPensionView .HRPension-summaries-tables table {
                width: min-content;
            }

                .HRPensionView .HRPension-summaries-tables table thead tr th {
                    border: 1px solid rgb(221, 221, 221);
                    border-top: 0px;
                    text-align: center;
                }

                .HRPensionView .HRPension-summaries-tables table tbody tr td {
                    border: 1px solid rgb(221, 221, 221);
                    border-top: 0px;
                    text-align: center;
                    padding: 0px 6px;
                    white-space: nowrap;
                }

        .HRPensionView .HRPension-summaries-table-parent {
            display: flex;
            flex-grow: 100;
            flex-shrink: 0;
            position: relative;
            overflow: auto;
        }

        .HRPensionView .HRPension-summaries-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .HRPensionView .HRPension-summaries-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .HRPensionView .HRPension-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

            .HRPensionView .HRPension-options-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .HRPensionView .collapse {
            display: none;
        }


        /* Button styles */
        .HRPensionView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .HRPensionView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .HRPensionView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .HRPensionView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .HRPensionView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .HRPensionView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .HRPensionView th, .HRPensionView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .HRPensionView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .HRPensionView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .HRPensionView input[type="date"],
        .HRPensionView input[type="text"],
        .HRPensionView select,
        .HRPensionView .form-control,
        .HRPensionView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
            text-align: center;
        }

        .HRPensionView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .HRPensionView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .HRPensionView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .HRPensionView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .HRPensionView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .HRPensionView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .HRPensionView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .HRPensionView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .HRPensionView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .HRPensionView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .HRPensionView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        .HRPensionView .tabs-container {
            margin-top: 2px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .HRPensionView .nav-tabs .nav-link {
            border-top-left-radius: 4px;
            border-top-right-radius: 4px;
            border-bottom-color: transparent;
            color: #333;
        }

            .HRPensionView .nav-tabs .nav-link.active {
                background-color: rgba(30, 144, 255, 0.4);
                border-color: #dee2e6 #dee2e6 transparent;
                color: #333;
                font-weight: bold;
            }

        .HRPensionView .tab-content {
            border: 1px solid #dee2e6;
            border-top: none;
            padding: 16px;
            background-color: #fff;
            overflow: auto;
            display: flex;
            flex-grow: 100;
            flex-shrink: 0;
            justify-content: center;
            align-items: center;
            position: relative;
            flex-direction: column;
        }

        .HRPensionView .tab-pane {
            height: 100%;
            width: 100%;
        }

        /* Scroll to Top Button */
        .HRPensionView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .HRPensionView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .HRPensionView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .HRPensionView .progress-bg {
            stroke: #ccc;
        }

        .HRPensionView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        .HRPensionView .zoom-control-toolbar {
            position: sticky;
            bottom: 0px;
            left: 0px;
            right: 0px;
            background: #D2E6FA;
            width: 100%;
            display: flex;
            justify-content: flex-end;
            align-items: center;
            padding-top: 5px;
            padding-bottom: 5px;
            padding-right: 10px;
        }

            .HRPensionView .zoom-control-toolbar .btn {
                font-size: 14px;
                border: 1px solid #666;
                border-radius: 0px;
                padding: 3px;
                margin-right: 5px;
                background: #DDDDDD;
                color: black;
            }

            .HRPensionView .zoom-control-toolbar .slider {
                margin-left: 5px;
                margin-right: 10px;
            }

            .HRPensionView .zoom-control-toolbar .percent-label {
                margin-bottom: 0px;
                margin-right: 10px;
                font-size: 14px;
            }

    .HRPension-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

        .HRPension-letter-wrapper .HRPension-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .HRPension-letter-wrapper .HRPension-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .HRPension-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .HRPension-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .HRPension-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    .dashboard-wrapper {
        display: flex;
        min-height: calc(100vh - 2.5rem);
        max-height: calc(100vh - 2.5rem);
        min-width: 100vw;
        max-width: 100vw;
        background-color: #F1F6FA;
    }


    .dashboard-sidebar {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        height: calc(100vh - 2.5rem);
        z-index: 2;
        background-color: #181C32;
        position: relative;
        overflow-y: auto;
        flex-shrink: 0;
    }

    .dashboard-sidebar-tab {
        margin-top: 25px;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        white-space: nowrap;
        align-items: center;
        width: 100%;
        color: #828282;
        cursor: pointer;
    }

        .dashboard-sidebar-tab.active {
            color: white;
        }

        .dashboard-sidebar-tab::before {
            content: '';
            width: 5px;
        }

        .dashboard-sidebar-tab:hover, .dashboard-sidebar-tab-label:hover {
            color: white;
        }

        .dashboard-sidebar-tab.active::before {
            content: '';
            width: 0px;
            height: 100%;
            border-left: 5px solid #29ABE2;
            border-radius: 0px 4px 4px 0px;
        }

        .dashboard-sidebar-tab.active .dashboard-sidebar-tab-arrow svg {
            transform: rotate(180deg);
        }

        .dashboard-sidebar-tab.active .dashboard-sidebar-tab-arrow path, .dashboard-sidebar-tab:hover .dashboard-sidebar-tab-arrow path {
            fill: white !important;
        }

    .dashboard-sidebar-tab-dropdown {
        margin-left: 65px;
        margin-top: 5px;
        color: #828282;
    }

    .dashboard-sidebar-tab-arrow {
        margin-right: 8px;
        margin-left: 10px;
    }

    .dashboard-sidebar-tab-label {
        margin-left: 9px;
        font-size: 14pt;
        font-weight: 500;
        cursor: pointer;
        user-select: none;
    }

    .dashboard-sidebar-tab-dropdown .dashboard-sidebar-tab-label {
        margin-left: 9px;
        font-size: 14pt;
        font-weight: 500;
        cursor: pointer;
        user-select: none;
        line-height: 1;
        margin-top: 10px
    }

    .dashboard-main {
        display: flex;
        flex-direction: column;
        overflow: auto;
        flex-grow: 100;
    }

    .dashboard-top-toolbar {
        display: flex;
        justify-content: space-around;
        align-items: center;
        color: darkslategrey;
        padding-top: 10px;
        min-width: fit-content;
    }

        .dashboard-top-toolbar .dashboard-welcome {
            display: flex;
            white-space: nowrap;
            align-items: center;
        }

        .dashboard-top-toolbar .search-input-container {
            position: relative;
        }

            .dashboard-top-toolbar .search-input-container input {
                color: lightgrey;
            }

            .dashboard-top-toolbar .search-input-container .search-icon {
                position: absolute;
                right: 10px;
                top: 50%;
                transform: translateY(-50%);
                pointer-events: none;
            }


    .dashboard-button-wrapper {
        display: flex;
        justify-content: center;
        margin-top: 3rem;
        flex-wrap: wrap;
    }

    .dashboard-button-group {
        display: flex;
        flex-direction: column;
        padding: 10px;
    }

    .dashboard-button-group__calculators-group {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .dashboard-button-group__calculators {
        display: flex;
        flex-direction: column;
    }

    .dashboard-button-group button {
        border-radius: 15px;
        height: 65px;
        width: 290px;
        margin-bottom: 10px;
        background-color: #0071BC;
        color: white;
        font-weight: 600;
        border: none;
        z-index: 1;
        font-size: 1.4rem;
        align-self: center;
        position: relative;
    }

        .dashboard-button-group button:disabled {
            background-color: #29AAE3;
            border: solid 2px;
            border-color: #0071BC;
            width: 100%;
        }

        .dashboard-button-group button:hover {
            transform: scale(1.05);
        }

        .dashboard-button-group button:disabled:hover {
            transform: scale(1);
        }

    @media (min-width: 2px) {
        .customized-input-number {
            display: flex;
            justify-content: space-between;
        }

            .customized-input-number .spinner {
                display: block;
                border: solid 1px lightgrey;
            }

                .customized-input-number .spinner:hover {
                    background: lightgrey;
                }

        .disabled-target-input .customized-input-number .spinner {
            background: lightgrey;
            border: none;
        }

        .scenarioView {
            position: absolute;
            right: 0px;
            visibility: hidden;
            opacity: 0;
            transition: visibility 0s, opacity 0.5s linear;
        }

            .scenarioView.active {
                visibility: visible;
                opacity: 1;
                position: relative;
            }
    }

    .checkout-view {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
        max-height: 100vh;
        max-width: 100vw;
    }

        .checkout-view .checkout-view__icon {
            height: 50px;
            width: auto;
            object-fit: scale-down;
            margin-top: 1rem;
        }

        .checkout-view .checkout-view__title {
            font-weight: 700;
            font-size: 24pt;
            align-self: center;
            margin-top: 30px;
            margin-bottom: 0px;
            color: #111111;
        }

        .checkout-view .checkout-view__payment_switch {
            position: relative;
            width: 200px;
            height: 34px;
            display: flex;
            align-items: center;
            justify-content: center;
            align-self: center;
            margin-top: 30px;
        }

        .checkout-view .payment-toggle-checkbox {
            display: none;
        }

    .payment-toggle-checkbox:checked ~ label span {
        transform: translateX(100%);
        margin-left: -2px;
    }

    .checkout-view .payment-toggle-label {
        width: 40px;
        height: 25px;
        background: #999999;
        border-radius: 50px;
        cursor: pointer;
        transition: background-color 0.2s;
        display: flex;
        align-items: center;
    }


    .checkout-view .toggle-option {
        flex: 1;
        text-align: center;
        color: #999999;
        z-index: 2;
    }

    .payment-toggle-checkbox:checked ~ .payment-toggle-label {
        background-color: #29ABE2;
    }

    .checkout-view .toggle-switch {
        width: 20px;
        height: 20px;
        background: #FFFFFF;
        box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.28);
        border-radius: 50px;
        transition: transform 0.5s ease, margin-left 0.4s ease;
        z-index: 1;
        margin-left: 2px;
    }


    .pricing-plans {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        padding-left: 100px;
        padding-right: 100px;
        margin-top: 30px;
        overflow-y: auto;
    }

        .pricing-plans .signout {
            color: white;
            border-radius: 20px;
        }

            .pricing-plans .signout:hover {
                color: black;
            }

    .pricing-plan {
        border-radius: 30px;
        box-shadow: 0px 2px 19px rgba(0, 0, 0, 0.06);
        padding: 20px 30px;
        position: relative;
        margin: 20px;
        flex: 1;
        transition: box-shadow 0.3s ease;
        background-color: #fff;
    }

        .pricing-plan:hover {
            box-shadow: 0 6px 8px rgba(0, 0, 0, 0.2);
        }

    .recommended-ribbon {
        background-color: #f44336;
        color: white;
        font-size: 14px;
        font-weight: bold;
        text-transform: uppercase;
        border-radius: 5px;
        position: absolute;
        top: -0.5rem;
        left: -0.5rem;
        padding: 0.5rem 1rem;
    }

    .pricing-plan__title {
        font-size: 24pt;
        margin-top: 0px;
        margin-bottom: 0px;
        color: #29ABE2;
    }

    .pricing-plan__price {
        font-size: 32pt;
        margin-top: 15px;
        font-weight: 700;
        margin-bottom: 0px;
        color: #111111;
    }

    .pricing-plan__description {
        margin-top: 15px;
        margin-bottom: 0px;
        font-size: 16pt;
        color: black;
    }

    .checkout-btn {
        background-color: #29ABE2;
        border-color: #29ABE2;
        width: 100%;
        color: white;
        padding: 5px 5px;
        font-weight: 600;
        border-radius: 12px;
        transition: background-color 0.3s ease, border-color 0.3s ease;
        margin-top: 15px;
        margin-bottom: 0px;
        font-size: 16pt;
    }

        .checkout-btn:hover {
            background-color: #0056b3;
            border-color: #0056b3;
            color: white;
        }

        .checkout-btn:disabled {
            background-color: gray;
            border-color: gray;
            width: 100%;
            color: white;
            padding: 5px 5px;
            font-weight: 600;
            border-radius: 12px;
            transition: background-color 0.3s ease, border-color 0.3s ease;
            margin-top: 15px;
            margin-bottom: 0px;
            font-size: 16pt;
        }

            .checkout-btn:disabled:hover {
                background-color: gray;
                border-color: gray;
                color: white;
            }

    .pricing-plan ul {
        margin-top: 15px;
        margin-bottom: 0px;
        list-style-type: none;
        padding-left: 0px;
    }

    .pricing-plan li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 7px;
        width: 18px;
        height: 18px;
        background-image: url('data:image/svg+xml;utf8,%3Csvg%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%0A%3Cpath%20d%3D%22M14%201.1665C6.92885%201.1665%201.16669%206.92867%201.16669%2013.9998C1.16669%2021.071%206.92885%2026.8332%2014%2026.8332C21.0712%2026.8332%2026.8334%2021.071%2026.8334%2013.9998C26.8334%206.92867%2021.0712%201.1665%2014%201.1665ZM20.1344%2011.0482L12.8579%2018.3247C12.6782%2018.5043%2012.4344%2018.607%2012.1777%2018.607C11.921%2018.607%2011.6772%2018.5043%2011.4975%2018.3247L7.86569%2014.6928C7.49352%2014.3207%207.49352%2013.7047%207.86569%2013.3325C8.23785%2012.9603%208.85385%2012.9603%209.22602%2013.3325L12.1777%2016.2842L18.774%209.68784C19.1462%209.31567%2019.7622%209.31567%2020.1344%209.68784C20.5065%2010.06%2020.5065%2010.676%2020.1344%2011.0482Z%22%20fill%3D%22%2329ABE2%22/%3E%0A%3C/svg%3E');
        background-size: contain;
        background-repeat: no-repeat;
    }

    .pricing-plan ul li {
        font-size: 16pt;
        position: relative;
        color: #111111;
        padding-left: 24px;
    }

    .success-view {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        text-align: center;
        min-height: 100vh;
        height: 100%;
        padding: 2rem;
        flex-grow: 100;
        background-color: #FFFFFF;
        overflow: auto;
    }

    .success-view__background {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgb(12, 12, 12, 0.3);
        filter: blur(2px);
        z-index: 1;
    }

    .success-view__icon {
        height: 80px;
        margin-top: 1rem;
        object-fit: scale-down;
        z-index: 0;
        filter: blur(2px);
    }

    .success-view .success-box {
        border: none;
        background-color: #fff;
        padding: 20px;
        width: 35%;
        min-width: 300px;
        margin-top: 4.5rem;
        border-radius: 30px;
        z-index: 2;
        display: flex;
        flex-direction: column;
        justify-items: center;
        align-items: center;
    }

    .success-view__title {
        font-size: 18pt;
        color: #111111;
    }

    .success-view__message {
        font-size: 12pt;
        color: #111111;
    }

    .success-view__button {
        background-color: #29ABE2;
        border: 1px solid #29ABE2;
        color: white;
        padding: 0.625rem 1.875rem;
        text-transform: uppercase;
        font-weight: 600;
        border-radius: 12px;
        transition: background-color 0.3s ease, border-color 0.3s ease;
        margin-top: 2rem;
    }

        .success-view__button:hover {
            background-color: #0056b3;
            border-color: #0056b3;
            color: white;
        }

    .success-view__billing_button {
        background-color: white;
        border: none;
        color: #6900ff;
        text-transform: uppercase;
        font-weight: 600;
        padding: 0px;
        margin-top: 2rem;
        text-decoration: underline;
    }

        .success-view__billing_button:hover {
            text-decoration: none;
            background: #cdfeaa;
        }

    .h-80 {
        height: 80vh !important;
    }

    .html2canvas-container {
        height: 10000px !important;
    }

    .ageBackground {
        background-color: #FCC4AB !important;
    }

    .yearOfDeathBackground {
        background-color: #E1E1E1 !important;
    }

    .termBackground {
        background-color: #CCDEF9 !important;
    }

    .discountBackground {
        background-color: lightgoldenrodyellow !important;
    }

    .valueBackground {
        background-color: #FDD48B !important;
    }

    .discountedValueBackground {
        background-color: #DBF4D8 !important;
    }

    .growthRateBackground {
        background-image: linear-gradient(-45deg, #DBF4D8 25%, lightblue 25%, lightblue 50%, #DBF4D8 50%, #DBF4D8 75%, lightblue 75%, lightblue) !important;
        background-size: 21px 21px !important;
    }

    #superSimpleButton {
        width: 80%;
        max-height: 20px;
        align-self: center;
        padding: 22px 15px;
        text-align: center;
        border: none;
        border-radius: 5px;
        font-size: 16px;
        cursor: pointer;
        position: relative;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        transition: background-color 0.3s ease, box-shadow 0.3s ease;
    }

        #superSimpleButton:hover {
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        }

        #superSimpleButton:focus {
            outline: none;
            box-shadow: 0 0 0 3px rgba(0, 255, 255, 0.5);
        }

        #superSimpleButton:active {
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
        }

    .button-text {
        z-index: 1;
        transition: opacity 0.3s ease;
    }

    .stars {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-position: center;
        opacity: 0;
        transition: opacity 0.3s ease-in-out;
    }

    /* Deactivated state */
    #superSimpleButton {
        background-color: rgb(105, 105, 105);
    }

        /* Activated state */
        #superSimpleButton.activated {
            background-color: rgba(0, 0, 255);
            animation: none; /*bgAnimation 3s infinite;*/
        }

        #superSimpleButton:not(.activated):hover {
            background-color: rgb(135, 135, 135);
        }

        #superSimpleButton.activated:hover {
            background-color: rgba(50, 50, 255);
        }

    @keyframes bgAnimation {
        0% {
            background-color: rgba(0, 0, 255);
        }

        50% {
            background-color: rgba(0, 0, 255, 0.6);
        }

        100% {
            background-color: rgba(0, 0, 255);
        }
    }

    @keyframes shootingStar {
        0%, 100% {
            transform: translate(-100%, -50%) scale(0.5);
            opacity: 1;
        }

        25% {
            transform: translate(50%, -50%) scale(1);
            opacity: 1;
        }

        50%, 75% {
            transform: translate(150%, 50%) scale(1.5);
            opacity: 1;
        }
    }

    #superSimpleButton.activated .stars {
        display: none;
        background-image: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 16 16"%3E%3Cpath fill="yellow" d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327l4.898.696c.441.062.612.636.282.95l-3.522 3.356l.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"%2F%3E%3C%2Fsvg%3E');
        animation: shootingStar 6s infinite;
        opacity: 1;
    }

    .star {
        display: none;
        position: absolute;
        bottom: 0;
        left: calc(50% - 12px);
        width: 24px;
        height: 24px;
        background-image: url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="24" height="24" viewBox="0 0 16 16"%3E%3Cpath fill="yellow" d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327l4.898.696c.441.062.612.636.282.95l-3.522 3.356l.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"%2F%3E%3C%2Fsvg%3E');
        animation: shootUp 2s infinite alternate;
        opacity: 0;
    }


        .star:nth-child(1) {
            animation-delay: 0.3s;
            left: 10%;
        }

        .star:nth-child(2) {
            animation-delay: 0.5s;
            left: 20%;
        }

        .star:nth-child(3) {
            animation-delay: 0.2s;
            left: 30%;
        }

        .star:nth-child(4) {
            animation-delay: 0.6s;
            left: 40%;
        }

        .star:nth-child(5) {
            animation-delay: 0.4s;
            left: 50%;
        }

        .star:nth-child(6) {
            animation-delay: 0.7s;
            left: 60%;
        }

        .star:nth-child(7) {
            animation-delay: 0.2s;
            left: 70%;
        }

        .star:nth-child(8) {
            animation-delay: 0.5s;
            left: 80%;
        }

        .star:nth-child(9) {
            animation-delay: 0.4s;
            left: 90%;
        }

    @keyframes shootUp {
        0%, 100% {
            transform: translateY(0) scale(0.5);
            opacity: .5;
        }

        50% {
            transform: translateY(-100%) scale(1);
            opacity: 1;
        }
    }

    .rss-container {
        position: fixed;
        bottom: 10px;
        width: 100%;
        height: auto;
        overflow: hidden;
        white-space: nowrap;
        z-index: 5;
        font-size: small;
    }

    .rss-items {
        display: flex;
        will-change: transform;
        transition: transform linear;
    }

    .rss-item {
        display: block;
        margin-right: 10px;
        padding: 3px;
        background-color: rgb(240, 240, 240);
        border: 1px solid #e0e0e0;
        border-radius: 10px;
        width: fit-content;
    }

        .rss-item p {
            white-space: pre-line;
            overflow: clip;
            line-height: 1.25em;
            max-height: 2.5em;
            font-size: smaller;
        }

    .rss-window-container {
        display: flex;
        flex-direction: column;
        height: calc(100vh - 5rem);
    }

        .rss-window-container .sticky-header {
            text-align: center;
        }

            .rss-window-container .sticky-header h3 {
                padding-top: 10px;
            }

            .rss-window-container .sticky-header h4 {
                text-decoration: underline;
            }

            .rss-window-container .sticky-header .rss-select-container {
                position: relative;
                margin: 0px;
                width: fit-content;
                max-width: 90%;
            }

            .rss-window-container .sticky-header .rss-select {
                appearance: none;
                -webkit-appearance: none;
                -moz-appearance: none;
                border: 2px solid rgb(0,142,142);
                padding: 1px 6px;
                border-radius: 5px;
                outline: none;
                width: 100%;
            }

            .rss-window-container .sticky-header .rss-select-container::after {
                content: '';
                position: absolute;
                right: 10px;
                top: 30%;
                transform: translateY(-50%);
                pointer-events: none;
                border: solid black;
                border-width: 0 3px 3px 0;
                display: inline-block;
                padding: 3px;
                transform: rotate(45deg);
                -webkit-transform: rotate(45deg);
            }

            .rss-window-container .sticky-header .rss-select:hover, .rss-select:focus {
                border-color: #357ab8;
            }

            .rss-window-container .sticky-header .rss-select:focus {
                box-shadow: 0 0 5px rgba(58, 144, 226, 0.5);
            }

        .rss-window-container .rss-window-items {
            display: block;
            padding: 2px;
            overflow-y: scroll;
            border-radius: 5px;
            height: 30px;
        }

        .rss-window-container .rss-window-item {
            display: block;
            margin: 0px;
            padding: 5px 10px;
            border-bottom: 1px solid grey;
        }

            .rss-window-container .rss-window-item:nth-child(even) {
                background-color: rgb(235, 235, 235);
            }

            .rss-window-container .rss-window-item:hover {
                background-color: rgb(225, 225, 225);
            }


            .rss-window-container .rss-window-item p {
                display: -webkit-box;
                text-overflow: ellipsis;
                line-height: 1.25em;
                margin-bottom: 0px;
                margin-top: 3px;
            }

            .rss-window-container .rss-window-item:last-child {
                border-bottom: none;
            }

            .rss-window-container .rss-window-item h6 {
                margin: 0;
            }

                .rss-window-container .rss-window-item h6 a {
                    color: blue;
                }

    .rss-toggle-button {
        position: absolute;
        top: 50%;
        left: -60px;
        transform: translateY(-50%);
        color: white;
        font-size: 24px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        z-index: 250;
        user-select: none;
    }

    .rss-button {
        display: flex;
        background-color: rgb(0,142,142);
        border-top-left-radius: 15px;
        border-bottom-left-radius: 15px;
    }

    .chat-button {
        margin-top: 10px;
        display: flex;
        background-color: orange;
        color: white;
        border-top-left-radius: 15px;
        border-bottom-left-radius: 15px;
    }

    .chat-container {
        display: flex;
        flex-direction: column;
        height: calc(100vh - 5rem);
    }

    .chat-top-toolbar {
        margin: 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 40px;
    }

    .chat-container .list-group {
        padding: 0;
        margin: 0;
        list-style: none;
        padding: 15px;
    }

    .chat-container .list-group-item {
        position: relative;
        display: block;
        background: none;
        background-color: none;
        margin-bottom: 10px;
        border-width: 0px;
        padding-top: 0px;
        z-index: 1;
    }

        .chat-container .list-group-item:hover {
            position: relative;
            display: block;
            background: none;
            background-color: none;
            margin-bottom: 10px;
        }

    .chat-container .messages-list {
        overflow-y: auto;
        margin-bottom: 20px;
        flex-grow: 1;
    }

    .chat-container .message-bubble {
        background: #E5EAFF;
        background-color: #E5EAFF;
        width: 80%;
        padding: 10px 15px;
        border-top-left-radius: 0px !important;
        border-top-right-radius: 12px !important;
        border-bottom-right-radius: 12px !important;
        border-bottom-left-radius: 12px !important;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }

    .chat-container .sender {
        font-weight: 500;
        margin-right: 10px;
        font-size: 12pt;
        color: #0A2689;
    }

    .chat-container .timestamp {
        font-size: 0.75rem;
        color: #6c757d;
        position: absolute;
        right: 15px;
        top: 50%;
    }

    .timestamp-secondary {
        font-size: 0.75rem;
        color: #AAAAAA;
    }

    .chat-container .message-content {
        color: #1B1B1B;
    }

    .chat-container .chat-input-form {
        display: flex;
        margin: 15px;
        z-index: 1;
    }

    /* Status Indicators */
    .status-pending {
        padding: 1px 8px;
        border-radius: 5px;
        color: white;
        background-color: #FED233;
    }

    .status-approved {
        padding: 1px 2px;
        border-radius: 5px;
        color: white;
        background-color: #2ED06E;
    }

    .status-rejected {
        padding: 1px 8px;
        border-radius: 5px;
        color: white;
        background-color: #FF8B92;
    }

    .rss-toggle-button span {
        writing-mode: vertical-lr;
        text-orientation: upright;
        font-family: monospace;
    }

    .rss-quad-view {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-template-rows: 1fr;
        height: calc(100% - 60px);
    }

    .rss-feed-section {
        display: flex;
        flex-direction: column;
        overflow: hidden;
        height: calc(100% - 60px);
        border: 1px solid rgb(0,142,142);
    }

        .rss-feed-section .sticky-header {
            text-align: center;
            background-color: #f5f5f5;
            padding: 10px;
            border-bottom: 1px solid #ccc;
        }

        .rss-feed-section .rss-window-items {
            flex: 1;
            overflow-y: auto;
        }

    .rss-window-container .global-header {
        margin: 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: 40px;
    }

        .rss-window-container .global-header .container {
            width: auto;
            height: auto;
            margin: 9px 6px 0px;
            align-self: flex-end;
        }

        .rss-window-container .global-header h3 {
            margin-bottom: 0px;
            transform: translate(-40%, 0);
        }

        .rss-window-container .global-header .close-button {
            cursor: pointer;
            background-color: #ff3333;
            color: #ffffff;
            padding: 5px 10px;
            border-radius: 50%;
            font-weight: bold;
            transition: background-color 0.2s ease;
            user-select: none;
        }

            .rss-window-container .global-header .close-button:hover {
                background-color: #e60000;
            }

    .rss-window-container.dark-mode {
        background-color: #1f1f1f;
        border-color: #555;
        color: #444;
        color-scheme: dark;
    }

        .rss-window-container.dark-mode .rss-container .rss-items .rss-item {
            background-color: #444;
            border-color: #555;
        }

            .rss-window-container.dark-mode .rss-container .rss-items .rss-item a {
                color: #1E90FF;
                opacity: 87%;
            }

            .rss-window-container.dark-mode .rss-container .rss-items .rss-item span {
                color: rgb(255, 255, 255, .87);
            }

        .rss-window-container.dark-mode p, .rss-window-container.dark-mode small {
            color: rgb(255, 255, 255, 0.5);
        }

        .rss-window-container.dark-mode .rss-window-item:nth-child(even) {
            background-color: #2a2a2a;
        }

        .rss-window-container.dark-mode .rss-window-item:hover {
            background-color: #333;
        }

        .rss-window-container.dark-mode .rss-window-item {
            border-bottom-color: #444;
        }

        .rss-window-container.dark-mode .rss-toggle-button {
            background-color: #555;
        }

        .rss-window-container.dark-mode .rss-feed-section .sticky-header {
            background-color: #2a2a2a;
            border-bottom-color: #444;
        }

        .rss-window-container.dark-mode .rss-feed-section {
            border-color: #555;
        }

        .rss-window-container.dark-mode h4 {
            color: rgb(255, 255, 255, .87);
        }

        .rss-window-container.dark-mode h5 {
            color: rgb(255, 255, 255, .87);
        }

        .rss-window-container.dark-mode .rss-window-item h6 a {
            color: #1E90FF;
            opacity: 87%;
        }

        .rss-window-container.dark-mode .global-header {
            border-bottom-color: #444;
            color: rgb(255, 255, 255, .87);
        }

            .rss-window-container.dark-mode .global-header .close-button {
                background-color: #b71c1c;
                user-select: none;
            }

                .rss-window-container.dark-mode .global-header .close-button:hover {
                    background-color: #990000;
                }

        .rss-window-container.dark-mode .sticky-header .rss-select {
            background-color: #2a2a2a;
            color: #e0e0e0;
            border-color: #444;
        }

            .rss-window-container.dark-mode .sticky-header .rss-select:hover,
            .rss-window-container.dark-mode .sticky-header .rss-select:focus {
                border-color: #555;
                box-shadow: 0 0 5px rgba(255, 255, 255, 0.2);
            }

        .rss-window-container.dark-mode .sticky-header .rss-select-container::after {
            border-color: #e0e0e0;
        }

    .quick-actions-container {
        position: absolute;
        top: 50%;
        left: calc(100%);
        transform: translateY(-50%);
        width: auto;
        height: auto;
        border: 2px solid rgb(65, 65, 65);
        padding-top: 0px;
        font-size: 16px;
        z-index: 1;
        background-color: white;
        display: flex;
        flex-direction: column;
        transition: all 0.75s;
        white-space: nowrap;
    }

        .quick-actions-container .customized-input-number input {
            width: auto;
        }

        .quick-actions-container [data-tooltip]:before {
            white-space: normal;
            width: 200px;
        }

        .quick-actions-container.closed {
            left: 0px;
            width: 100%;
            visibility: hidden;
        }

            .quick-actions-container.closed .customized-input-number input {
                left: 0px;
                width: 100%;
                white-space: normal;
            }

        .quick-actions-container .quick-actions {
            z-index: 1;
            text-align: center;
        }

        .quick-actions-container .quick-actions-button {
            position: absolute;
            top: 50%;
            right: -48px;
            transform: translateY(-50%);
            background-color: rgb(65, 65, 65);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            border-top-right-radius: 15px;
            border-bottom-right-radius: 15px;
            z-index: 250;
            user-select: none;
            padding-top: 5px;
            padding-bottom: 5px;
            visibility: visible;
        }


        .quick-actions-container .exemptionBackground label {
            display: block;
            padding: 2px 0;
        }

        .quick-actions-container .exemptionBackground input[type="radio"] {
            width: auto;
        }

        .quick-actions-container .exemptionBackground {
            background-color: #E6E6FA !important;
        }

    .youtube-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.7);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10000;
    }

    .youtube-container {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(min(90vw / 16, 90vh / 9) * 16);
        height: calc(min(90vw / 16, 90vh / 9) * 9);
        overflow: hidden;
        background-color: #fff;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
        border-radius: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #ddd;
    }

        .youtube-container iframe {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 90%;
            height: 90%;
            border: none;
            border-radius: 10px;
        }

    .youtube-modal-header .close-button {
        display: flex;
        position: fixed;
        top: 0;
        right: 0;
        cursor: pointer;
        background-color: #ff3333;
        color: #ffffff;
        font-weight: bold;
        transition: background-color 0.2s ease;
        user-select: none;
        margin: 4px 4px 0px 0px;
        border-radius: 50%;
    }

        .youtube-modal-header .close-button:hover {
            background-color: #e60000;
            border-radius: 50%;
        }


    .PDF-reader-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.7);
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 10000;
    }

    .PDF-reader-container {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(min(90vw / 16, 90vh / 9) * 16);
        height: calc(min(90vw / 16, 90vh / 9) * 9);
        overflow: hidden;
        background-color: #fff;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
        border-radius: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #ddd;
    }

        .PDF-reader-container .close-button {
            display: flex;
            position: fixed;
            top: 0;
            right: 0;
            cursor: pointer;
            background-color: #ff3333;
            color: #ffffff;
            font-weight: bold;
            transition: background-color 0.2s ease;
            user-select: none;
            margin: 4px 4px 0px 0px;
            border-radius: 50%;
        }

            .PDF-reader-container .close-button:hover {
                background-color: #e60000;
                border-radius: 50%;
            }

    .feedback-popout.chained-cpi-modal {
        width: 70%;
        height: 80%;
    }

    /* PrivateAnnuity Calculator */

    /* PrivateAnnuityView styles */
    .PrivateAnnuity-main {
        display: flex;
        flex-direction: column;
    }

    .PrivateAnnuityView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .PrivateAnnuityView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .PrivateAnnuityView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .PrivateAnnuityView .PrivateAnnuity-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .PrivateAnnuityView .PrivateAnnuity-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .PrivateAnnuityView .PrivateAnnuity-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .PrivateAnnuityView .PrivateAnnuity-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .PrivateAnnuityView .PrivateAnnuity-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .PrivateAnnuityView .PrivateAnnuityDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .PrivateAnnuityView .PrivateAnnuity-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .PrivateAnnuityView .PrivateAnnuityDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .PrivateAnnuityView .PrivateAnnuityDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .PrivateAnnuityView .PrivateAnnuityDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .PrivateAnnuityView .PrivateAnnuityDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .PrivateAnnuityView .PrivateAnnuity-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .PrivateAnnuityView .PrivateAnnuity-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .PrivateAnnuityView .PrivateAnnuity-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .PrivateAnnuityView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .PrivateAnnuityView .PrivateAnnuity-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .PrivateAnnuityView .PrivateAnnuity-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .PrivateAnnuityView .PrivateAnnuity-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .PrivateAnnuityView .PrivateAnnuity-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .PrivateAnnuityView .PrivateAnnuity-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .PrivateAnnuityView .PrivateAnnuity-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .PrivateAnnuityView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .PrivateAnnuityView .PrivateAnnuity-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .PrivateAnnuityView .customized-input-number .input {
            text-align: center;
        }

        .PrivateAnnuityView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .PrivateAnnuityView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .PrivateAnnuityView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .PrivateAnnuityView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .PrivateAnnuityView .option-input-group div {
                border-radius: 10px;
            }

            .PrivateAnnuityView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .PrivateAnnuityView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .PrivateAnnuityView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .PrivateAnnuityView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .PrivateAnnuityView .collapse {
            display: none;
        }

        /* Button styles */
        .PrivateAnnuityView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .PrivateAnnuityView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .PrivateAnnuityView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .PrivateAnnuityView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .PrivateAnnuityView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .PrivateAnnuityView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .PrivateAnnuityView th, .PrivateAnnuityView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .PrivateAnnuityView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .PrivateAnnuityView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .PrivateAnnuityView input[type="date"],
        .PrivateAnnuityView input[type="text"],
        .PrivateAnnuityView select,
        .PrivateAnnuityView .form-control,
        .PrivateAnnuityView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .PrivateAnnuityView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .PrivateAnnuityView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .PrivateAnnuityView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .PrivateAnnuityView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .PrivateAnnuityView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .PrivateAnnuityView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .PrivateAnnuityView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .PrivateAnnuityView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .PrivateAnnuityView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .PrivateAnnuityView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .PrivateAnnuityView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .PrivateAnnuityView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .PrivateAnnuityView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .PrivateAnnuityView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .PrivateAnnuityView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .PrivateAnnuityView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .PrivateAnnuityView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .PrivateAnnuityView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .PrivateAnnuityView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .PrivateAnnuityView .nav.nav-tabs {
            border-bottom: none;
        }

        .PrivateAnnuityView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .PrivateAnnuityView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .PrivateAnnuityView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .PrivateAnnuityView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .PrivateAnnuityView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .PrivateAnnuityView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .PrivateAnnuityView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .PrivateAnnuityView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .PrivateAnnuityView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .PrivateAnnuityView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .PrivateAnnuityView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .PrivateAnnuityView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .PrivateAnnuityView .progress-bg {
            stroke: #ccc;
        }

        .PrivateAnnuityView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .PrivateAnnuityView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .PrivateAnnuityView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .PrivateAnnuityView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .PrivateAnnuityView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .PrivateAnnuityView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .PrivateAnnuityView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .PrivateAnnuity-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .PrivateAnnuity-letter-wrapper .PrivateAnnuity-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .PrivateAnnuity-letter-wrapper .PrivateAnnuity-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .PrivateAnnuity-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .PrivateAnnuity-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .PrivateAnnuity-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* LifeEstate Calculator */

    /* LifeEstateView styles */
    .LifeEstate-main {
        display: flex;
        flex-direction: column;
    }

    .LifeEstateView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .LifeEstateView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .LifeEstateView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .LifeEstateView .LifeEstate-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .LifeEstateView .LifeEstate-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .LifeEstateView .LifeEstate-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .LifeEstateView .LifeEstate-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .LifeEstateView .LifeEstate-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .LifeEstateView .LifeEstateDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .LifeEstateView .LifeEstate-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .LifeEstateView .LifeEstateDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .LifeEstateView .LifeEstateDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .LifeEstateView .LifeEstateDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .LifeEstateView .LifeEstateDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .LifeEstateView .LifeEstate-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .LifeEstateView .LifeEstate-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .LifeEstateView .LifeEstate-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .LifeEstateView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .LifeEstateView .LifeEstate-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .LifeEstateView .LifeEstate-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .LifeEstateView .LifeEstate-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .LifeEstateView .LifeEstate-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .LifeEstateView .LifeEstate-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .LifeEstateView .LifeEstate-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .LifeEstateView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .LifeEstateView .LifeEstate-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .LifeEstateView .customized-input-number .input {
            text-align: center;
        }

        .LifeEstateView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .LifeEstateView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .LifeEstateView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .LifeEstateView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .LifeEstateView .option-input-group div {
                border-radius: 10px;
            }

            .LifeEstateView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .LifeEstateView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .LifeEstateView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .LifeEstateView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .LifeEstateView .collapse {
            display: none;
        }

        /* Button styles */
        .LifeEstateView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .LifeEstateView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .LifeEstateView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .LifeEstateView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .LifeEstateView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .LifeEstateView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .LifeEstateView th, .LifeEstateView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .LifeEstateView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .LifeEstateView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .LifeEstateView input[type="date"],
        .LifeEstateView input[type="text"],
        .LifeEstateView select,
        .LifeEstateView .form-control,
        .LifeEstateView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .LifeEstateView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .LifeEstateView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .LifeEstateView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .LifeEstateView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .LifeEstateView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .LifeEstateView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .LifeEstateView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .LifeEstateView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .LifeEstateView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .LifeEstateView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .LifeEstateView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .LifeEstateView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .LifeEstateView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .LifeEstateView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .LifeEstateView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .LifeEstateView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .LifeEstateView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .LifeEstateView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .LifeEstateView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .LifeEstateView .nav.nav-tabs {
            border-bottom: none;
        }

        .LifeEstateView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .LifeEstateView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .LifeEstateView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .LifeEstateView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .LifeEstateView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .LifeEstateView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .LifeEstateView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .LifeEstateView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .LifeEstateView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .LifeEstateView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .LifeEstateView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .LifeEstateView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .LifeEstateView .progress-bg {
            stroke: #ccc;
        }

        .LifeEstateView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .LifeEstateView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .LifeEstateView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .LifeEstateView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .LifeEstateView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .LifeEstateView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .LifeEstateView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .LifeEstate-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .LifeEstate-letter-wrapper .LifeEstate-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .LifeEstate-letter-wrapper .LifeEstate-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .LifeEstate-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .LifeEstate-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .LifeEstate-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* CRAT Calculator */

    /* CRATView styles */
    .CRAT-main {
        display: flex;
        flex-direction: column;
    }

    .CRATView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .CRATView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .CRATView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .CRATView .CRAT-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .CRATView .CRAT-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .CRATView .CRAT-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .CRATView .CRAT-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .CRATView .CRAT-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .CRATView .CRATDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .CRATView .CRAT-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .CRATView .CRATDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .CRATView .CRATDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .CRATView .CRATDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .CRATView .CRATDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .CRATView .CRAT-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .CRATView .CRAT-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .CRATView .CRAT-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .CRATView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .CRATView .CRAT-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .CRATView .CRAT-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .CRATView .CRAT-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .CRATView .CRAT-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .CRATView .CRAT-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .CRATView .CRAT-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .CRATView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .CRATView .CRAT-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .CRATView .customized-input-number .input {
            text-align: center;
        }

        .CRATView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .CRATView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .CRATView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .CRATView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .CRATView .option-input-group div {
                border-radius: 10px;
            }

            .CRATView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .CRATView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .CRATView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .CRATView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .CRATView .collapse {
            display: none;
        }

        /* Button styles */
        .CRATView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .CRATView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .CRATView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .CRATView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .CRATView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .CRATView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .CRATView th, .CRATView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .CRATView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .CRATView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .CRATView input[type="date"],
        .CRATView input[type="text"],
        .CRATView select,
        .CRATView .form-control,
        .CRATView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .CRATView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .CRATView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .CRATView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .CRATView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .CRATView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .CRATView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .CRATView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .CRATView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .CRATView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .CRATView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .CRATView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .CRATView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .CRATView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .CRATView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .CRATView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .CRATView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .CRATView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .CRATView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .CRATView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .CRATView .nav.nav-tabs {
            border-bottom: none;
        }

        .CRATView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .CRATView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .CRATView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .CRATView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .CRATView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .CRATView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .CRATView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .CRATView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .CRATView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .CRATView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .CRATView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .CRATView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .CRATView .progress-bg {
            stroke: #ccc;
        }

        .CRATView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .CRATView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .CRATView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .CRATView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .CRATView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .CRATView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .CRATView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .CRAT-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .CRAT-letter-wrapper .CRAT-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .CRAT-letter-wrapper .CRAT-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .CRAT-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .CRAT-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .CRAT-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    /* RMD Calculator */

    /* RMDView styles */
    .RMD-main {
        display: flex;
        flex-direction: column;
    }

    .RMDView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .RMDView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .RMDView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .RMDView .RMD-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .RMDView .RMD-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .RMDView .RMD-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .RMDView .RMD-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .RMDView .RMD-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .RMDView .RMDDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .RMDView .RMD-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .RMDView .RMDDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .RMDView .RMDDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .RMDView .RMDDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .RMDView .RMDDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .RMDView .RMD-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .RMDView .RMD-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .RMDView .RMD-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .RMDView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .RMDView .RMD-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .RMDView .RMD-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .RMDView .RMD-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .RMDView .RMD-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .RMDView .RMD-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .RMDView .RMD-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .RMDView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .RMDView .RMD-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .RMDView .customized-input-number .input {
            text-align: center;
        }

        .RMDView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .RMDView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .RMDView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .RMDView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .RMDView .option-input-group div {
                border-radius: 10px;
            }

            .RMDView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .RMDView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .RMDView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .RMDView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .RMDView .collapse {
            display: none;
        }

        /* Button styles */
        .RMDView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .RMDView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .RMDView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .RMDView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .RMDView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .RMDView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .RMDView th, .RMDView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .RMDView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .RMDView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .RMDView input[type="date"],
        .RMDView input[type="text"],
        .RMDView select,
        .RMDView .form-control,
        .RMDView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .RMDView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .RMDView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .RMDView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .RMDView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .RMDView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .RMDView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .RMDView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .RMDView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .RMDView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .RMDView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .RMDView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .RMDView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .RMDView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .RMDView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .RMDView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .RMDView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .RMDView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .RMDView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .RMDView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .RMDView .nav.nav-tabs {
            border-bottom: none;
        }

        .RMDView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .RMDView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .RMDView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .RMDView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .RMDView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .RMDView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .RMDView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .RMDView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .RMDView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .RMDView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .RMDView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .RMDView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .RMDView .progress-bg {
            stroke: #ccc;
        }

        .RMDView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .RMDView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .RMDView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .RMDView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .RMDView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .RMDView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .RMDView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .RMD-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .RMD-letter-wrapper .RMD-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .RMD-letter-wrapper .RMD-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .RMD-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .RMD-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .RMD-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }




    /* InheritedIRARMDView styles */
    .InheritedIRARMD-main {
        display: flex;
        flex-direction: column;
    }

    .InheritedIRARMDView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .InheritedIRARMDView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .InheritedIRARMDView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .InheritedIRARMDView .InheritedIRARMD-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .InheritedIRARMDView .InheritedIRARMD-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .InheritedIRARMDView .InheritedIRARMD-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .InheritedIRARMDView .InheritedIRARMD-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .InheritedIRARMDView .InheritedIRARMD-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .InheritedIRARMDView .InheritedIRARMDDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .InheritedIRARMDView .InheritedIRARMD-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .InheritedIRARMDView .InheritedIRARMDDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .InheritedIRARMDView .InheritedIRARMDDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .InheritedIRARMDView .InheritedIRARMDDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .InheritedIRARMDView .InheritedIRARMDDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .InheritedIRARMDView .InheritedIRARMD-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .InheritedIRARMDView .InheritedIRARMD-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .InheritedIRARMDView .InheritedIRARMD-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .InheritedIRARMDView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .InheritedIRARMDView .InheritedIRARMD-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .InheritedIRARMDView .InheritedIRARMD-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .InheritedIRARMDView .InheritedIRARMD-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .InheritedIRARMDView .InheritedIRARMD-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .InheritedIRARMDView .InheritedIRARMD-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .InheritedIRARMDView .InheritedIRARMD-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .InheritedIRARMDView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .InheritedIRARMDView .InheritedIRARMD-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .InheritedIRARMDView .customized-input-number .input {
            text-align: center;
        }

        .InheritedIRARMDView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .InheritedIRARMDView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .InheritedIRARMDView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .InheritedIRARMDView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .InheritedIRARMDView .option-input-group div {
                border-radius: 10px;
            }

            .InheritedIRARMDView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .InheritedIRARMDView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .InheritedIRARMDView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .InheritedIRARMDView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .InheritedIRARMDView .collapse {
            display: none;
        }

        /* Button styles */
        .InheritedIRARMDView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .InheritedIRARMDView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .InheritedIRARMDView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .InheritedIRARMDView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .InheritedIRARMDView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .InheritedIRARMDView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .InheritedIRARMDView th, .InheritedIRARMDView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .InheritedIRARMDView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .InheritedIRARMDView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .InheritedIRARMDView input[type="date"],
        .InheritedIRARMDView input[type="text"],
        .InheritedIRARMDView select,
        .InheritedIRARMDView .form-control,
        .InheritedIRARMDView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .InheritedIRARMDView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .InheritedIRARMDView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .InheritedIRARMDView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .InheritedIRARMDView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .InheritedIRARMDView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .InheritedIRARMDView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .InheritedIRARMDView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .InheritedIRARMDView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .InheritedIRARMDView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .InheritedIRARMDView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .InheritedIRARMDView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .InheritedIRARMDView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .InheritedIRARMDView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .InheritedIRARMDView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .InheritedIRARMDView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .InheritedIRARMDView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .InheritedIRARMDView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .InheritedIRARMDView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .InheritedIRARMDView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .InheritedIRARMDView .nav.nav-tabs {
            border-bottom: none;
        }

        .InheritedIRARMDView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .InheritedIRARMDView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .InheritedIRARMDView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .InheritedIRARMDView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .InheritedIRARMDView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .InheritedIRARMDView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .InheritedIRARMDView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .InheritedIRARMDView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .InheritedIRARMDView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .InheritedIRARMDView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .InheritedIRARMDView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .InheritedIRARMDView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .InheritedIRARMDView .progress-bg {
            stroke: #ccc;
        }

        .InheritedIRARMDView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .InheritedIRARMDView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .InheritedIRARMDView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .InheritedIRARMDView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .InheritedIRARMDView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .InheritedIRARMDView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .InheritedIRARMDView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .InheritedIRARMD-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .InheritedIRARMD-letter-wrapper .InheritedIRARMD-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .InheritedIRARMD-letter-wrapper .InheritedIRARMD-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .InheritedIRARMD-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .InheritedIRARMD-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .InheritedIRARMD-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }






    /* CRUT Calculator */

    /* CRUTView styles */
    .CRUT-main {
        display: flex;
        flex-direction: column;
    }

    .CRUTView {
        display: flex;
        flex-direction: row;
        font-size: 16px;
        line-height: 1.5;
        height: calc(100vh - 5rem);
    }

        .CRUTView .h-resizer {
            height: 8px;
            font-size: 16px;
            border-bottom: none;
            border-top: none;
        }

        .CRUTView .resizer {
            width: 8px;
            min-width: 8px;
            max-width: 8px;
            writing-mode: vertical-lr;
            font-size: 16px;
            border-left: 1px solid #a9a9a9;
            border-right: none;
            background: none;
        }

        .CRUTView .CRUT-side-panel {
            flex: 1;
            display: flex;
            flex-direction: column;
            overflow: auto;
            width: 340px;
            padding: 3px 5px;
            margin: 10px;
            border: 1px solid #F0F0F0;
            box-shadow: 0px 2px 16px #F4FAFD;
            border-radius: 20px;
        }

            .CRUTView .CRUT-side-panel tbody tr td:first-child {
                max-width: 12em;
            }

            .CRUTView .CRUT-side-panel.fullscreen {
                width: 100vw !important;
                padding: 1vh 20vw;
                margin-right: 5%;
                margin-left: 5%;
            }

        .CRUTView .CRUT-results-wrapper {
            display: flex;
            flex-direction: column;
            width: 100%;
            overflow: auto;
            margin-left: 5px;
            margin-right: 5px;
            border: 1px solid #F4F4F4;
            border-radius: 20px;
        }

        .CRUTView .CRUT-results {
            display: flex;
            flex-direction: column;
            overflow: auto;
            margin-left: 6px;
            height: 100%;
        }

        .CRUTView .CRUTDetailsView {
            padding-left: 0px;
            padding-right: 0px;
            position: absolute;
            width: unset;
        }

        .CRUTView .CRUT-details-tables ul li:not(:last-child) {
            margin-bottom: 0.75rem;
        }

        .CRUTView .CRUTDetailsView table thead tr th {
            border-top: 0px;
            text-align: center;
            background-color: #E8F3F9;
        }

        .CRUTView .CRUTDetailsView table thead tr:first-child th:first-child {
            border-top-left-radius: 20px;
        }

        .CRUTView .CRUTDetailsView table thead tr:first-child th:last-child {
            border-top-right-radius: 20px;
        }

        .CRUTView .CRUTDetailsView table tbody tr td {
            border-top: 0px;
            text-align: center;
            padding: 0px 6px;
            white-space: nowrap;
        }

        .CRUTView .CRUT-details-tables {
            display: flex;
            flex-direction: column;
            flex: 1;
            z-index: 2;
            background-color: white;
        }

        .CRUTView .CRUT-details-header {
            cursor: pointer;
            background-color: #007BFF;
            color: white;
            padding: 8px 12px;
            font-weight: bold;
            font-size: 16px;
            border-radius: 4px;
        }

            .CRUTView .CRUT-details-header:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: black;
            }

        .CRUTView .details-tab-content {
            display: flex;
            position: relative;
            overflow: auto;
            flex-direction: column;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
            flex-grow: 1;
        }

        .CRUTView .CRUT-summaries-table-parent {
            display: flex;
            position: relative;
            overflow: auto;
            scrollbar-width: thin;
            scrollbar-color: #29ABE2 #B7E5FC;
            scrollbar-arrow-color: #B7E5FC;
        }

        .CRUTView .CRUT-summaries-tables {
            display: flex;
            flex-direction: column;
        }

            .CRUTView .CRUT-summaries-tables table thead tr th {
                text-align: center;
                background-color: #E8F3F9;
            }

            .CRUTView .CRUT-summaries-tables table thead tr:first-child th:first-child {
                border-top-left-radius: 20px;
            }

            .CRUTView .CRUT-summaries-tables table thead tr:first-child th:last-child {
                border-top-right-radius: 20px;
            }

            .CRUTView .CRUT-summaries-tables table tbody tr td {
                text-align: center;
                padding: 0px 6px;
                white-space: nowrap;
            }

        .CRUTView .summary-options {
            justify-content: space-between;
            margin-bottom: 2px;
        }

        .CRUTView .CRUT-options-header {
            cursor: pointer;
            background-color: #F4F4F4;
            color: #000000;
            font-weight: bold;
            font-size: 16px;
            border-radius: 10px;
            position: sticky;
            top: 0;
            z-index: 1;
        }

        .CRUTView .customized-input-number .input {
            text-align: center;
        }

        .CRUTView .customized-input-number .spinner.decrement {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .CRUTView .customized-input-number .spinner.increment {
            padding: 0px 0px 0px 0px;
            margin: 0px 2px 0px 2px;
            height: auto;
            background-color: #4AAEE1;
            border: none;
        }

        .CRUTView .option-input-group {
            border-bottom: 2px solid #F4F4F4;
            padding-bottom: 3px;
            margin-top: 3px;
            border-radius: 10px;
            border-bottom-left-radius: 0px;
            border-bottom-right-radius: 0px;
            padding-left: 5px;
            padding-right: 5px;
        }

            .CRUTView .option-input-group div:not(.option-input-title) {
                padding: 3px;
            }

            .CRUTView .option-input-group div {
                border-radius: 10px;
            }

            .CRUTView .option-input-group > div:first-child {
                border-radius: 10px 10px 0px 0px;
            }

            .CRUTView .option-input-group > div:nth-child(2) {
                border-radius: 0px 0px 10px 10px;
            }

        .CRUTView .option-input-title {
            font-weight: 500;
            padding-bottom: 3px;
            padding-left: 2px;
        }

        .CRUTView .no-hover {
            position: relative;
            top: -10px;
            border: 1px solid #F4F4F4;
            border-top: none;
            padding: 10px 0px;
            border-radius: 0px 0px 10px 10px;
        }

        .CRUTView .collapse {
            display: none;
        }

        /* Button styles */
        .CRUTView button {
            background-color: #4AAEE1;
            border: none;
            color: white;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin: 4px 2px;
            cursor: pointer;
            padding: 10px 24px;
            border-radius: 4px;
            transition: background-color 0.3s;
        }

            .CRUTView button:hover {
                background-color: #0056B3;
                text-decoration: none;
                color: white;
            }

        .CRUTView .customized-input-number button {
            width: 24px;
            height: 100%;
            margin: 2px
        }

        .CRUTView .advanced-option .customized-input-number button {
            background-color: purple !important;
        }

        .CRUTView td button {
            padding: 0px;
            width: 25px;
            height: 100%;
        }

        /* Table styles */
        .CRUTView table {
            width: 100%;
            border-collapse: collapse;
            font-size: 14px;
        }

        .CRUTView th, .CRUTView td {
            text-align: left;
            border-bottom: 1px solid #ddd;
            padding: 4px;
        }

        .CRUTView th {
            background-color: #f2f2f2;
            font-weight: bold;
        }

        .CRUTView tr:not(.no-hover):hover {
            background-color: #f5f5f5;
        }

        /* Input styles */
        .CRUTView input[type="date"],
        .CRUTView input[type="text"],
        .CRUTView select,
        .CRUTView .form-control,
        .CRUTView .customized-input-number input {
            width: 100%;
            padding: 0px 6px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 14px;
        }

        .CRUTView .arrow {
            display: inline-block;
            width: 0;
            height: 0;
            border-style: solid;
            margin-left: 5px;
        }

            .CRUTView .arrow.right {
                border-width: 5px 0 5px 5px;
                border-color: transparent transparent transparent #000;
            }

            .CRUTView .arrow.down {
                border-width: 5px 5px 0px 5px;
                border-color: #000 transparent transparent transparent;
            }

        /* Toggle Switch */
        .CRUTView .options-toggle {
            display: flex;
            flex-direction: row;
            justify-content: flex-end;
        }

        .CRUTView .toggle-switch {
            position: relative;
            display: inline-block;
            width: 40px;
            height: 20px;
        }

            .CRUTView .toggle-switch input {
                opacity: 0;
                width: 0;
                height: 0;
            }

        .CRUTView .toggle-slider {
            position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #ccc;
            transition: 0.4s;
            border-radius: 34px;
        }

            .CRUTView .toggle-slider:before {
                position: absolute;
                content: "";
                height: 16px;
                width: 16px;
                left: 4px;
                bottom: 2px;
                background-color: white;
                transition: 0.4s;
                border-radius: 50%;
            }

        .CRUTView input:checked + .toggle-slider {
            background-color: #007BFF;
        }

        .CRUTView input:focus + .toggle-slider {
            box-shadow: 0 0 1px #007BFF;
        }

        .CRUTView input:checked + .toggle-slider:before {
            transform: translateX(16px);
        }

        /* Multi-Option Switch with Timeline */
        .CRUTView .multi-option-switch {
            display: flex;
            position: relative;
            justify-content: space-between;
            padding: 5px 7px;
            background-color: #f0f0f0;
            border-radius: 6px;
            margin-left: 4px;
            margin-right: 4px;
        }

            .CRUTView .multi-option-switch input[type="radio"] {
                display: none;
            }

            .CRUTView .multi-option-switch label {
                display: flex;
                flex: 1;
                justify-content: center;
                white-space: nowrap;
                cursor: pointer;
                text-align: center;
                color: #999;
                transition: background-color 0.4s, transform 0.4s;
                position: relative;
                z-index: 1;
                font-weight: 600;
                border-radius: 6px;
                padding: 2px 8px;
                transform: scale(0.9);
            }

            .CRUTView .multi-option-switch input[type="radio"]:checked + label {
                color: #fff;
                transform: scale(1);
                font-weight: 600;
                background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
                padding: 2px 8px;
            }

            .CRUTView .multi-option-switch input[type="radio"]:first-child:checked + label {
                background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
            }

            .CRUTView .multi-option-switch input[type="radio"]:last-child:checked + label {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            }

        .CRUTView .tabs-container {
            margin-top: 7px;
            margin-bottom: 7px;
            margin-right: 5px;
            display: flex;
            flex-direction: column;
            flex-grow: 100;
        }

        .CRUTView .nav-item button {
            padding-top: 6px;
            padding-bottom: 6px;
            font-size: 12pt;
        }

        .CRUTView .nav.nav-tabs {
            border-bottom: none;
        }

        .CRUTView .nav-tabs .nav-link {
            color: #087DC4;
            font-weight: 600;
            background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
            margin: 0px;
            border-radius: 0px;
        }

        .CRUTView .nav-tabs .nav-item:first-child .nav-link {
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
        }

        .CRUTView .nav-tabs .nav-item:last-child .nav-link {
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }

        .CRUTView .nav-tabs .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .CRUTView .nav-tabs .nav-item:first-child .nav-link.active {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
            color: #FFFFFF;
        }

        .CRUTView .nav-tabs .nav-item:last-child .nav-link.active {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
            color: #FFFFFF;
        }

        .CRUTView .tab-content {
            border-top: none;
            padding: 6px 0px 0px 0px;
            background-color: #fff;
            display: flex;
            flex-grow: 100;
            justify-content: center;
            align-items: center;
            flex-direction: column;
        }

        .CRUTView .tab-pane {
            height: 100%;
            width: 100%;
        }

        .CRUTView .tab-content > .active {
            display: flex;
            flex-direction: column;
        }

        /* Scroll to Top Button */
        .CRUTView .scroll-to-top-btn {
            display: none;
            position: fixed;
            bottom: 20px;
            right: 40px;
            z-index: 99;
            font-size: 14px;
            width: 40px;
            height: 40px;
            color: white;
            background-color: #007BFF;
            border: none;
            cursor: pointer;
            border-radius: 50%;
            transition: background-color 0.3s;
            text-align: center;
            padding: 0px;
            margin: 2px;
        }

            .CRUTView.scroll-to-top-btn:hover {
                background-color: #0056B3;
            }

        .CRUTView .progress-circle {
            position: absolute;
            top: 0;
            left: 0;
        }

        .CRUTView .progress-bg {
            stroke: #ccc;
        }

        .CRUTView .progress-bar {
            stroke: white;
            stroke-linecap: round;
            transform-origin: center;
            transform: rotate(-90deg);
        }

        /* More Details Below indicator */
        .CRUTView .scroll-indicator {
            display: none;
            position: sticky;
            width: 200px;
            bottom: 20px;
            left: 50%;
            transform: translateX(-50%);
            background-color: rgba(0, 0, 0, 0.4);
            border-radius: 4px;
            padding: 6px 12px;
            text-align: center;
            color: rgb(255, 255, 255, 1);
            font-weight: bold;
            animation: pulsate 2s infinite;
            cursor: pointer;
        }

    @keyframes pulsate {
        0% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }

        50% {
            transform: translateX(-50%) scale(1.1);
            opacity: 0.5;
        }

        100% {
            transform: translateX(-50%) scale(1);
            opacity: 1;
        }
    }

    .CRUTView .zoom-control-toolbar {
        position: sticky;
        bottom: 0px;
        left: 0px;
        right: 0px;
        background: #F5F5F5;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 10px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px;
    }

        .CRUTView .zoom-control-toolbar .btn {
            font-size: 14px;
            border-radius: 6px;
            padding: 3px 5px;
            margin-right: 5px;
            background: #4AAEE1;
            color: white;
            font-weight: 500;
        }

        .CRUTView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .CRUTView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

        .CRUTView .zoom-control-toolbar input {
            accent-color: #4AAEE1;
        }

    @keyframes slideDown {
        0% {
            transform: translateY(-100%);
        }

        100% {
            transform: translateY(0%);
        }
    }

    .CRUT-letter-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1001;
    }

        .CRUT-letter-wrapper .CRUT-letter-popout {
            background-color: white;
            padding: 2rem;
            border-radius: 4px;
            width: 90%;
            max-width: 600px;
            max-height: 90%;
            overflow-y: auto;
        }

        .CRUT-letter-wrapper .CRUT-letter-button {
            min-width: 100px;
            margin: 0 10px;
        }

        .CRUT-letter-wrapper .button-wrapper {
            display: flex;
            justify-content: center;
            margin-top: 15px;
        }

        .CRUT-letter-wrapper .form-group {
            margin-bottom: 1rem;
        }

        .CRUT-letter-wrapper .form-check {
            margin-bottom: 0.5rem;
        }

    .summary-options {
        display: flex;
        height: 35px;
        align-items: center;
        justify-content: flex-start;
        align-content: center;
    }

        .summary-options .customized-input-number button {
            height: 25px;
            padding: 0px;
        }

        .summary-options .customized-input-number input {
            height: 26px;
            width: 100px;
        }

    .inflation-adjusted-label {
        position: fixed;
        top: 0;
        left: 0;
        padding: 1px 15px;
        background-color: #e74c3c;
        border-bottom-right-radius: 5px;
        font-weight: bold;
        z-index: 1000;
        font-size: 16px;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
        animation: slideDown 0.5s ease-out forwards;
        opacity: 0.95;
    }

    /* boxes view */
    .boxes-view {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        margin-top: 4px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 4px;
    }

        .boxes-view .scenario-title {
            margin-bottom: 20px;
        }

        .boxes-view .scenario-view {
            background: #ffffff;
            padding: 20px;
        }

        .boxes-view .scenario-box-view {
            background: #ffffff;
        }

            .boxes-view .scenario-box-view tr {
            }

            .boxes-view .scenario-box-view td {
                height: inherit;
                white-space: nowrap;
            }

        .boxes-view .content-control {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            width: 100%;
            height: 100%;
        }

            .boxes-view .content-control td {
                border: 1px solid #000000;
            }

            .boxes-view .content-control p {
                width: max-content;
                min-width: 100%;
            }

        .boxes-view .content-sub-control {
            margin-right: 10px;
        }

            .boxes-view .content-sub-control:last-child {
                margin-right: 0px;
            }

            .boxes-view .content-sub-control td {
                border: 1px solid #000000;
            }

        .boxes-view p {
            font-size: 14px;
            margin-bottom: 0px;
        }

            .boxes-view p.amount-style {
                font-size: 16px;
            }

        .boxes-view .scenario-title p {
            text-align: center;
            font-size: 16px;
            margin-bottom: 0px;
        }

        .boxes-view .content-control p {
            padding-left: 5px;
        }

        .boxes-view .content-control .flex-1 {
            flex: 1;
        }

        .boxes-view .content-control .flex-2 {
            flex: 2;
        }

        .boxes-view .content-control .flex-grow-100 {
            flex-grow: 100;
        }

        .boxes-view .content-control .border-1 {
            border: 1px solid #000000;
            border-top: none;
        }

        .boxes-view .content-control .border-left-1 {
            border-left: 1px solid #000000;
        }

        .boxes-view .content-control .border-right-1 {
            border-left: 1px solid #000000;
        }

        .boxes-view .content-control div.estate-title-text-style {
            text-align: center;
            border: 1px solid rgb(255,0,0,0.4);
            border-bottom: 1px solid #000000;
            width: max-content;
            min-width: 100%;
        }

        .boxes-view .estate-title-text-style {
            font-weight: bold;
            background: rgb(255,0,0,0.4);
            font-size: 14px;
            color: black;
        }

        .boxes-view .content-control div.bypass-title-text-style {
            text-align: center;
            border: 1px solid rgb(200,141,0, 0.4);
            border-bottom: 1px solid #000000;
            width: max-content;
            min-width: 100%;
        }

        .boxes-view .bypass-title-text-style {
            font-weight: bold;
            background: rgb(200,141,0, 0.4);
            font-size: 14px;
            color: black;
        }

        .boxes-view .content-control div.gifting-title-text-style {
            text-align: center;
            border: 1px solid rgb(32,74,135,0.4);
            border-bottom: 1px solid #000000;
            width: max-content;
            min-width: 100%;
        }

        .boxes-view .gifting-title-text-style {
            font-weight: bold;
            background: rgb(32,74,135,0.4);
            font-size: 14px;
            color: black;
        }

        .boxes-view .content-control div.installment-title-text-style {
            text-align: center;
            border: 1px solid rgb(0,0,255,0.4);
            border-bottom: 1px solid #000000;
            width: max-content;
            min-width: 100%;
        }

        .boxes-view .installment-title-text-style {
            font-weight: bold;
            background: rgb(0,0,255,0.4);
            font-size: 14px;
            color: black;
        }

        .boxes-view .content-control div.title-text-style.not-trust {
            background: yellow;
            border: 1px solid yellow;
            border-bottom: 1px solid #000000;
            color: black;
        }

        .boxes-view .title-text-style.not-trust {
            font-weight: bold;
            background: yellow;
            border: 1px solid yellow;
            border-bottom: 1px solid #000000;
            font-size: 14px;
            color: black;
        }

        .boxes-view .title-text-style.trust {
            font-weight: bold;
            font-size: 14px;
            text-align: center;
            background: rgb(100,45,100,0.4);
            border: 1px solid rgb(100,45,100,0.4);
            border-bottom: 1px solid #000000;
            color: black;
        }

        .boxes-view .ilitdata-template {
        }

            .boxes-view .ilitdata-template .ilitdata-template-box {
                display: flex;
                width: 100%;
                height: 100%;
            }

            .boxes-view .ilitdata-template .content-sub-control {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                flex: 1;
            }


                .boxes-view .ilitdata-template .content-sub-control div {
                    border: 1px solid #000000;
                    border-top: none;
                }

                    .boxes-view .ilitdata-template .content-sub-control div.title-text-style {
                        border: 1px solid rgb(100,45,100,0.4);
                        border-bottom: 1px solid #000000;
                        width: max-content;
                        text-align: center;
                        min-width: 100%;
                    }

                    .boxes-view .ilitdata-template .content-sub-control div.not-trust {
                        border: 1px solid yellow;
                        border-bottom: 1px solid #000000;
                    }

                    .boxes-view .ilitdata-template .content-sub-control div.border-0 div {
                        border: none;
                    }

                    .boxes-view .ilitdata-template .content-sub-control div p {
                        width: max-content;
                        padding-left: 5px;
                    }

        .boxes-view .qprtdata-template {
        }

            .boxes-view .qprtdata-template .qprtdata-template-box {
                display: flex;
                width: 100%;
                height: 100%;
            }

            .boxes-view .qprtdata-template .content-sub-control {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                flex: 1;
            }

                .boxes-view .qprtdata-template .content-sub-control div {
                    border: 1px solid #000000;
                    border-top: none;
                }

                    .boxes-view .qprtdata-template .content-sub-control div.title-text-style {
                        font-size: 14px;
                        font-weight: bold;
                        border: 1px solid rgb(155, 38, 182, 0.6);
                        border-bottom: 1px solid #000000;
                        width: max-content;
                        text-align: center;
                        min-width: 100%;
                        background: rgb(155, 38, 182, 0.4);
                    }

                    .boxes-view .qprtdata-template .content-sub-control div.border-0 div {
                        border: none;
                    }

                    .boxes-view .qprtdata-template .content-sub-control div p {
                        width: max-content;
                        padding-left: 5px;
                    }

    .boxes-hidden-view {
        z-index: -99;
        position: absolute;
        pointer-events: none;
        display: none;
    }

    /* timeline */
    .chart-view {
        background: #ffffff;
        padding: 20px;
        margin-top: 20px;
        margin-left: 10px;
        margin-right: 10px;
        width: 100%;
    }

    .chart-hidden-view {
        z-index: -99;
        position: relative;
        pointer-events: none;
        width: 1500px;
        height: 800px;
        display: none;
    }

    /* details */
    .projections-view {
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        margin-top: 20px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10px;
    }

        .projections-view > div {
            background: #ffffff;
            padding: 20px;
        }

        .projections-view .scenario-name {
            font-size: 16px;
            font-weight: bold;
        }

        .projections-view .options-in-header-template .spouse1 {
            font-size: 14px;
            font-weight: bold;
            margin-bottom: 0px;
        }

        .projections-view .options-in-header-template .spouse2 {
            font-size: 14px;
            font-weight: bold;
        }

        .projections-view .stack {
            margin-bottom: 20px;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

            .projections-view .stack .stack-title {
                text-align: center;
                font-weight: bold;
                margin-bottom: 0px;
                font-size: 14px;
            }

            .projections-view .stack table th {
                font-size: 14px;
                font-weight: inherit;
                border: 1px solid #dddddd;
                padding-left: 5px;
                padding-right: 5px;
            }

            .projections-view .stack table td {
                font-size: 14px;
                font-weight: inherit;
                border: 1px solid #dddddd;
                padding-left: 5px;
                padding-right: 5px;
            }

                .projections-view .stack table td p {
                    margin-bottom: 0px;
                }

                .projections-view .stack table td .foreground-red {
                    color: red;
                }

    .projections-hidden-view {
        z-index: -99;
        position: absolute;
        pointer-events: none;
        display: none;
    }

    /* Annual Amts*/
    .diagnostics-view {
        display: table;
        margin-top: 20px;
        margin-left: 10px;
        margin-right: 10px;
        margin-bottom: 10px;
        background: #ffffff;
        padding: 20px;
        width: 100%;
    }

        .diagnostics-view .account-select-box {
            display: flex;
            align-items: center;
            margin-bottom: 5px;
        }

            .diagnostics-view .account-select-box p {
                margin-bottom: 0px;
                margin-right: 10px;
                font-size: 14px;
            }

            .diagnostics-view .account-select-box select {
                width: 100%;
                font-size: 14px;
            }

        .diagnostics-view table td {
            font-size: 14px;
            font-weight: inherit;
            border: 1px solid #000;
            padding-left: 5px;
            padding-right: 5px;
            white-space: nowrap;
        }

        .diagnostics-view table th {
            font-size: 14px;
            font-weight: inherit;
            border: 1px solid #000;
            padding-left: 5px;
            padding-right: 5px;
            text-align: center;
        }

            .diagnostics-view table th:last-child {
                width: 100%;
            }

    .customized-input-number {
        position: relative;
        align-items: center;
    }

    .OneTimeExpensesView table td .customized-input-number button {
        background-color: #007BFF;
    }

    .lightGray {
        background: #D3D3D3;
    }

    .content {
        padding-top: 1.1rem;
    }

    .navbar-toggler {
        background-color: rgba(255, 255, 255, 0.1);
    }

    .truncate {
        width: 250px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .vertical-align-top {
        vertical-align: top;
    }

    .vertical-align-bottom {
        vertical-align: bottom;
    }

    .valid.modified:not([type=checkbox]) {
        outline: 1px solid #26b050;
    }

    .invalid {
        outline: 1px solid red;
    }

    .validation-message {
        color: red;
    }

    #blazor-error-ui {
        background: lightyellow;
        bottom: 0;
        box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
        display: none;
        left: 0;
        padding: 0.6rem 1.25rem 0.7rem 1.25rem;
        position: fixed;
        font-size: xx-large;
        height: 80%;
        width: 100%;
        z-index: 999999;
    }

        #blazor-error-ui .dismiss {
            cursor: pointer;
            position: absolute;
            right: 0.75rem;
            top: 0.5rem;
        }

    .assumptionsPage {
        display: flex;
        flex: 1;
        position: absolute;
        background-color: #f0f0f0;
        z-index: 999;
        visibility: hidden;
        opacity: 0;
        transition: visibility 0s, opacity 0.5s linear;
    }

        .assumptionsPage .navbar {
            overflow-x: clip;
            z-index: 2;
        }

            .assumptionsPage .navbar .nav-item .nav-link {
                white-space: nowrap;
            }

        .assumptionsPage.active {
            visibility: visible;
            opacity: 1;
            position: relative;
        }

        .assumptionsPage #actuarialYearOfDeath {
            text-align: center;
        }

        .assumptionsPage .nav-link {
            font-size: 9pt;
        }

        .assumptionsPage .assumptions-header {
            display: flex;
            width: 100%;
            justify-content: space-between;
        }

        .assumptionsPage .navbar li {
            width: fit-content;
        }

    .resizer {
        background-color: #f0f0f0 !important;
        cursor: ew-resize;
        height: 100%;
        width: 16px;
        min-width: 16px;
        max-width: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        border-right: 1px dotted #a9a9a9;
        border-left: 1px dotted #a9a9a9;
        background: linear-gradient(#a9a9a9, #a9a9a9) center 0/1px 2px repeat-y;
        user-select: none;
        touch-action: none;
        z-index: 2;
    }

    .resizer-vertical {
        background-color: #f0f0f0 !important;
        cursor: ew-resize;
        height: 16px;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        border-right: 1px dotted #a9a9a9;
        border-left: 1px dotted #a9a9a9;
        background: linear-gradient(#a9a9a9, #a9a9a9) center 0/1px 1px repeat-x;
        user-select: none;
        touch-action: none;
    }

    .h-resizer {
        background-color: #f0f0f0 !important;
        cursor: ns-resize;
        height: 16px;
        flex-shrink: 0;
        z-index: 999;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        border-top: 1px dotted #a9a9a9;
        border-bottom: 1px dotted #a9a9a9;
        background: linear-gradient(90deg, #a9a9a9, #a9a9a9) center 0/2px 1px repeat-x;
        user-select: none;
        touch-action: none;
    }

    .assumptions {
        overflow: scroll;
        overflow-x: auto;
        width: 100%;
        position: relative;
        z-index: 2;
        background-color: white;
    }

    .assumptionsPage table {
        border-collapse: collapse;
        width: 100%;
    }

    .assumptionsPage .expanded table {
        width: 80%;
    }

    .second-column {
        width: 40%;
    }

    .expanded .second-column {
        width: 45%;
    }

    .assumptionsPage th {
        font-size: 12px;
        padding-left: 10px;
    }

    .assumptionsPage .expanded table th {
        font-size: x-large;
    }

    .assumptionsPage td {
        border: 1px solid #dddddd;
        background-color: #ffffff;
        font-size: 12px;
    }

    .assumptionsPage .expanded table td {
        font-size: x-large;
    }

    .assumptionsPage td input {
        width: 100%;
        outline: none;
        border: none;
        text-align: center;
    }

    .assumptionsPage td .checkbox {
        width: auto;
        display: flex;
        margin-left: 5px;
        align-self: center;
    }

    .assumptionsPage .expanded td .checkbox {
        width: auto;
        display: flex;
        margin-left: 15px;
        transform: scale(1.5);
    }

    .assumptionsPage .expanded th .checkbox {
        width: auto;
        display: flex;
        margin-left: 15px;
        margin-right: 15px;
        transform: scale(1.5);
    }

    .assumptionsPage nav {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding-top: 0px;
        padding-bottom: 4px;
    }

    .navbar {
        padding-top: 0px !important;
    }

    .assumptionsPage nav .navbar-brand {
        padding-top: 0px;
        padding-bottom: 0px;
    }

    .assumptionsPage nav ul {
        display: block;
        columns: 3;
        column-width: 80px;
        column-gap: 0px;
    }

        .assumptionsPage nav ul li a {
            padding: 0.25rem 0.5rem;
        }

    .assumptionsPage th .oi {
        white-space: nowrap;
    }

    .assumptionsPage td select {
        width: 100%;
        outline: none;
        border: none;
        text-align: center;
    }

    .assumptionsPage td .customized-input-number input {
        text-align: center;
    }

    .assumptionsPage .options-afr-lookup-btn {
        font-size: 12px;
        padding: 0px 2px 0px 2px;
        background-color: aqua;
        margin-right: 2px;
    }

    .options-afr-lookup-btn img {
        height: 15px;
    }

    .planner-header {
        background-color: rgb(185,240,170,0.4);
    }

    .client-header {
        background-color: rgb(255,0,0,0.4);
    }

    .spouse1-header {
        background-color: rgb(255,0,0,0.2);
    }

    .spouse2-header {
        background-color: rgb(255,0,0,0.2);
    }

    .portability-header {
        background-color: rgb(255,255,0,0.4);
    }

    .exemption-header {
        background-color: rgb(255,255,0,0.4);
    }

    .strategies-header {
        background-color: gold;
    }

    .residence-header {
        background-color: rgb(78,154,6,0.4);
    }

    .investments-header {
        background-color: rgb(50,205,50,0.4);
    }

    .bypass-header {
        background-color: rgb(200,141,0, 0.4);
    }

    .gifting-header {
        background-color: rgb(32,74,135,0.4);
    }

    .life-insurance-header {
        background-color: rgb(100,45,100,0.4)
    }

    .spouse1-insurance-header {
        background-color: rgb(255,165,0,0.4);
    }

    .spouse2-insurance-header {
        background-color: rgb(255,255,0,0.4);
    }

    .survivorship-insurance-header {
        background-color: rgb(0,128,0,0.4);
    }

    .installment-header {
        background-color: rgb(0,0,255,0.4);
    }

    .misc-header {
        background-color: rgb(0,0,255,0.4);
    }

    .charity-header {
        background-color: cyan;
    }

    .no-bottom-border {
        border-bottom: none !important;
    }

    .no-top-border {
        border-top: none !important;
    }

    .form-range {
        height: 1rem !important;
    }

    .workspaceView {
        display: flex;
        flex-direction: column;
        align-items: center;
        flex-grow: 100;
        background: #A9A9A9;
        overflow: auto;
        position: relative;
    }

    .boxes-view button {
        display: none;
    }

    .hidden-views .boxes-view button {
        display: none !important;
    }

    .workspaceView .boxes-view button {
        display: block;
    }

    .workspaceView .summary-options .customized-input-number button {
        width: 25px;
    }

    .workspaceView .zoom-control-toolbar {
        position: fixed;
        bottom: 2.2rem;
        left: 0px;
        right: 0px;
        background: #D2E6FA;
        width: 100%;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
        padding-right: 205px;
    }

        .workspaceView .zoom-control-toolbar .btn {
            font-size: 14px;
            border: 1px solid #666;
            border-radius: 0px;
            padding: 3px;
            margin-right: 5px;
            background: #DDDDDD;
        }

        .workspaceView .zoom-control-toolbar .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .workspaceView .zoom-control-toolbar .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

    .workspaceView .zoom-control-toolbar-after {
        position: fixed;
        bottom: 2.2rem;
        left: 0px;
        right: 0px;
        background: #D2E6FA;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding-top: 5px;
        padding-bottom: 5px;
    }

        .workspaceView .zoom-control-toolbar-after .btn {
            font-size: 14px;
            border: 1px solid #666;
            border-radius: 0px;
            padding: 3px;
            margin-right: 5px;
            background: #DDDDDD;
        }

        .workspaceView .zoom-control-toolbar-after .slider {
            margin-left: 5px;
            margin-right: 10px;
        }

        .workspaceView .zoom-control-toolbar-after .percent-label {
            margin-bottom: 0px;
            margin-right: 10px;
            font-size: 14px;
        }

    .workspaceView .btn-group {
        display: flex;
        align-self: center;
        width: 99%;
    }


    .scenario-list-view {
        flex-shrink: 0;
        overflow-y: scroll;
        overflow-x: hidden;
        width: 178px;
        min-width: fit-content;
    }

    .scenarios-header {
        display: flex;
        width: 100%;
        justify-content: space-between;
        flex-wrap: nowrap;
        padding-top: 0px;
    }

    .scenario-list-view .list-group-item .scenario-name {
        display: block;
        width: 100%;
        font-weight: bold;
        font-size: 12px;
    }

    li .list-group-item {
        height: 40px;
        border: none !important;
        padding-left: 30px;
        background-color: #EEF5FD !important;
    }

    .scenarioView.active {
        display: flex;
        background-color: #eee;
    }

    .scenario-list-view .list-group-item.active {
        background: #CBE8F6;
        color: #000000;
        margin-top: 2px !important;
    }

    .scenario-list-view .list-group-item {
        border: 1px solid black !important;
        margin: 2px;
        width: auto;
        height: fit-content;
        border-radius: 5px;
        display: flex;
    }

    .scenario-list-view .set-height {
        min-height: 72px;
    }

    .scenario-list-view .list-group-item-action:focus, .list-group-item-action:hover {
        border-color: #70C0E7;
    }

    .scenario-list-view .boxes-view {
        display: flex;
        transform: scale(0.1);
        max-width: 50px;
        max-height: 190px;
        margin-top: -70px;
        margin-left: -30px !important;
        margin-bottom: 5px;
        margin-right: initial !important;
        align-items: flex-start;
        transform-origin: center !important;
        pointer-events: none;
    }

        .scenario-list-view .boxes-view .content-control td {
            border: 1px solid #ddd;
        }

            .scenario-list-view .boxes-view .content-control td.title-text-style {
                border: 1px solid #ddd;
            }

        .scenario-list-view .boxes-view .content-sub-control td {
            border: 1px solid #ddd;
        }

            .scenario-list-view .boxes-view .content-sub-control td.title-text-style.not-trust {
                border: 1px solid #ddd;
            }

    .progress {
        position: absolute;
        z-index: 999;
        width: 100%;
        bottom: 0px;
        background: transparent;
    }

    .menu-items-group:hover {
        cursor: pointer;
    }


    button.alter-summary-columns-button {
        all: unset;
        width: fit-content;
        cursor: pointer;
        margin-left: 1em;
        margin-right: 1em;
        font-weight: 500;
        color: #0172bd;
        font-size: 12pt;
        text-decoration: underline;
    }

        button.alter-summary-columns-button:hover {
            all: unset;
            width: fit-content;
            cursor: pointer;
            margin-left: 1em;
            margin-right: 1em;
            font-weight: 500;
            color: #0150bd;
            font-size: 12pt;
            text-decoration: underline;
            background-color: beige;
        }


    button.tab-button:not(.active) {
        color: #087DC4;
    }

    .tab-button {
        display: flex;
        flex-grow: 1;
        justify-content: center;
        align-content: center;
        background: linear-gradient(99.02deg, #E8F3F9 95.38%, #E8F3F9 95.38%);
        color: #087DC4;
        font-weight: 600;
        padding: 4px;
        border: none;
        margin: 4px 2px;
        font-size: 14px;
    }

        .tab-button:first-child {
            border-top-left-radius: 20px;
        }

        .tab-button:last-child {
            border-top-right-radius: 20px;
        }

    .active.tab-button {
        background: linear-gradient(99.02deg, #0071BC 95.38%, #0071BC 95.38%);
        color: white;
    }

        .active.tab-button:first-child {
            background: linear-gradient(99.02deg, #29ABE2 -19.8%, #0071BC 95.38%);
        }

        .active.tab-button:last-child {
            background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%);
        }

            .active.tab-button:last-child:first-child {
                background: linear-gradient(99.02deg, #0071BC -19.8%, #0071BC 95.38%);
            }

    svg.down {
        transform: rotate(180deg);
    }

    .blue-border-right {
        border-right: 5px solid rgba(0, 0, 255, 1);
    }

    .purple-border-right {
        border-right: 5px solid purple;
    }

    .lightGrey-background {
        background-color: lightgrey;
    }

    .lightBlue-background {
        background-color: rgba(0, 0, 255, 0.3);
    }

    /* Intake Form Styles */
    .intake-form {
        background-color: #f9f9f9;
        height: calc(100% - 49px);
    }

        .intake-form .scroll-margin {
            scroll-margin-top: 100px;
        }

        .intake-form .highlight {
            background-color: #ffebbd !important;
            border: 1.5px solid #ffab00 !important;
            box-shadow: 0px 0px 1px 1px #ffab00 !important;
        }

            .intake-form .highlight:not(input):not(.card) {
                border-radius: 4px;
            }

            .intake-form .highlight:hover {
                box-shadow: 0px 0px 1px 1px #ffab00, 0px 0px 0px 1px #555 !important;
            }

            .intake-form .highlight:focus, .intake-form .highlight:focus-within {
                box-shadow: 0px 0px 2px 1px #ffab00, 0 0 0 0.25rem rgb(13 110 253 / 25%) !important;
            }

        .intake-form .scroll-margin:focus {
            animation: focusPulse 1s linear;
            animation-delay: 0.5s;
        }

    @keyframes focusPulse {
        0% {
            background-color: initial;
            box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px;
        }

        10% {
            background-color: rgba(11, 94, 215, 0.5);
            box-shadow: rgba(11, 94, 215, 0.5) 0px 0px 10px 10px;
        }

        100% {
            background-color: initial;
            box-shadow: rgba(0, 0, 0, 0) 0px 0px 10px 100px;
        }
    }

    .btn:hover .settings-gear {
        animation: turnGear 0.5s ease;
    }

    @keyframes turnGear {
        0% {
            transform: rotate(0deg)
        }

        100% {
            transform: rotate(90deg)
        }
    }

    .intake-form .portal-button:hover {
        color: #fff !important;
        background-color: #039db8 !important;
        border-color: #039db8 !important;
    }

    .intake-form .customized-input-number input {
        text-align: left;
        width: 100%;
        margin-left: 2px;
        margin-right: 2px;
        border-radius: 0.25rem;
        border: 1px solid #ced4da;
    }

    .intake-form .sidebar {
        background-color: #181C32;
        color: #fff;
        height: 100%;
        overflow-y: auto;
        padding: 20px;
        font-weight: bold;
        scrollbar-color: lightgray #181C32;
    }

        .intake-form .sidebar h5 {
            color: #fff;
            font-weight: bold;
        }

        .intake-form .sidebar .nav-item {
            border-radius: 6px;
        }

        .intake-form .sidebar .nav-link {
            color: #adb5bd;
            border-radius: 6px;
            padding: 0;
            transition: none;
            cursor: pointer;
            align-items: center;
            transition: all 0.1s linear;
        }

            .intake-form .sidebar .nav-link.sub {
                border-radius: 0px;
                padding: 0.5em 1em;
            }

            .intake-form .sidebar .nav-link .item-text {
                padding: .5rem 0 .5rem 1rem;
                flex: 1 1 100%;
            }

            .intake-form .sidebar .nav-link.calc .item-text {
                box-shadow: inset 8px 0 0 #ffebbd;
                border-radius: 6px;
            }

    .intake-form .nav-link:hover .item-text {
        transform: scaleX(1.05) translate(1.25%);
    }

    .intake-form .sidebar .nav-item.review .nav-link, .intake-form .sidebar .nav-item.results .nav-link {
        color: #d5d9de;
    }

    .intake-form .sidebar .nav-item.review {
        background-color: rgba(133, 174, 235, 0.2);
    }

    .intake-form .sidebar .nav-item.results {
        background-color: rgba(133, 174, 235, 0.4);
    }

    .intake-form .sidebar .nav-link:hover {
        color: #fff !important;
        background-color: rgba(11, 94, 215, 0.2);
    }

    .intake-form .sidebar .nav-link.active {
        color: #fff !important;
        background-color: rgba(11, 94, 215, 0.5);
    }

        .intake-form .sidebar .nav-link.active .item-text {
            transform: none;
            transform: scaleX(1.05);
        }

        .intake-form .sidebar .nav-link.active.calc .item-text {
            box-shadow: inset 8px 0 0 #ffebbd;
            background-image: linear-gradient(to right, #113d85, rgba(17, 61, 133, 0))
        }

    .intake-form .change-step-btn:hover {
        background-color: #0851bb;
    }

    .intake-form .nav-link.sub:hover {
        transform: scale(1);
        background-color: rgba(11, 94, 215, 0.5);
        box-shadow: none;
    }

    .intake-form .sidebar .collapse-toggle {
        border-color: #797E84 !important;
        background-color: rgba(255, 255, 255, 0.05) !important;
        border-radius: 15px !important;
        height: 90%;
    }

    .intake-form .sidebar .nav-link.active .collapse-toggle {
        border-color: #AEB1B5 !important;
        color: #AEB1B5 !important;
        background-color: rgba(255, 255, 255, 0.075) !important;
    }

    .intake-form .sidebar .nav-item.review .nav-link .collapse-toggle, .intake-form .sidebar .nav-item.results .nav-link .collapse-toggle {
        border-color: #AEB1B5 !important;
        color: #AEB1B5 !important;
        background-color: rgba(255, 255, 255, 0.075) !important;
    }

        .intake-form .sidebar .nav-item.review .nav-link .collapse-toggle:hover, .intake-form .sidebar .nav-item.results .nav-link .collapse-toggle:hover {
            border-color: #fff !important;
            color: #fff !important;
            background-color: rgba(255, 255, 255, 0.15) !important;
        }

    .intake-form .sidebar .nav-link.active .collapse-toggle:hover {
        border-color: #fff !important;
        color: #fff !important;
        background-color: rgba(255, 255, 255, 0.15) !important;
    }

    .intake-form .sidebar .collapse-toggle:hover {
        border-color: #fff !important;
        background-color: rgba(255, 255, 255, 0.15) !important;
    }

    .intake-form .sidebar .collapse-toggle.collapsed {
        content: "\F279";
        font-family: bootstrap-icons !important;
        font-size: 1.25rem;
        line-height: 1;
    }

    .intake-form .sidebar .collapse-toggle::after {
        content: "\F27C";
        font-family: bootstrap-icons !important;
        font-size: 1.25rem;
        line-height: 1;
    }

    .intake-form .sidebar .collapse-toggle.collapsed::after {
        content: "\F279";
        font-family: bootstrap-icons !important;
        font-size: 1.25rem;
        line-height: 1;
    }

    .intake-form .card {
        border-radius: 10px;
        margin-bottom: 20px;
    }

    .intake-form h4 {
        margin-top: 10px;
        font-weight: bold;
    }

    .intake-form h5 {
        font-weight: bold;
    }

    .intake-form label {
        font-weight: 500;
    }

    .intake-form .btn {
        min-width: 100px;
    }

    .intake-form input,
    .intake-form select,
    .intake-form textarea {
        text-align: left;
    }

        .intake-form input:hover:not(:focus),
        .intake-form select:hover:not(:focus),
        .intake-form textarea:hover:not(:focus) {
            box-shadow: 0px 0px 0px 1px #aaa;
        }

    .intake-form .list-group-item {
        background-color: #f9f9f9;
    }

    /*@media (max-width: 767px) {
    .intake-form .sidebar {
        display: none;
    }
}*/

    .intake-form .multi-person-check {
        margin-right: 5px;
        width: fit-content;
        border: 1px solid #ced4da;
        border-radius: 4px
    }

    /* Style for the chart containers */
    .intake-form .chart-container {
        position: relative;
        width: 100%;
    }

    /* Style for the progress bars in the charts */
    .intake-form .chart-bars .progress {
        height: 24px;
    }

    .intake-form .chart-bars .progress-bar {
        line-height: 24px;
    }

    .intake-form .estimated-policy {
        background-color: #fff3cd !important;
    }

    .intake-form .existing-policy {
        background-color: #e3f2fd !important;
    }

    .intake-form .btn-estimated {
        background-color: #ffc107 !important;
        border-color: #ffc107 !important;
        color: #000 !important;
    }

    /* Base multi-option-switch styles - add these before any scoped styles */
    .intake-form .multi-option-switch {
        display: flex;
        position: relative;
        justify-content: space-between;
        padding: 5px 7px;
        background-color: #f0f0f0;
        border-radius: 6px;
        margin: 10px 0;
    }

        .intake-form .multi-option-switch input[type="radio"] {
            display: none;
        }

        .intake-form .multi-option-switch label {
            display: flex;
            flex: 1;
            justify-content: center;
            white-space: nowrap;
            cursor: pointer;
            text-align: center;
            color: #999;
            transition: background-color 0.4s, transform 0.4s;
            position: relative;
            z-index: 1;
            font-weight: 600;
            border-radius: 6px;
            padding: 2px 8px;
            transform: scale(0.9);
        }

        .intake-form .multi-option-switch input[type="radio"]:checked + label {
            color: #fff;
            transform: scale(1);
            font-weight: 600;
            background: linear-gradient(99.02deg, rgb(0, 113, 188) 95.38%, rgb(0, 113, 188) 95.38%);
            padding: 2px 8px;
        }

        .intake-form .multi-option-switch input[type="radio"]:first-child:checked + label {
            background: linear-gradient(99.02deg, rgb(41, 171, 226) -19.8%, rgb(0, 113, 188) 95.38%);
        }

    .intake-form .options-toggle .multi-option-switch input[type="radio"]:last-child:checked + label {
        background: linear-gradient(99.02deg, #0071BC -19.8%, #29ABE2 95.38%) !important;
    }

    /* Intake Form specific overrides */
    .intake-form .multi-option-switch {
        width: 100%;
        max-width: max-content;
    }

        .intake-form .multi-option-switch label {
            padding: 4px 12px;
            font-size: 0.9rem;
        }

    .intake-form [input] {
        text-align: left !important;
    }

    .intake-form .save-as-wrapper {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

    .intake-form .save-as-popout {
        background-color: white;
        padding: 20px;
        border-radius: 5px;
        width: 300px;
    }

    .intake-form .save-as-button {
        margin: 5px;
    }

    /* Document Query Styles */
    .document-query-container {
        height: 100vh;
        background: #f8f9fa;
        padding: 0;
    }

        .document-query-container .chat-interface {
            display: flex;
            flex-direction: column;
            height: 100%;
            max-width: 1400px;
            margin: 0 auto;
            background: white;
            box-shadow: 0 0 20px rgba(0,0,0,0.1);
            transition: margin-right 0.3s ease;
        }

            .document-query-container .chat-interface.with-panel {
                margin-right: 400px;
            }

        .document-query-container .chat-header {
            padding: 1.5rem;
            border-bottom: 1px solid #e9ecef;
            background: white;
        }

        .document-query-container .upload-container {
            display: flex;
            padding: 2rem;
            flex-direction: column;
            align-items: center;
        }

        .document-query-container .upload-box {
            text-align: center;
            padding: 2rem;
            border: 2px dashed #dee2e6;
            border-radius: 8px;
            background: #f8f9fa;
            max-width: 500px;
            width: 100%;
        }

            .document-query-container .upload-box i {
                font-size: 2rem;
                color: #6c757d;
            }

        .document-query-container .chat-messages {
            flex: 1;
            overflow-y: auto;
            padding: 1.5rem;
            background: #f8f9fa;
        }

        .document-query-container .message {
            max-width: 850px;
            margin: 0 auto 1.5rem auto;
        }

        .document-query-container .message-question {
            background: white;
            padding: 1rem;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
            margin-bottom: 0.5rem;
        }

        .document-query-container .message-answer {
            background: white;
            padding: 1rem;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        }

        .document-query-container .answer-content {
            width: 100%;
        }

        .document-query-container .sources-section {
            margin-top: 1rem;
            padding-top: 1rem;
            border-top: 1px solid #e9ecef;
        }

        .document-query-container .source-item {
            font-size: 0.875rem;
            color: #6c757d;
            padding: 0.5rem;
            background: #f8f9fa;
            border-radius: 4px;
            margin-bottom: 0.5rem;
        }

        .document-query-container .chat-input {
            padding: 1.5rem;
            background: white;
            border-top: 1px solid #e9ecef;
        }

        .document-query-container .analysis-panel {
            position: fixed;
            right: -400px;
            top: 0;
            bottom: 0;
            width: 400px;
            background: white;
            border-left: 1px solid #e9ecef;
            padding: 1.5rem;
            overflow-y: auto;
            z-index: 1000;
            box-shadow: -5px 0 15px rgba(0,0,0,0.1);
            transition: right 0.3s ease;
        }

            .document-query-container .analysis-panel.show {
                right: 0;
            }

    @media (max-width: 768px) {
        .document-query-container .chat-interface.with-panel {
            margin-right: 0;
        }

        .document-query-container .analysis-panel {
            width: 100%;
            right: -100%;
        }

            .document-query-container .analysis-panel.show {
                right: 0;
            }
    }

    .document-query-container .analysis-question-btn {
        width: 100%;
        text-align: left;
        padding: 0.75rem;
        border: none;
        background: none;
        color: #2c5282;
        transition: all 0.2s;
    }

        .document-query-container .analysis-question-btn:hover {
            background: #f0f7ff;
            color: #1a365d;
        }

    .document-query-container .empty-state {
        text-align: center;
        padding: 4rem 2rem;
        color: #6c757d;
    }

        .document-query-container .empty-state i {
            font-size: 3rem;
            margin-bottom: 1rem;
        }

    .document-query-container .upload-progress {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(255, 255, 255, 0.95);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1050;
    }

    .document-query-container .progress-container {
        background: white;
        padding: 2rem;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
        width: 90%;
        max-width: 500px;
        text-align: center;
    }

    .document-query-container .progress-animation {
        margin-bottom: 1.5rem;
    }

        .document-query-container .progress-animation .spinner-border {
            width: 3rem;
            height: 3rem;
        }

    .document-query-container .progress {
        height: 8px;
        border-radius: 4px;
        background-color: #e9ecef;
    }

    .document-query-container .progress-bar {
        background-color: #2c5282;
    }

    .document-query-container .progress-text {
        margin-bottom: 1rem;
    }

        .document-query-container .progress-text h5 {
            color: #2c5282;
        }

    .document-query-container .processing-overlay {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(255, 255, 255, 0.9);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

    .document-query-container .processing-content {
        background: white;
        padding: 2rem;
        border-radius: 8px;
        box-shadow: 0 2px 15px rgba(0,0,0,0.1);
        text-align: center;
    }

        .document-query-container .processing-content h5 {
            margin: 0;
            color: #2c5282;
        }

    .document-query-container .message-pending {
        background: #f8f9fa;
        padding: 1rem;
        border-radius: 8px;
        margin-top: 0.5rem;
    }

    .premium-hero-section {
        background: #fafafa;
        border-bottom: 1px solid #dee2e6;
    }

    .logo-section {
        margin-bottom: 15px; /* Space below the logo section */
    }

    .logo-container {
        display: flex; /* Align logo and button horizontally */
        align-items: center; /* Center the button with the logo vertically */
    }

        .logo-container img {
            margin-right: 10px; /* Space between the logo and the button */
            max-height: 100px; /* Optional: Set a max height to prevent very tall logos */
            object-fit: contain; /* Ensure the image scales properly without distortion */
        }

    .file-input-container {
        clear: both; /* Ensure the file input starts on a new line */
    }

    .status-message--success {
        background-color: #e0ffe0; /* Light green for success */
        padding: 10px;
        border-radius: 5px;
        display: inline-block;
    }

    .status-message--pending {
        background-color: #fff5e0; /* Light yellow for pending */
        padding: 10px;
        border-radius: 5px;
        display: inline-block;
    }

    .status-message--failed {
        background-color: #ffe0e0; /* Light red for failed */
        padding: 10px;
        border-radius: 5px;
        display: inline-block;
    }

    .family-tree-horizontal {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .tree-node {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin: 20px 0;
        position: relative;
    }

    .node-content {
        padding: 10px;
        border: 1px solid #ccc;
        border-radius: 5px;
        background-color: #f9f9f9;
        text-align: center;
        min-width: 150px;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        margin: 10px;
    }

    .tree-children {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 20px;
    }

    .tree-label {
        font-weight: bold;
        margin-bottom: 10px;
        text-align: center;
        margin: auto;
    }

    .tree-children-list {
        display: flex;
        justify-content: center;
        margin-top: 3px;
    }

    .tree-grandchildren,
    .tree-other-members {
        /*margin-top: 30px;*/
    }

    .tree-children-list:before,
    .tree-children-list .node-content:not(:first-child):before,
    .tree-children-list .node-content:not(:last-child):after {
        content: '';
        position: absolute;
        background-color: #ccc;
    }

    .tree-children-list:before {
        top: -20px;
        left: 50%;
        height: 20px;
    }

    .tree-children-list .node-content:not(:first-child):before {
        top: -20px;
        left: -50%;
        height: 2px;
    }

    .tree-children-list .node-content:not(:last-child):after {
        top: -20px;
        right: -50%;
        height: 2px;
    }

    .tree-parents {
        margin-bottom: 20px;
    }

    .tree-label {
        font-weight: bold;
        margin-bottom: 10px;
    }

    .tree-parents-list {
        display: flex;
        gap: 10px;
    }

    .node-content i {
        font-size: 20px;
    }

    .aboutus-wrapper {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 10001;
        display: flex;
        justify-content: center;
        align-items: center;
    }

        .aboutus-wrapper .aboutus-popout {
            background-color: #fff;
            padding: 20px;
            border-radius: 5px;
            width: 80%;
            max-height: 80%;
            max-width: 970px;
            overflow: scroll;
        }

            .aboutus-wrapper .aboutus-popout .aboutus-button {
                background-color: #007BFF;
                color: #FFFFFF;
                border: none;
                padding: 10px 20px;
                text-align: center;
                cursor: pointer;
                text-decoration: none;
                display: inline-block;
                font-size: 14px;
                border-radius: 5px;
                transition: background-color 0.3s ease;
            }

    .family-tree-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .tree-column {
        /*display: flex;*/
        flex-direction: column;
        align-items: flex-start;
    }

    .tree-label {
        font-weight: bold;
        margin-bottom: 10px;
        font-size: 12px;
    }

    /* Modal Background */
    .modal-calendar {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.5);
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

    /* Modal Content */
    .modal-content-calendar {
        background: #fff;
        padding: 20px;
        border-radius: 10px;
        width: 90%;
        max-width: 1200px;
        max-height: 90%;
        overflow-y: auto;
        position: relative;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    /* Close Button */
    .close-button {
        position: absolute;
        top: 10px;
        right: 10px;
        background: #ff4d4d;
        color: #fff;
        border: none;
        border-radius: 50%;
        width: 30px;
        height: 30px;
        text-align: center;
        cursor: pointer;
        font-size: 16px;
        font-weight: bold;
    }

    /* Calendar Container */
    .calendar-container {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    /* Row of 3 Months */
    .row-calendar {
        display: flex;
        justify-content: space-between;
        gap: 20px;
    }

    /* Single Month */
    .month-calendar {
        flex: 1;
        background: #f9f9f9;
        border-radius: 8px;
        padding: 10px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        text-align: center;
    }

        /* Month Title */
        .month-calendar h4 {
            font-size: 18px;
            margin-bottom: 10px;
        }

    /* Calendar Table */
    .table-calendar {
        width: 100%;
        border-collapse: collapse;
        text-align: center;
    }

    .th-calendar {
        background-color: #ddd;
        padding: 5px;
        font-weight: bold;
        border: 1px solid #ccc;
    }

    .table-calendar td {
        width: 14%;
        height: 50px;
        border: 1px solid #ccc;
        vertical-align: top;
        position: relative;
        padding: 5px;
    }

    /* Event Highlight */
    .event-calendar {
        position: relative;
        padding: 5px;
        margin-top: 5px;
        background-color: #ffcccb; /* Example background color */
        border-radius: 5px;
    }

        .event-calendar p {
            font-size: 12px;
            margin: 0 0 0;
        }

    .node-content {
        cursor: pointer;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }

        .node-content:hover {
            transform: translateY(-2px);
            box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
        }

    .card {
        border: 1px solid #e3e3e3;
        border-radius: 8px;
    }

    .icon-section {
        font-size: 1.2rem;
        color: #007bff;
    }

    .name-section {
        color: #007bff;
        font-weight: bold;
    }

    .additional-info {
        font-size: 0.8rem;
        color: #6c757d;
    }

    .additional-info {
        font-size: 0.8rem;
        color: #6c757d;
    }

    .blurred-background {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5); /* Semi-transparent */
        backdrop-filter: blur(10px);
        display: flex;
        align-items: center; /* Centers modal vertically */
        justify-content: center; /* Centers modal horizontally */
        z-index: 1500;
        transition: backdrop-filter 0.1s linear;
    }

    .modal-box {
        background: white;
        padding: 20px;
        border-radius: 12px;
        box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.3);
        max-width: 30vw;
        width: 90%;
        text-align: center;
        position: relative;
        border: 3px solid lightgray;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

        .modal-box.wide {
            max-width: 60vw;
        }

    .close-btn {
        position: absolute;
        top: 10px;
        right: 15px;
        background: transparent;
        border: none;
        font-size: 20px;
        cursor: pointer;
        color: gray;
    }

    .custom-tooltip {
        position: absolute;
        display: none;
        background-color: #e9ecef;
        color: #000;
        padding: 8px 10px;
        border-radius: 5px;
        border: 1px solid #d1d1d1;
        text-wrap: wrap;
        width: 300px;
        transform: translateX(-50%);
        text-align: left;
        z-index: 10;
    }

    .position-relative:hover .custom-tooltip {
        display: block;
    }
