/* Segoe UI is a system font, no import needed */

.main-div {
    position: relative;
}
html {
	scroll-snap-type: y mandatory;
}

.core-tool {
    display: flex;
    width: 100%;
    height: 100%;
}

#right_div {
    width: 27.5%;
}

#right_div_bottom {
    height: 72vh;
}
.dao-core-tool #right_div_bottom {
    height: 63.3vh;
}

.dao-core-tool #left_div {
    height: 81vh;
}
#left_div {
    width: 17.5%;
    height: 99vh;
    padding: 0% 1%;
}
.dao-app-left-div {
    width: 25% !important;
}
.dao-app-center-div {
    width: 75% !important;
}
.dao-core-tool #center_div {
    height: 81vh;
}
#center_div {
    width: 53.5%;
    height: 99vh;
    padding: 0% 0.5%;
}
#center_exhibit_5_div {
    width: 98%;
    height: 90vh;
    padding: 0% 0.5%;
}

#right_top_top_div {
    width: 100%;
    height: 19.5vh;
    padding: 0px 5px;
}
#right_top_bottom_div {
    width: 100%;
    height: 19.5vh;
    padding: 0px 5px;
}
#right_bottom_top_div {
    width: 100%;
    height: 25%;
    padding: 0% 1%;
}
#right_bottom_bottom_div {
    width: 100%;
    height: 100%;
}
#right_bottom_div > div:nth-child(2) {
    width: 100%;
    height: 74%;
    padding: 0.5%;
}

.label-new {
    color: blue;
    font-weight: bold;
}

.label-legacy {
    color: black;
    font-weight: bold;
}
.dao-core-tool #main_plot .js-plotly-plot .plotly .modebar {
    top: 11px !important;
}
.dao-core-tool #right_bottom_div {
    height: 60.5vh;
}
#right_bottom_div {
    width: 100%;
    height: 59vh;
}
#summary_table {
    height: 45%;
    width: 100%;
    margin-top: 3%;
}

/* Add font-size-sm class to summary-table thead th */
.summary-table > thead th.font-size-sm,
.summary-table > thead th:not([class*="font-size-"]) {
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: normal;
}

#current_title {
    height: 25%;
}
#summary_title {
    height: 25%;
}

/* Add font-size-xs class to main_plot_units */
#main_plot_units.font-size-xs,
#main_plot_units:not([class*="font-size-"]) {
    line-height: 1.2;
    letter-spacing: normal;
}

.updatemenu-container text {
    font-weight: 500;
}
.updatemenu-item-rect[style*="fill: rgb(244, 250, 255);"][style*="fill-opacity: 1;"] {
    fill: rgb(213, 234, 251) !important;
}
.tooltip-inner {
    max-width: none;
    border: 1px solid black;
}

/* Resize handle styles */
rect.ndrag.drag.cursor-n-resize {
    cursor: n-resize !important;
    stroke: #ffffff !important;
    stroke-width: 2px !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    width: 16px;
    fill: #7c7c7c !important;
    mask: url("https://i.imgur.com/jwkqpLx.png") !important;
    mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
}
rect.sdrag.drag.cursor-s-resize {
    cursor: n-resize !important;
    stroke: #ffffff !important;
    stroke-width: 2px !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    width: 16px;
    fill: #7c7c7c !important;
    mask: url("https://i.imgur.com/jwkqpLx.png") !important;
    mask-size: contain !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
}

/* Custom tooltip styles */
.custom-tooltip {
    position: relative;
    display: inline-block;
    cursor: pointer;
    font-size: 12px;
    color: #6c6c6c;
}

.custom-tooltip[data-tooltip-type="info"] img,
.custom-tooltip[data-tooltip-type="read-more"] img {
    width: 13px;
    height: 13px;
    vertical-align: middle;
    margin-left: 4px;
}

.custom-tooltip .tooltip-content {
    text-transform: none;
    visibility: hidden;
    width: auto;
    min-width: 500px;
    max-width: 90vw;
    max-height: none;
    background-color: white;
    color: black;
    text-align: left;
    border-radius: 6px;
    padding: 10px;
    position: fixed;
    z-index: 9999;
    bottom: auto;
    left: 50%;
    top: 70%;
    transform: translate(-50%, -50%);
    margin-left: 0;
    opacity: 0;
    transition: opacity 0.3s;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    border: 1px solid #ccc;
    overflow: visible;
    white-space: normal;
    line-height: 1.5;
}


.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content h1,
.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content h2,
.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content h3 {
    margin-top: 1em;
    margin-bottom: 0.5em;
    font-weight: 500;
}

.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content h1 {
    font-size: 1.5em;
}

.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content h2 {
    font-size: 1.3em;
}

.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content h3 {
    font-size: 1.1em;
}

.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content p {
    margin-bottom: 1em;
}

.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content ul,
.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content ol {
    margin-left: 2em;
    margin-bottom: 1em;
}

.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content li {
    margin-bottom: 0.5em;
}

.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content strong {
    font-weight: 500;
}

.custom-tooltip[data-tooltip-type="read-more"] .tooltip-content em {
    font-style: italic;
}

/* Info tooltip styling */
.custom-tooltip[data-tooltip-type="info"] .tooltip-content {
    white-space: normal;
}

/* Remove the media query since we're using fixed positioning */

.custom-tooltip:hover .tooltip-content {
    visibility: visible;
    opacity: 1;
}

.custom-tooltip .tooltip-content table {
    width: 100%;
    max-width: 1000px;
    table-layout: fixed;
    border-collapse: collapse;
    margin-top: 5px;
}

.custom-tooltip .tooltip-content table th,
.custom-tooltip .tooltip-content table td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
    word-wrap: break-word;
    word-break: break-word;
    white-space: normal;
    max-width: none;
    overflow-wrap: break-word;
}

.custom-tooltip .tooltip-content table th {
    background-color: #f2f2f2;
}

/* Remove the arrow since we're using fixed positioning */
#info-icon {
    position: absolute;
    left: 9vw;
}
.last-trade {
    position: absolute;
    right: 0.52vw;
    top: 3.64vw;
    /* font-size now handled by font-size-sm class */
    font-weight: 500;
}
/* Add font-size-sm class to last-trade */
.last-trade.font-size-sm,
.last-trade:not([class*="font-size-"]) {
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: normal;
}
.last-trade-picker {
    position: relative !important;
    left: -38vw;
    top: 0vw;
    /* font-size now handled by font-size-xs class */
    font-weight: 500;
}
/* Add font-size-xs class to last-trade-picker */
.last-trade-picker.font-size-xs,
.last-trade-picker:not([class*="font-size-"]) {
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: normal;
}
.DateInput_input {
    width: 54% !important;
    height: 54% !important;
}
.last-trade-picker .DateInput_input {
    /* font-size now handled by font-size-xs class */
    padding: 5px 6px !important;
    width: 54% !important;
}
/* Add font-size-xs class to last-trade-picker .DateInput_input */
.last-trade-picker .DateInput_input.font-size-xs,
.last-trade-picker .DateInput_input:not([class*="font-size-"]) {
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: normal;
}
#prev-day-button {
    margin-right: 0px !important;
}
#next-day-button {
    margin-left: 0px !important;
}
.core-tool-card {
    border-radius: 0.52vw;
    background-color: #ffffff;
    box-shadow: 0 0.2vw 0.41vw rgba(0, 0, 0, 0.1);
    transition: box-shadow 0.3s ease;
    margin: 0.26vw;

}
body {
    background-color: #f7f9fb;
    font-family: 'Segoe UI', sans-serif;
}
.core-tool-buttons, #core-tool-buttons {
    display: flex;
    text-align: left;
}
.exhibit-5-buttons, #exhibit-5-buttons {
    display: flex;
    text-align: left;
}
#main_plot_container {
    width: 100%;
    height: 100%;
    position: relative;
}
#center_div > div:nth-child(4) {
    width: 100%;
    height: 84% !important;
}
#main_plot_div > div {
    width: 100%;
    height: 100%;
}
#main_plot_app2 {
    width: 100%;
    height: 100%;
    position: relative;
}
#simulator_position_fig {
    width: 100%;
    height: 38vh;
}
#sensitive_plot_app2 {
    width: 100%;
    height: 100%;
}
#sensitive_plot_app2 .cursor-crosshair {
    cursor: pointer !important;
}
#left_div > div:nth-child(2) {
    height: 94%;
    width: 100%;
}
#sensitive_container {
    width: 100%;
    height: 100%;
}

.assets-selection {
    display: block;
    text-align: center;
}
.dao-selection {
    margin: 35px 20px 20px;
}
.position-title {
    font-weight: 500;
    font-family: 'Segoe UI', sans-serif;
    font-size: 13px;
    margin: 0px;
    vertical-align: middle;
}
#group_asset_table_app2 .dao-app-pos-table table {
    margin: auto;
}
#group_asset_table_app2 .dao-app-pos-table th, #group_asset_table_app2 .dao-app-pos-table td {
    border: none;
}
#group_asset_table_app2 .dao-app-pos-table .up-change {
    color: #39b067;
}
#group_asset_table_app2 .dao-app-pos-table .down-change {
    color: #df484a;
}
#group_asset_table_app2 .dao-app-pos-table tr:nth-child(1) th {
    background-color: #F3F5F5;
}
#group_asset_table_app2 .dao-app-pos-table tr:nth-child(2) th {
    background-color: #F1F1F1;
}
#group_asset_table_app2 .dao-app-pos-table thead tr:nth-child(1) th:nth-child(2) {
    background: linear-gradient(to right, #F3F5F5, #DFEBF9);
}
#group_asset_table_app2 .dao-app-pos-table thead tr:nth-child(1) th:nth-child(3) {
    background: linear-gradient(to right, #F3F5F5, #f3e8ff);
}
#group_asset_table_app2 .dao-app-pos-table thead tr:nth-child(2) th:nth-child(3),
#group_asset_table_app2 .dao-app-pos-table thead tr:nth-child(2) th:nth-child(4) {
    background: #EFF3F6;
}
#group_asset_table_app2 .dao-app-pos-table td:nth-child(3),
#group_asset_table_app2 .dao-app-pos-table td:nth-child(4) {
    background: #EFF3F6;
}
#group_asset_table_app2 .dao-app-pos-table thead tr:nth-child(2) th:nth-child(5) {
    background: #DFEBF9;
}

#group_asset_table_app2 .dao-app-pos-table td {
    border: 0.5px solid #ebecf0;
}

#group_asset_table_app2 .dao-app-pos-table thead tr:nth-child(1), #group_asset_table_app2 .dao-app-pos-table thead tr:nth-child(2) {
    border-bottom: 2px solid lightgrey;
}
#group_asset_table_app2 .dao-app-pos-table td, #group_asset_table_app2 .dao-app-pos-table th {
    text-align: center;
    padding: 0.35vw 1vw;
}
#group_asset_table_app2 .dao-app-pos-table tr:nth-child(2) th:nth-child(1), #group_asset_table_app2 .dao-app-pos-table td:nth-child(1) {
    text-align: left;
}
#group_asset_table_app2 .dao-app-pos-table td {
    border-right: none !important;
}
#group_asset_table_app2 .dao-app-pos-table tr:nth-child(1) th:nth-child(2) {
    text-align: center;
}
#group_asset_table_app2 .dao-app-pos-table tr:nth-child(1) th:nth-child(3) {
    text-align: center;
}
#group_asset_table_app2 .dao-app-pos-table tr:nth-child(2) th:nth-child(1) {
    border: none !important;
}
#group_asset_table_app2 .dao-app-pos-table tr:nth-child(1) th:nth-child(1) {
    border: none !important;
}

#goldman_app2 .exhibit-2-dao .expected-today-bottom, #risk_profile_app2 .exhibit-2-dao .expected-today-bottom { display: block !important; margin-bottom: 0.26vw;}
#goldman_app2 .exhibit-2-dao .expected-today-bottom p, #risk_profile_app2 .exhibit-2-dao .expected-today-bottom p { display: none !important; }
#goldman_app2 .exhibit-2-dao .expected-today-bottom table, #risk_profile_app2 .exhibit-2-dao .expected-today-bottom table { /* font-size now handled by font-size-xs class */ margin: 0px auto;}
/* Add font-size-xs class to expected-today-bottom table */

#goldman_app2 .exhibit-2-dao .expected-today-bottom table.font-size-xs,
#goldman_app2 .exhibit-2-dao .expected-today-bottom table:not([class*="font-size-"]),
#risk_profile_app2 .exhibit-2-dao .expected-today-bottom table.font-size-xs,
#risk_profile_app2 .exhibit-2-dao .expected-today-bottom table:not([class*="font-size-"]) {
    line-height: 1.2;
    letter-spacing: normal;
}
#goldman_app2 .exhibit-2-dao .expected-today-bottom td, #goldman_app2 .exhibit-2-dao .expected-today-bottom th { border: 1px solid lightgrey; }
#risk_profile_app2 .exhibit-2-dao .expected-today-bottom td, #risk_profile_app2 .exhibit-2-dao .expected-today-bottom th { border: 1px solid lightgrey; }
#goldman_app2 .exhibit-2-dao .expected-today-bottom th:not(:nth-child(1)), #risk_profile_app2 .exhibit-2-dao .expected-today-bottom th:not(:nth-child(1)) { width: auto !important; min-width: auto !important }

.goldman-table-exhibit-2 {
    margin: auto !important;
}
.exhibit-2-bottom {
    margin: 0px 0px 1vw 0px !important;
}
.logo {
    width: 6.77vw;
}
.dao-app-exhibit-2 .core-tool-card {
    margin: 0px;
}

/* Add font-size-md class to nav-link */
.nav-link.font-size-md,
.nav-link:not([class*="font-size-"]) {
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: normal;
}
.nav-link .beta-badge {
    background: #1E88E5;
    color: white;
    padding: 0.1vw 0.31vw;
    border-radius: 0.2vw;
    border: 0.5px solid silver;
    font-size: 0.52vw;
    font-weight: 500;
    text-transform: uppercase;
    box-shadow: 0px 0.1vw 0.26vw rgba(0,0,0,0.2);
}
.Select-control, .Select-multi-value-wrapper {
    font-size: 14px;
    height: 3vh !important;
    line-height: 180% !important;
}

.Select-input, .Select-placeholder, .Select-menu-outer, .Select-value {
    font-size: 14px;
    line-height: 180% !important;
}

/* Media queries for responsive Select components */
@media screen and (max-width: 1200px) {
    .Select-control, .Select-multi-value-wrapper {
        font-size: 12px !important;
        height: 2.8vh !important;
        line-height: 170% !important;
    }

    .Select-input, .Select-placeholder, .Select-menu-outer, .Select-value {
        font-size: 12px !important;
        line-height: 170% !important;
    }
}

@media screen and (max-width: 992px) {
    .Select-control, .Select-multi-value-wrapper {
        font-size: 10px !important;
        height: 2.6vh !important;
        line-height: 160% !important;
    }

    .Select-input, .Select-placeholder, .Select-menu-outer, .Select-value {
        font-size: 10px !important;
        line-height: 160% !important;
    }
}

@media screen and (max-width: 768px) {
    .Select-control, .Select-multi-value-wrapper {
        font-size: 10px !important;
        height: 2.4vh !important;
        line-height: 150% !important;
    }

    .Select-input, .Select-placeholder, .Select-menu-outer, .Select-value {
        font-size: 10px !important;
        line-height: 150% !important;
    }
}

@media screen and (min-width: 1921px) and (max-width: 2560px) {
    .Select-control, .Select-multi-value-wrapper {
        font-size: 16px !important;
        height: 3.2vh !important;
        line-height: 190% !important;
    }

    .Select-input, .Select-placeholder, .Select-menu-outer, .Select-value {
        font-size: 16px !important;
        line-height: 190% !important;
    }
}

/* Large screens (trader screens - first tier) */
@media screen and (min-width: 2561px) and (max-width: 3440px) {
    .Select-control, .Select-multi-value-wrapper {
        font-size: 19px !important;
        height: 3.4vh !important;
        line-height: 200% !important;
    }

    .Select-input, .Select-placeholder, .Select-menu-outer, .Select-value {
        font-size: 19px !important;
        line-height: 200% !important;
    }
}

/* Very large screens (trader screens - second tier) */
@media screen and (min-width: 3441px) {
    .Select-control, .Select-multi-value-wrapper {
        font-size: 23px !important;
        height: 3.6vh !important;
        line-height: 210% !important;
    }

    .Select-input, .Select-placeholder, .Select-menu-outer, .Select-value {
        font-size: 23px !important;
        line-height: 210% !important;
    }
}

.exhibit-2-top {
    display: flex;
    justify-content: space-between;
}
.position-table {
    display: grid;
    align-items: center;
    font-size: 0.75vw;
    text-align: right;
    width: 41.66vw;
    min-width: auto;
    margin: auto;
}
.position-table th{
    border: 1px solid black;
}
.position-table th, .position-table td{
    height: 20px;
    padding: 0px 0.26vw 0px 0px;
    font-size: 0.75vw;
}
#group_asset_table_app2 .position-table td:nth-child(4), #group_asset_table_app2 .position-table th:nth-child(4) {
    width: 17%;
}
#group_asset_table_app2 .position-table td:nth-child(6), #group_asset_table_app2 .position-table th:nth-child(6) {
    width: 19%;
}
#group_asset_table_app2 .position-table td:nth-child(5), #group_asset_table_app2 .position-table th:nth-child(5) {
    width: 23%;
}
.position-table th:nth-child(1) {
    border-right: 0px solid black;
}

.position-table th:nth-child(2) {
    border-left: 0px solid black;
}
.assets-table {
    margin: 0px 5px 15px 5px;
}

#asset_table_app2 {
    margin: 0px !important;
    height: 20%;
}
#asset_table_app2 .position-table {
    font-size: 0.6vw !important;
    width: auto !important;
    text-align: center !important;
}
#asset_table_app2 .position-table td:nth-child(5), #asset_table_app2 .position-table th:nth-child(5) {
    width: 20%;
}
#asset_table_app2 .position-table td:nth-child(3), #asset_table_app2 .position-table th:nth-child(3) {
    width: 30%;
}
#asset_table_app2 .position-table th:nth-child(1){
    border-right: 1px solid black;
}

#asset_table_app2 tbody td {
    border: 1px solid black;
}
.assets-goldman {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 0.2% 0.2% 15px 0.2px;
}
#unit-buttons {
    position: relative;
    left: 64.96vw;
    top: 0.26vw;
}
#view-buttons {
    position: absolute;
    right: 1.04vw;
    top: 0.26vw;
}
#view-buttons i {
    font-size: 0.7vw;
    margin-right: 0.15vw;
    text-align: center;
}
.toggle-group {
    padding: 0.26vw;
    border-radius: 0.26vw;
    display: inline-flex;
    gap: 0.5vw;
}

.toggle-btn {
    background-color: #e9ecef;
    border: none;
    box-shadow: none;
    outline: none;
    color: #495057;
    padding: 0.42vw 0.74vw;
    cursor: pointer;
    font-size: 13px;
    transform: scale(1);
    transition: transform 0.3s linear;
}

.toggle-btn:not(.active):hover {
    background: #e9ecef !important;
    color: #495057 !important;
    transform: scale(1.05) !important;
}

.toggle-btn.active {
    background-color: #343a40;
    color: white;
    transform: scale(1.05);
    border-radius: 0.26vw;
}

.toggle-btn.active:hover {
    background-color: #343a40;
    color: white;
    transform: scale(1.05);
}

.toggle-btn + .toggle-btn {
    margin-left: 0;
}

#page-content {
    height: 87vh;
    overflow-y: scroll;
    overflow-x: hidden;
}

body, html {
    overflow-x: hidden !important;
}
.goldman-graph {
    width: 61vh;
    height: 37vh;
    margin: 0.26vw;
}

#exhibit-3 .dao-app_goldman_app2 {
    margin-top: 5.1vw !important;
}
.assets-dropdown {
    margin: auto;
    width: 40%;
    text-align: center;
    background-color: #fbfcff;
}
.assets-dropdown .Select-control {
    background-color: #fbfcff !important;
}

.dao-forecast-table th, .dao-forecast-table td {
    padding: 3px 8px !important;
}

.summary-table {
    width: auto !important;
    min-width: auto;
    margin: auto;
    border-left: 1px solid lightgrey;
    border-collapse: collapse;
}
.summary-table th, .summary-table td {
    text-align: center;
    font-family: 'Segoe UI', sans-serif;
    border: 1px solid lightgrey;
}
.summary-table th{
    font-weight: 500;
}
.summary-table tbody tr:nth-child(1) td:nth-child(1) {
    color: gray;
    font-weight: 500;
}
.expected-today {
    width: auto !important;
    min-width: auto;
    margin: auto;
    border-collapse: collapse;
}
.expected-today th, .expected-today td{
    border: 1px solid;
    padding: 3px 0.26vw;
}
.expected-today th {
    text-align: center;
}

/* Add font-size-xs class to exhibit-2-top-dao .expected-today th/td */
.exhibit-2-top-dao .expected-today th.font-size-xs,
.exhibit-2-top-dao .expected-today th:not([class*="font-size-"]),
.exhibit-2-top-dao .expected-today td.font-size-xs,
.exhibit-2-top-dao .expected-today td:not([class*="font-size-"]) {
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: normal;
}
.exhibit-2-top-dao .expected-today td .symbols {
    font-size: 1vw !important;
}
.expected-today th:nth-child(1) {
    text-align: left !important;
}
.expected-today th:not(:nth-child(1)) {
    width: 4.16vw !important;
}

.goldman-graph-table {
    width: auto !important;
    min-width: auto;
    margin: auto;
    border-left: 1px solid lightgrey;
    border-collapse: collapse;
}
.goldman-graph-table th, .goldman-graph-table td {
    padding: 0px 0.26vw;
    text-align: center;
    font-family: 'Segoe UI', sans-serif;
    font-size: 0.5vw;
    border: 1px solid lightgrey;
    background-color: white;
}

.goldman-graph-table th{
    font-weight: 500;
}
.goldman-graph-table tbody tr:nth-child(1) td:nth-child(1) {
    color: gray;
    font-weight: 500;
}
.goldman-graph-table tbody tr:nth-child(2) td:nth-child(1) {
    color: green;
}
.goldman-graph-table tbody tr:nth-child(3) td:nth-child(1) {
    color: red;
}

.exhibit-2-bottom {
    display: inline-flex;
    align-items: stretch;
}
.dao-app_goldman_app2 .xap-card {
    border: 0px;
    box-shadow: none;
    background-color: rgba(255, 255, 255, 0);
}
.goldman-table-exhibit-2 {
    border-top-right-radius: 20px !important;
    border-top-left-radius: 20px !important;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
    background-color: rgb(255, 255, 255) !important;
}

.exhibit-2-bottom {
    border-radius: 20px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background-color: rgb(255, 255, 255);
}

#dropdown_app2 {
    background-color: #ffffff;
    margin: 0px 0px 0.7vw 0px !important;
    padding: 1vw 0.52vw;
    font-size: 1.2vw;
    color: #000000;
    border-bottom: 1px solid lightgray;
}
.title-div {
    height: 5%;
    width: 100%;
    text-align: center;
    padding: 0.5%;
}
#exhibit-3 .title-div {
    height: 9%;
}
#left_div > .title-div {
    height: 6%;
    padding-top: 1.5%;
}
.title {
    margin: 0px;
    line-height: 90%;
}
#left_div .title {
    font-weight: 500;
}

/* Add font-size-md class to exhibit-2-titles */
.exhibit-2-titles.font-size-md,
.exhibit-2-titles:not([class*="font-size-"]) {
    font-size: 14px;
    line-height: 1.3;
    letter-spacing: normal;
}

/* Add font-size-xs class to exhibit-2-subtitles */
.exhibit-2-subtitles.font-size-xs,
.exhibit-2-subtitles:not([class*="font-size-"]) {
    font-size: 10px;
    line-height: 1.2;
    letter-spacing: normal;
}
.sub-title {
    margin: auto;
    line-height: 120%;
}
#center_title_div {
    height: 5%;
    width: 100%;
    padding: 0.5%;
    display: flex;
    text-align: center;
    line-height: 90%;
}
#forward_title {
    flex: 30%;
}
#realized_title {
    flex: 70%;
}
#main_plot_title {
    height: 3%;
    width: 100%;
    padding: 0% 0% 0% 2%;
    display: flex;
    justify-content: space-between;
}
#main_plot_units {
    height: 4%;
    width: 100%;
    padding: 0% 2%;
    text-align: left;
}

.xap-card {
    border: 1px solid lightgray;
}


.static_title {
    width: 100%;
    text-align: center;
    font-weight: 500;
}


#summary_symbol_title, #mainplot_subtitle {
    font-weight: 500;
}
#current_table_threshold_app2 {
    margin: 0px auto;
    width: 50%;
}
#current_table_net_app2 {
    margin: 0px auto;
    width: 100%;
}
.current-table {
    border-collapse: collapse;
    font-family: 'Segoe UI', sans-serif;
    text-align: left ;
    height: 0px;
    font-size: 1.3vh;
    width: 100%;
}

.current-table th, .current-table td {
    border: 1px solid black;
    text-align: left;
    padding: 0px 5px;
}

.current-table > thead > tr th{
    color: black;
    text-align: center !important;
    background-color: white;
    line-height: 100%;
    padding: 2px;
}
#current_table_net_app2 .current-table th, #current_table_net_app2 .current-table td {
    border-bottom: none;
    border-top: none;
}
#current_table_net_app2 .current-table > thead th, #current_table_net_app2 .current-table tr:nth-child(1) td{
    border: 1px solid black;
}

#current_table_net_app2 .current-table tr:nth-child(4) td {
    border-bottom: 1px solid black;
}

#current_table_threshold_app2 thead > tr th:nth-child(1) {
    text-align: left !important;
    width: 60%;
}
#current_table_net_app2 thead > tr th:nth-child(4) {
    width: 30%;
}
#current_table_net_app2 tr:nth-child(3) {
    border-bottom: none;
}

.current-table td{
    background-color: white !important;
}

.current-table td:nth-child(6), .current-table td:nth-child(3){
    text-align: right;
}
.current-table img {
    width: 100%;
    height: auto;
}


@keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0.2; }
    100% { opacity: 1; }
}
@keyframes fadeUpdate {
  from {
    background-color: #DFEBF9;
  }
  to {
    background-color: #EFF3F6;
  }
}
td:has(.live-highlight) {
  animation: fadeUpdate 1s ease-in-out;
}
.blinking-dot {
    color: red;
    animation: blink 5s infinite;
}



/* Styles pour le composant de chargement d'images */
.chatbot-image-preview {
    margin: 10px 0;
    padding: 10px;
    border-radius: 8px;
    background-color: #f8f9fa;
}

.remove-image-btn {
    background: none;
    border: none;
    color: #dc3545;
    cursor: pointer;
    padding: 5px;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.remove-image-btn:hover {
    background-color: rgba(220, 53, 69, 0.1);
}

#chatbot-image-upload {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s;
}

#chatbot-image-upload:hover {
    background-color: rgba(0, 0, 0, 0.05);
}


.sidebar-toggle-btn {
  position: fixed;
  top: 52px;
  left: 195px;
  z-index: 9999;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  /* font-size now handled by font-size-xl class */
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Add font-size-xl class to sidebar-toggle-btn */
.sidebar-toggle-btn.font-size-xl,
.sidebar-toggle-btn:not([class*="font-size-"]) {
  font-size: 17px;
  line-height: 1.4;
  letter-spacing: normal;
}
#sidebar {
  min-height: calc(100vh - 60px);
  border-right: 1px solid #ccc;
  background-color: #f7f9fb !important;
  transition: transform 0.3s ease-in-out;
  box-shadow: 2px 0 5px rgba(0,0,0,0.1);
  padding: 20px;
  cursor: pointer;
}


.sidebar-title {
  /* font-size now handled by font-size-md class */
  margin-bottom: 1rem;
}
/* Add font-size-md class to sidebar-title */
.sidebar-title.font-size-md,
.sidebar-title:not([class*="font-size-"]) {
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: normal;
}

#sidebar .nav-link {
  margin-bottom: 0.5rem;
}

#page-content {
    text-align: center;
}

.summary-table tbody tr:nth-child(2) td:nth-child(7) {
    color: transparent !important;
    background-color: transparent !important;
}


#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(3) th:nth-child(1),
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(3) th:nth-child(2),
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(3) th:nth-child(3),
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(3) th:nth-child(4),
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(3) th:nth-child(5) {
    width: 5%;
}
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(2) th:nth-child(3) {
    width: 10%;
}
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(2) th:nth-child(4) {
    width: 10%;
}
#exhibit-1 #group_asset_table_app2 #dao-position-table tr:nth-child(1) th {
    background-color: #F2F2F2;
}
#exhibit-1 #group_asset_table_app2 #dao-position-table tr:nth-child(2) th:nth-child(1),
#exhibit-1 #group_asset_table_app2 #dao-position-table tr:nth-child(2) th:nth-child(2) {
    background-color: #F2F2F2;
}
#exhibit-1 #group_asset_table_app2 #dao-position-table tr:nth-child(2) th:nth-child(5) {
    background-color: #F2F2F2;
}
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(2) th:nth-child(3),
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(3) th:nth-child(1),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(3),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(5)
{
    background-color: #eff6ff;
}
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(2) th:nth-child(4),
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(3) th:nth-child(2),
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(3) th:nth-child(3),
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(3) th:nth-child(4),
#exhibit-1 #group_asset_table_app2 #dao-position-table thead tr:nth-child(3) th:nth-child(5),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(4),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(5),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(6),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(7),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(8),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(9),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(10),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(11),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(13),
#exhibit-1 #group_asset_table_app2 #dao-position-table td:nth-child(14)
{
    background-color: #fffbeb;
}
#dao-assets-position-table tbody td, #dashboard-assets-position-table tbody td{
    white-space: nowrap;
}

/* Allow headers to wrap text when needed */
#dao-assets-position-table thead th, #dashboard-assets-position-table thead th{
    white-space: normal;
    word-wrap: break-word;
}

#main_plot svg g.infolayer g.legend g.scrollbox g.groups g.traces:nth-child(1) {
    transform: translateY(56%) !important;
    font-size: 10px !important;
}
#main_plot svg g.infolayer g.legend g.scrollbox g.groups g.traces:nth-child(2) {
    transform: translateY(58.5%) !important;
    font-size: 10px !important;
}
#main_plot svg g.infolayer g.legend g.scrollbox g.groups g.traces:nth-child(1) > text {
    font-size: 10px !important;
}
#main_plot svg g.infolayer g.legend g.scrollbox g.groups g.traces:nth-child(2) > text {
    font-size: 10px !important;
}
#main_plot svg g.infolayer g.legend g.scrollbox {
    clip-path: none !important;
    overflow: visible !important;
}


#dashboard-assets-position-table tr.group-header td:nth-child(1) { cursor: pointer; }


#dashboard-assets-position-table td, #dao-assets-position-table td {padding: 3px;}
#dashboard-assets-position-table {
 -webkit-user-select: none; /* Chrome, Safari, Opera */
  -moz-user-select: none;    /* Firefox */
  -ms-user-select: none;     /* IE/Edge */
  user-select: none;
}

.sidebar-section-header:hover {
  background-color: transparent !important;
  cursor: default;
}

#dashboard-assets-position-table {
  display: block;
  max-height: 78vh;
  overflow-y: auto;
}

#dashboard-assets-position-table thead,
#dao-assets-position-table thead {
    position: sticky;
    top: 0;
    z-index: 99;
    background-color: #f6f9ff;
    transition: 0.3s;
}

#dashboard-assets-position-table thead th,
#dao-assets-position-table thead th {
  position: sticky;
  top: 0;
  background-color: inherit;
  background-image: inherit;
}
#forecast-table table thead,
.expected-today table thead {
    background-color: #f6f9ff;
    border-bottom: 0.5px solid rgb(0, 123, 255);
    border-radius: 3px;
    transition: 0.3s;
}
/* Harmonized font styling for assets position tables */
#dashboard-assets-position-table, #dao-assets-position-table {
  font-family: 'Segoe UI', sans-serif;
  color: #333;
  border-collapse: separate;
    border-spacing: 0;
}
#dashboard-assets-position-table th, #dao-assets-position-table th,
#dashboard-assets-position-table td, #dao-assets-position-table td {
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
}
#dashboard-assets-position-table tr:nth-child(1) th, #dao-assets-position-table tr:nth-child(1) th{
    border-top: 1px solid #ccc;
}
#dashboard-assets-position-table th:nth-child(1), #dao-assets-position-table th:nth-child(1),
#dashboard-assets-position-table td:nth-child(1), #dao-assets-position-table td:nth-child(1) {
    border-left: 1px solid #ccc;
}

/* Header styling */
#dashboard-assets-position-table thead, #dao-assets-position-table thead {
  color: rgb(0, 27, 53);
}

/* Main header row */
#dashboard-assets-position-table thead th,
#dao-assets-position-table thead th {
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

/* Secondary header row */
#dashboard-assets-position-table thead tr:nth-child(2) th,
#dao-assets-position-table thead tr:nth-child(2) th {
  letter-spacing: 0.01em;
  font-weight: 400;
}

/* First row headers remain bold */
#dashboard-assets-position-table thead tr:nth-child(1) th,
#dao-assets-position-table thead tr:nth-child(1) th {
  font-weight: 500;
}

/* Body styling */



/* Subtitles and secondary text */


/* Cell styling */
#dashboard-assets-position-table th, #dao-assets-position-table th,
#dashboard-assets-position-table td, #dao-assets-position-table td {
  padding: 0.4vw 0.5vw;
  vertical-align: middle;
  /* text-align: center; - Removed to allow utility classes to control alignment */
  transition: background-color 0.2s;
}

/* Numeric values alignment */


/* Hover effect for better readability */
#dashboard-assets-position-table tbody tr:hover,
#dao-assets-position-table tbody tr:hover {
  background-color: rgba(0, 0, 0, 0.03);
}

/* Styles pour le composant de chargement d'images */
.chatbot-image-preview {
    margin: 10px 0;
    padding: 10px;
    border-radius: 8px;
    background-color: #f8f9fa;
}

.remove-image-btn {
    background: none;
    border: none;
    color: #dc3545;
    cursor: pointer;
    padding: 5px;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s;
}

.remove-image-btn:hover {
    background-color: rgba(220, 53, 69, 0.1);
}

#chatbot-image-upload {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s;
}

#chatbot-image-upload:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

/* Font utility classes */
/* Font sizes */
.js-plotly-plot .plotly, .js-plotly-plot .plotly div {
    font-family: 'Segoe UI', sans-serif !important;
}
.font-size-xs {
  font-size: 7.5px;
  line-height: 1.2;
  letter-spacing: normal;
}
.font-size-sm {
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: normal;
}
.font-size-md {
  font-size: 14px !important;
  line-height: 1.3;
  letter-spacing: normal;
}
.font-size-lg {
  font-size: 15px;
  line-height: 1.3;
  letter-spacing: normal;
}
.font-size-xl {
  font-size: 17px;
  line-height: 1.4;
  letter-spacing: normal;
}


/* Media queries for responsive font sizes */
@media screen and (max-width: 1200px) {
  .font-size-xs {
    font-size: 7.5px;
    line-height: 1.2;
  }
  .font-size-sm {
    font-size: 10px;
    line-height: 1.2;
  }
  .font-size-md {
    font-size: 12px !important;
    line-height: 1.3;
  }
  .font-size-lg {
    font-size: 15px;
    line-height: 1.3;
  }
  .font-size-xl {
    font-size: 16px;
    line-height: 1.4;
  }
}

@media screen and (max-width: 992px) {
  .font-size-xs {
    font-size: 7.5px;
    line-height: 1.2;
  }
  .font-size-sm {
    font-size: 9px;
    line-height: 1.2;
  }
  .font-size-md {
    font-size: 10px !important;
    line-height: 1.3;
  }
  .font-size-lg {
    font-size: 14px;
    line-height: 1.3;
  }
  .font-size-xl {
    font-size: 15px;
    line-height: 1.4;
  }
}

@media screen and (max-width: 768px) {
  .font-size-xs {
    font-size: 6.5px;
    line-height: 1.2;
  }
  .font-size-sm {
    font-size: 8px;
    line-height: 1.2;
  }
  .font-size-md {
    font-size: 10px !important;
    line-height: 1.3;
  }
  .font-size-lg {
    font-size: 12px;
    line-height: 1.3;
  }
  .font-size-xl {
    font-size: 15px;
    line-height: 1.4;
  }
}

/* Zones bar container - responsive width */
.zones-bar-container {
  width: 400px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

@media screen and (max-width: 1600px) {
  .zones-bar-container {
    width: 227px;
  }
    .zones-bar-container .zone-text { font-size: 32px;}
    .zones-bar-container .price-marker { font-size: 32px;}
    .zones-bar-container .indicator-text { font-size: 32px;}

}

@media screen and (max-width: 1200px) {
  .zones-bar-container {
    width: 148px;
  }
      .zones-bar-container .zone-text { font-size: 32px;}
    .zones-bar-container .price-marker { font-size: 32px;}
    .zones-bar-container .indicator-text { font-size: 32px;}
}

@media screen and (max-width: 768px) {
  .zones-bar-container {
    width: 166px;
  }
      .zones-bar-container .zone-text { font-size: 32px;}
    .zones-bar-container .price-marker { font-size: 32px;}
    .zones-bar-container .indicator-text { font-size: 32px;}
}

/* Media queries for larger screens (trader screens) */
/* Medium-large screens */
@media screen and (min-width: 1921px) and (max-width: 2560px) {
  .font-size-xs {
    font-size: 8.5px;
    line-height: 1.2;
  }
  .font-size-sm {
    font-size: 11px;
    line-height: 1.2;
  }
  .font-size-md {
    font-size: 14px !important;
    line-height: 1.3;
  }
  .font-size-lg {
    font-size: 16px;
    line-height: 1.3;
  }
  .font-size-xl {
    font-size: 18px;
    line-height: 1.4;
  }

  .zones-bar-container {
    width: 481px;
  }
}

/* Large screens (trader screens - first tier) */
@media screen and (min-width: 2561px) and (max-width: 3440px) {
  .font-size-xs {
    font-size: 11.5px;
    line-height: 1.2;
  }
  .font-size-sm {
    font-size: 14px;
    line-height: 1.2;
  }
  .font-size-md {
    font-size: 17px !important;
    line-height: 1.3;
  }
  .font-size-lg {
    font-size: 19px;
    line-height: 1.3;
  }
  .font-size-xl {
    font-size: 21px;
    line-height: 1.4;
  }

  .zones-bar-container {
    width: 570px;
  }
}

/* Very large screens (trader screens - second tier) */
@media screen and (min-width: 3441px) {
  .font-size-xs {
    font-size: 13.5px;
    line-height: 1.2;
  }
  .font-size-sm {
    font-size: 17px;
    line-height: 1.2;
  }
  .font-size-md {
    font-size: 21px !important;
    line-height: 1.3;
  }
  .font-size-lg {
    font-size: 22px;
    line-height: 1.3;
  }
  .font-size-xl {
    font-size: 24px;
    line-height: 1.4;
  }

  .zones-bar-container {
    width: 658px;
  }
}

/* Text colors */
.text-color-muted {
  color: #666;
}
.text-color-primary {
  color: #333333;
}
.text-color-success {
  color: #00800082;
}
.text-color-danger {
  color: #ff240082;
}

/* Category text colors (from fg_dict) */
.text-color-low {
  color: #388E3C; /* L - green */
}
.text-color-medium-neg {
  color: rgb(255, 140, 0); /* M- - orange */
}
.text-color-high-neg {
  color: rgb(139, 0, 0); /* H- - dark red */
}
.text-color-medium-pos {
  color: rgb(255, 188, 0); /* M+ - amber/yellow */
}
.text-color-high-pos {
  color: rgb(220, 20, 60); /* H+ - crimson */
}

/* Category colors (from category_colors) */
.text-color-category-low {
  color: #32CD32; /* L - Green */
}
.text-color-category-medium {
  color: #FFA500; /* M - Orange */
}
.text-color-category-high {
  color: #FF4500; /* H - Red */
}

/* Category background colors (from bg_dict) */
.bg-color-low {
  background-color: #E8F5E9; /* L - light green */
}
.bg-color-medium-neg, .bg-color-medium-pos {
  background-color: #FFF9C4; /* M-/M+ - light yellow */
}
.bg-color-high-neg, .bg-color-high-pos {
  background-color: #FFEBEE; /* H-/H+ - light red */
}

/* Font weights */
.font-weight-normal {
  font-weight: normal;
}
.font-weight-bold {
  font-weight: 500;
}

/* Text alignment */
.text-align-left {
  text-align: left;
}
.text-align-center {
  text-align: center;
}
.text-align-right {
  text-align: right;
}

/* Margins */
.margin-left-xs {
  margin-left: 3px;
}

/* Border styles */
.border-standard {
  border: 1px solid #ccc;
}
.border-top {
  border-top: 1px solid #ccc;
}
.border-bottom {
  border-bottom: 1px solid #ccc;
}
.border-bottom-blue {
    border-bottom: 3px solid rgb(0, 123, 255) !important;
}
.border-left {
  border-left: 1px solid #ccc;
}
.border-right {
  border-right: 1px solid #ccc;
}
.border-none {
  border: none;
}
.border-left-none {
  border-left: 0px;
}

/* Padding styles */
.padding-xs {
  padding: 3px;
}
.padding-sm {
  padding: 5px;
}
.padding-md {
  padding: 6px 10px;
}
.padding-lg {
  padding: 10px;
}
.padding-cell {
  padding: 0.4vw 0.5vw;
}
.padding-allocation {
  padding: 3px 10px;
}
.padding-zones {
  padding: 3px;
}
.vertical-align-bottom {
  vertical-align: bottom;
}
.table-width-lg {
  width: 17vw;
}
.table-width-md {
  width: 10vw;
}
.table-width-sm {
    width: 4vw;
}
.table-height-lg {
  height: 4vh;
}
.table-height-md {
  height: 2.5vh;
}
.table-height-sm {
  height: 1vh;
}

/* Background styles */
.bg-white {
  background-color: #f7f9fb !important;
}
.bg-light-gray {
  background-color: #f9f9f9;
}
.bg-gray {
  background-color: #f3f3f3;
}
.bg-highlight {
  background-color: #f2f5fb;
}

/* Display and positioning */
.display-flex {
  display: flex;
}
.align-items-center {
  align-items: center;
}
.justify-content-center {
  justify-content: center;
}
.position-relative {
  position: relative;
}
.position-fixed {
  position: fixed;
}
.vertical-align-middle {
  vertical-align: middle;
}
.cursor-pointer {
  cursor: pointer;
}

/* Layout and sizing */
.width-100 {
  width: 100%;
}
.min-width-1200 {
  min-width: 1200px;
}
.overflow-x-auto {
  overflow-x: auto;
}
.margin-auto {
  margin: 0 auto;
}
.margin-md-auto {
  margin: 8px auto;
}
.margin-right-xs {
  margin-right: 5px;
}

/* Box shadows */
.box-shadow-sm {
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.box-shadow-md {
  box-shadow: 0 2px 4px rgba(0,0,0,0.12);
}

/* Table specific */
.border-collapse {
  border-collapse: collapse;
}

/* Tooltip styles */
.tooltip-container {
  display: none;
  position: fixed;
  top: 39%;
  left: 50%;
  transform: translateX(-10%);
  background: white;
  border: 1px solid #aaa;
  border-radius: 10px;
  padding: 20px;
  max-width: 80%;
  max-height: 80%;
  overflow-x: auto;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2), 0 6px 20px rgba(0, 0, 0, 0.19);
  z-index: 1000;
}


/* custom switch */
.custom-switch .form-check-input:checked {
    background-color: lightgray !important;
    border-color: lightgray !important;
}
.main-svg .hoverlayer .bg {
    opacity: 0.82 !important;
    stroke-opacity: 0.2 !important;
    filter: drop-shadow(-4px 2px 4px rgba(0, 0, 0, 0.3)) !important;
    shape-rendering: crispEdges !important;
}
.main-svg .hoverlayer .hovertext {
    opacity: 0.82 !important;
    stroke-opacity: 0.2 !important;
    filter: drop-shadow(-4px 2px 4px rgba(0, 0, 0, 0.3)) !important;
    shape-rendering: crispEdges !important;
}
.main-svg .hoverlayer .hovertext path {
    fill: white !important;
}
.main-svg .hoverlayer .hovertext .nums {
    fill: black !important;
    color: black !important;
}
.main-svg .hoverlayer .hovertext .name {
    fill: white !important;
    background-color: rgba(0, 0, 0, 0.8) !important;
}
.main-svg .hoverlayer .hovertext .name path {
    fill: rgba(128, 128, 128, 0.9) !important;
}
/* Override for trace name background - first path element is usually the name background */
.main-svg .hoverlayer .hovertext g:first-child path {
    fill: rgba(128, 128, 128, 0.9) !important;
}
/* Override for trace name text - first text element is usually the name */
.main-svg .hoverlayer .hovertext g:first-child text {
    fill: white !important;
    color: white !important;
}
.main-svg .hoverlayer .hovertext text {
    fill: black !important;
    color: black !important;
}
.main-svg .hoverlayer .hovertext text tspan {
    fill: black !important;
    color: black !important;
}
.main-svg .hoverlayer .hovertext * {
    fill: black !important;
    color: black !important;
}
/* Force all text elements in hover to be black */
.main-svg .hoverlayer text,
.main-svg .hoverlayer tspan {
    fill: black !important;
    color: black !important;
    stroke: none !important;
}
.legend .bg {
  rx: 10px;
  transform: scale(1.2, 1.1);
}

.legend .scrollbox {
  transform: translate(7px, 7px);
}
