/* Shared presentation for chart inspectors; help bubbles keep their own styles. */
.platform-theme :is(
    .dashboard-tooltip, .dashboard-floating-tooltip, .cashflow-chart-tooltip,
    .market-chart-tooltip, .fx-tooltip, .indicator-tooltip, .edition-spark-tooltip,
    .mortgage-inspector, .carry-readout, .purchase-cashflow-chart [data-tooltip],
    .mortgage-salary-history [data-tooltip]
) {
    box-sizing: border-box;
    background: #fff;
    color: var(--color-text);
    border: 1px solid #dedede;
    border-radius: 4px;
    box-shadow: 0 5px 24px #0002;
    padding: 14px 16px;
    font: 400 12px/1.5 var(--font-interface);
    font-variant-numeric: tabular-nums;
    text-align: left;
    white-space: normal;
    overflow-wrap: anywhere;
}
.platform-theme .dashboard-floating-tooltip {
    position: fixed;
    z-index: 1000;
    width: 340px;
    max-width: calc(100vw - 16px);
    min-height: 0;
    bottom: auto;
    right: auto;
    margin: 0;
}
.platform-theme .dashboard-floating-tooltip:not([role="group"]) { pointer-events: none; }
.platform-theme :is(.market-chart-tooltip, .cashflow-chart-tooltip, .fx-tooltip, .dashboard-tooltip, .indicator-tooltip) > strong,
.platform-theme .dashboard-floating-tooltip > strong {
    display: block;
    padding-bottom: 8px;
    margin-bottom: 8px;
    border-bottom: 1px solid var(--color-border);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
}
.platform-theme .chart-tooltip-line {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 3px 0;
}
.platform-theme .chart-tooltip-line > span { min-width: 0; }
.platform-theme .chart-tooltip-line b { font-weight: 500; text-align: right; }
.platform-theme .market-chart-tooltip { max-width: min(340px, calc(100% - 16px)); }
