/**
 * @license Highcharts Dashboards v3.3.0
 *
 * (c) 2009-2025 Highsoft AS
 *
 * License: www.highcharts.com/license
 */

/*  ==== Start Grid Color Scheme  ==== */
.hcg-container,
.highcharts-datagrid-container {
    --ig-default-color: #000000;
    --ig-negative-default-border-color: #ff0000;
    --ig-negative-default-background: #ffe5e5;
    --ig-neutral-default-border-color: #595959;
    --ig-neutral-default-background: #d1d1d1;
    --ig-positive-default-border-color: #008000;
    --ig-positive-default-background: #e0ebe0;
}

@media (prefers-color-scheme: dark) {
    .hcg-container,
    .highcharts-datagrid-container {
        --ig-default-color: #ffffff;
        --ig-negative-default-border-color: #a80000;
        --ig-negative-default-background: #6b0000;
        --ig-neutral-default-border-color: #b3b3b3;
        --ig-neutral-default-background: #636363;
        --ig-positive-default-border-color: #008000;
        --ig-positive-default-background: #265a26;
    }
}

/*  ==== End Grid Color Scheme  ==== */

/* stylelint-disable max-line-length */

/* ==== Start Grid Variables ==== */
.hcg-container,
.highcharts-datagrid-container {
    /* Fonts */

    /* Global fonts */
    --ig-font-weight: var(--hcg-font-weight, normal);
    --ig-font-size: var(--hcg-font-size, 1rem);
    --ig-font-family: var(--hcg-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif);
    --ig-color: var(--hcg-color, var(--ig-default-color));
    --ig-font: var(--ig-font-weight) var(--ig-font-size) var(--ig-font-family);
    --ig-text-align: var(--hcg-text-align, left);

    /* Link fonts */
    --ig-link-color: var(--hcg-link-color, inherit);
    --ig-link-text-decoration: var(--hcg-link-text-decoration, underline);
    --ig-link-hovered-color: var(--hcg-link-hovered-color, var(--ig-link-color));
    --ig-link-hovered-text-decoration: var(--hcg-link-hovered-text-decoration, none);
    --ig-link-font-weight: var(--hcg-link-font-weight, inherit);

    /* Header fonts */
    --ig-header-font-weight: var(--hcg-header-font-weight, var(--ig-font-weight));
    --ig-header-font-size: var(--hcg-header-font-size, var(--ig-font-size));
    --ig-header-font-family: var(--hcg-header-font-family, var(--ig-font-family));
    --ig-header-color: var(--hcg-header-color, var(--ig-color));
    --ig-header-font: var(--ig-header-font-weight) var(--ig-header-font-size) var(--ig-header-font-family);
    --ig-header-text-align: var(--hcg-header-text-align, var(--ig-text-align));

    /* Caption fonts */
    --ig-caption-font-weight: var(--hcg-caption-font-weight, var(--ig-font-weight));
    --ig-caption-font-size: var(--hcg-caption-font-size, var(--ig-font-size));
    --ig-caption-font-family: var(--hcg-caption-font-family, var(--ig-font-family));
    --ig-caption-color: var(--hcg-caption-color, var(--ig-color));
    --ig-caption-font: var(--ig-caption-font-weight) var(--ig-caption-font-size) var(--ig-caption-font-family);
    --ig-caption-text-align: var(--hcg-caption-text-align, var(--ig-text-align));

    /* Description fonts */
    --ig-description-font-weight: var(--hcg-description-font-weight, var(--ig-font-weight));
    --ig-description-font-size: var(--hcg-description-font-size, var(--ig-font-size));
    --ig-description-font-family: var(--hcg-description-font-family, var(--ig-font-family));
    --ig-description-color: var(--hcg-description-color, var(--ig-color));
    --ig-description-font: var(--ig-description-font-weight) var(--ig-description-font-size) var(--ig-description-font-family);
    --ig-description-text-align: var(--hcg-description-text-align, var(--ig-text-align));

    /* Credits fonts */
    --ig-credits-font-size: var(--hcg-credits-font-size, 0.7em);
    --ig-credits-color: var(--hcg-credits-color, var(--ig-color));
    --ig-credits-text-align: var(--hcg-credits-text-align, right);

    /* Default borders */
    --ig-border-radius: var(--hcg-border-radius, 0);
    --ig-border-width: var(--hcg-border-width, 0);
    --ig-border-style: var(--hcg-border-style, solid);
    --ig-border-color: var(--hcg-border-color, var(--ig-color));
    --ig-border: var(--ig-border-width) var(--ig-border-style) var(--ig-border-color);

    /* Row borders */
    --ig-row-border-width: var(--hcg-row-border-width, var(--ig-border-width));
    --ig-row-border-style: var(--hcg-row-border-style, var(--ig-border-style));
    --ig-row-border-color: var(--hcg-row-border-color, var(--ig-border-color));
    --ig-row-border: var(--ig-row-border-width) var(--ig-row-border-style) var(--ig-row-border-color);

    /* Header row borders */
    --ig-header-row-border-width: var(--hcg-header-row-border-width, var(--ig-row-border-width));
    --ig-header-row-border-style: var(--hcg-header-row-border-style, var(--ig-row-border-style));
    --ig-header-row-border-color: var(--hcg-header-row-border-color, var(--ig-row-border-color));
    --ig-header-row-border: var(--ig-header-row-border-width) var(--ig-header-row-border-style) var(--ig-header-row-border-color);

    /* Column borders */
    --ig-column-border-width: var(--hcg-column-border-width, var(--ig-border-width));
    --ig-column-border-style: var(--hcg-column-border-style, var(--ig-border-style));
    --ig-column-border-color: var(--hcg-column-border-color, var(--ig-border-color));
    --ig-column-border: var(--ig-column-border-width) var(--ig-column-border-style) var(--ig-column-border-color);

    /* Header column borders */
    --ig-header-column-border-width: var(--hcg-header-column-border-width, var(--ig-column-border-width));
    --ig-header-column-border-style: var(--hcg-header-column-border-style, var(--ig-column-border-style));
    --ig-header-column-border-color: var(--hcg-header-column-border-color, var(--ig-column-border-color));
    --ig-header-column-border: var(--ig-header-column-border-width) var(--ig-header-column-border-style) var(--ig-header-column-border-color);

    /* Default padding */
    --ig-horizontal-padding: var(--hcg-horizontal-padding, var(--hcg-padding, 0));
    --ig-vertical-padding: var(--hcg-vertical-padding, var(--hcg-padding, 0));
    --ig-padding: var(--ig-vertical-padding) var(--ig-horizontal-padding);

    /* Header padding */
    --ig-header-horizontal-padding: var(--hcg-header-horizontal-padding, var(--hcg-header-padding, var(--ig-horizontal-padding)));
    --ig-header-vertical-padding: var(--hcg-header-vertical-padding, var(--hcg-header-padding, var(--ig-vertical-padding)));
    --ig-header-padding: var(--ig-header-vertical-padding) max(var(--ig-header-horizontal-padding), 20px) var(--ig-header-vertical-padding) var(--ig-header-horizontal-padding);

    /* Caption padding */
    --ig-caption-horizontal-padding: var(--hcg-caption-horizontal-padding, var(--hcg-caption-padding, var(--ig-horizontal-padding)));
    --ig-caption-vertical-padding: var(--hcg-caption-vertical-padding, var(--hcg-caption-padding, var(--ig-vertical-padding)));
    --ig-caption-padding: 0 var(--ig-caption-horizontal-padding) var(--ig-caption-vertical-padding) var(--ig-caption-horizontal-padding);

    /* Description padding */
    --ig-description-horizontal-padding: var(--hcg-description-horizontal-padding, var(--hcg-description-padding, var(--ig-horizontal-padding)));
    --ig-description-vertical-padding: var(--hcg-description-vertical-padding, var(--hcg-description-padding, var(--ig-vertical-padding)));
    --ig-description-padding: var(--ig-description-vertical-padding) var(--ig-description-horizontal-padding) 0 var(--ig-description-horizontal-padding);

    /* Credits padding */
    --ig-credits-horizontal-padding: var(--hcg-credits-horizontal-padding, var(--hcg-credits-padding, var(--ig-horizontal-padding)));
    --ig-credits-vertical-padding: var(--hcg-credits-vertical-padding, var(--hcg-credits-padding, var(--ig-vertical-padding)));
    --ig-credits-padding: var(--ig-credits-vertical-padding) var(--ig-credits-horizontal-padding) 0 var(--ig-credits-horizontal-padding);

    /* Loading indicator */
    --ig-loader-color: var(--hcg-loader-color, var(--ig-color));

    /* Default backgrounds and colors */
    --ig-background: var(--hcg-background, transparent);
    --ig-row-background: var(--hcg-row-background, transparent);
    --ig-row-even-background: var(--hcg-row-even-background, var(--ig-row-background));
    --ig-header-background: var(--hcg-header-background, var(--ig-row-background));
    --ig-row-even-color: var(--hcg-row-even-color, var(--ig-color));

    /* Cell hovered backgrounds and colors */
    --ig-cell-hovered-background: var(--hcg-cell-hovered-background, var(--hcg-cell-hovered-column-background, var(--ig-cell-hovered-row-background)));
    --ig-cell-hovered-color: var(--hcg-cell-hovered-color, var(--hcg-cell-hovered-column-color, var(--ig-cell-hovered-row-color, var(--hcg-color))));
    --ig-cell-even-hovered-background: var(--hcg-cell-hovered-even-background, var(--hcg-cell-hovered-background, var(--hcg-cell-hovered-column-background, var(--ig-cell-hovered-row-even-background))));
    --ig-cell-even-hovered-color: var(--hcg-cell-even-hovered-color, var(--hcg-cell-hovered-color, var(--hcg-cell-hovered-column-color, var(--ig-cell-hovered-row-even-color))));

    /* Cell hovered horizontal border */
    --ig-cell-hovered-horizontal-border-width: var(--hcg-cell-hovered-border-width, var(--ig-cell-hovered-column-border-width));
    --ig-cell-hovered-horizontal-border-style: var(--hcg-cell-hovered-border-style, var(--ig-cell-hovered-column-border-style));
    --ig-cell-hovered-horizontal-border-color: var(--hcg-cell-hovered-border-color, var(--ig-cell-hovered-column-border-color));
    --ig-cell-hovered-horizontal-border: var(--ig-cell-hovered-horizontal-border-width) var(--ig-cell-hovered-horizontal-border-style) var(--ig-cell-hovered-horizontal-border-color);

    /* Cell hovered vertical border */
    --ig-cell-hovered-vertical-border-width: var(--hcg-cell-hovered-border-width, var(--ig-cell-hovered-row-border-width));
    --ig-cell-hovered-vertical-border-style: var(--hcg-cell-hovered-border-style, var(--ig-cell-hovered-row-border-style));
    --ig-cell-hovered-vertical-border-color: var(--hcg-cell-hovered-border-color, var(--ig-cell-hovered-row-border-color));
    --ig-cell-hovered-vertical-border: var(--ig-cell-hovered-vertical-border-width) var(--ig-cell-hovered-vertical-border-style) var(--ig-cell-hovered-vertical-border-color);

    /* Cell hovered row backgrounds and colors */
    --ig-cell-hovered-row-background: var(--hcg-cell-hovered-row-background, var(--ig-row-background));
    --ig-cell-hovered-row-color: var(--hcg-cell-hovered-row-color, var(--ig-color));
    --ig-cell-hovered-row-even-background: var(--hcg-cell-hovered-row-even-background, var(--hcg-cell-hovered-row-background, var(--ig-row-even-background)));
    --ig-cell-hovered-row-even-color: var(--hcg-cell-hovered-row-even-color, var(--hcg-cell-hovered-row-color, var(--ig-row-even-color)));

    /* Cell hovered row border */
    --ig-cell-hovered-row-border-width: var(--hcg-cell-hovered-row-border-width, 0);
    --ig-cell-hovered-row-border-style: var(--hcg-cell-hovered-row-border-style, var(--ig-border-style));
    --ig-cell-hovered-row-border-color: var(--hcg-cell-hovered-row-border-color, var(--ig-border-color));
    --ig-cell-hovered-row-border: var(--ig-cell-hovered-row-border-width) var(--ig-cell-hovered-row-border-style) var(--ig-cell-hovered-row-border-color);

    /* Cell hovered column backgrounds and colors */
    --ig-cell-hovered-column-background: var(--hcg-cell-hovered-column-background, var(--ig-row-background));
    --ig-cell-hovered-column-color: var(--hcg-cell-hovered-column-color, var(--ig-color));
    --ig-cell-hovered-column-even-background: var(--hcg-cell-hovered-column-even-background, var(--hcg-cell-hovered-column-background, var(--ig-row-even-background)));
    --ig-cell-hovered-column-even-color: var(--hcg-cell-hovered-column-even-color, var(--hcg-cell-hovered-column-color, var(--ig-row-even-color)));

    /* Cell hovered column border */
    --ig-cell-hovered-column-border-width: var(--hcg-cell-hovered-column-border-width, 0);
    --ig-cell-hovered-column-border-style: var(--hcg-cell-hovered-column-border-style, var(--ig-border-style));
    --ig-cell-hovered-column-border-color: var(--hcg-cell-hovered-column-border-color, var(--ig-border-color));
    --ig-cell-hovered-column-border: var(--ig-cell-hovered-column-border-width) var(--ig-cell-hovered-column-border-style) var(--ig-cell-hovered-column-border-color);

    /* Cell hovered header background and color */
    --ig-cell-hovered-header-background: var(--hcg-cell-hovered-header-background, var(--ig-header-background));
    --ig-cell-hovered-header-color: var(--hcg-cell-hovered-header-color, var(--ig-header-color));

    /* Cell hovered header border */
    --ig-cell-hovered-header-border-width: var(--hcg-cell-hovered-header-border-width, 0);
    --ig-cell-hovered-header-border-style: var(--hcg-cell-hovered-header-border-style, var(--ig-cell-hovered-column-border-style));
    --ig-cell-hovered-header-border-color: var(--hcg-cell-hovered-header-border-color, var(--ig-cell-hovered-column-border-color));
    --ig-cell-hovered-header-border: var(--ig-cell-hovered-header-border-width) var(--ig-cell-hovered-header-border-style) var(--ig-cell-hovered-header-border-color);

    /* Header hovered background and color */
    --ig-header-hovered-background: var(--hcg-header-hovered-background, var(--ig-header-background));
    --ig-header-hovered-color: var(--hcg-header-hovered-color, var(--ig-header-color));

    /* Cell synced backgrounds and colors */
    --ig-cell-synced-background: var(--hcg-cell-synced-background, var(--ig-cell-hovered-background));
    --ig-cell-synced-color: var(--hcg-cell-synced-color, var(--ig-cell-hovered-color));
    --ig-cell-even-synced-background: var(--hcg-cell-synced-even-background, var(--ig-cell-even-hovered-background));
    --ig-cell-even-synced-color: var(--hcg-cell-even-synced-color, var(--ig-cell-even-hovered-color));

    /* Cell synced horizontal border */
    --ig-cell-synced-horizontal-border-width: var(--hcg-cell-synced-border-width, var(--hcg-cell-hovered-border-width, 0));
    --ig-cell-synced-horizontal-border-style: var(--hcg-cell-synced-border-style, var(--hcg-cell-hovered-border-style, var(--ig-border-style)));
    --ig-cell-synced-horizontal-border-color: var(--hcg-cell-synced-border-color, var(--hcg-cell-hovered-border-color, var(--ig-border-color)));
    --ig-cell-synced-horizontal-border: var(--ig-cell-synced-horizontal-border-width) var(--ig-cell-synced-horizontal-border-style) var(--ig-cell-synced-horizontal-border-color);

    /* Cell synced vertical border */
    --ig-cell-synced-vertical-border-width: var(--hcg-cell-synced-border-width, var(--hcg-cell-hovered-border-width, 0));
    --ig-cell-synced-vertical-border-style: var(--hcg-cell-synced-border-style, var(--hcg-cell-hovered-border-style, var(--ig-border-style)));
    --ig-cell-synced-vertical-border-color: var(--hcg-cell-synced-border-color, var(--hcg-cell-hovered-border-color, var(--ig-border-color)));
    --ig-cell-synced-vertical-border: var(--ig-cell-synced-vertical-border-width) var(--ig-cell-synced-vertical-border-style) var(--ig-cell-synced-vertical-border-color);

    /* Cell synced row backgrounds and colors */
    --ig-cell-synced-row-background: var(--hcg-cell-synced-row-background, var(--ig-cell-hovered-row-background));
    --ig-cell-synced-row-color: var(--hcg-cell-synced-row-color, var(--ig-cell-hovered-row-color));
    --ig-cell-synced-row-even-background: var(--hcg-cell-synced-row-even-background, var(--ig-cell-hovered-row-even-background));
    --ig-cell-synced-row-even-color: var(--hcg-cell-synced-row-even-color, var(--ig-cell-hovered-row-even-color));

    /* Cell synced row border */
    --ig-cell-synced-row-border-width: var(--hcg-cell-synced-row-border-width, var(--ig-cell-hovered-row-border-width));
    --ig-cell-synced-row-border-style: var(--hcg-cell-synced-row-border-style, var(--ig-cell-hovered-row-border-style));
    --ig-cell-synced-row-border-color: var(--hcg-cell-synced-row-border-color, var(--ig-cell-hovered-row-border-color));
    --ig-cell-synced-row-border: var(--ig-cell-synced-row-border-width) var(--ig-cell-synced-row-border-style) var(--ig-cell-synced-row-border-color);

    /* Cell synced column backgrounds and colors */
    --ig-cell-synced-column-background: var(--hcg-cell-synced-column-background, var(--ig-cell-hovered-column-background));
    --ig-cell-synced-column-color: var(--hcg-cell-synced-column-color, var(--ig-cell-hovered-column-color));
    --ig-cell-synced-column-even-background: var(--hcg-cell-synced-column-even-background, var(--hcg-cell-synced-column-background, var(--ig-cell-hovered-column-even-background)));
    --ig-cell-synced-column-even-color: var(--hcg-cell-synced-column-even-color, var(--ig-cell-hovered-column-even-color));

    /* Cell synced column border */
    --ig-cell-synced-column-border-width: var(--hcg-cell-synced-column-border-width, var(--ig-cell-hovered-column-border-width));
    --ig-cell-synced-column-border-style: var(--hcg-cell-synced-column-border-style, var(--ig-cell-hovered-column-border-style));
    --ig-cell-synced-column-border-color: var(--hcg-cell-synced-column-border-color, var(--ig-cell-hovered-column-border-color));
    --ig-cell-synced-column-border: var(--ig-cell-synced-column-border-width) var(--ig-cell-synced-column-border-style) var(--ig-cell-synced-column-border-color);

    /* Cell synced header background and color */
    --ig-cell-synced-header-background: var(--hcg-cell-synced-header-background, var(--ig-cell-hovered-header-background));
    --ig-cell-synced-header-color: var(--hcg-cell-synced-header-color, var(--ig-cell-hovered-header-color));

    /* Cell synced header border */
    --ig-cell-synced-header-border-width: var(--hcg-cell-synced-header-border-width, var(--ig-cell-hovered-header-border-width));
    --ig-cell-synced-header-border-style: var(--hcg-cell-synced-header-border-style, var(--ig-cell-synced-column-border-style));
    --ig-cell-synced-header-border-color: var(--hcg-cell-synced-header-border-color, var(--ig-cell-synced-column-border-color));
    --ig-cell-synced-header-border: var(--ig-cell-synced-header-border-width) var(--ig-cell-synced-header-border-style) var(--ig-cell-synced-header-border-color);

    /* CSS helpers */
    --ig-highlight-border-size: var(--hcg-highlight-border-size, 1px);

    /* Negative colors */
    --ig-negative-border-color: var(--hcg-negative-border-color, var(--ig-negative-default-border-color));
    --ig-negative-border-size: var(--hcg-negative-border-size, var(--ig-highlight-border-size));
    --ig-negative-background: var(--hcg-negative-background, var(--ig-negative-default-background));
    --ig-negative-color: var(--hcg-negative-color, var(--ig-color));

    /* Neutral colors */
    --ig-neutral-border-color: var(--hcg-neutral-border-color, var(--ig-neutral-default-border-color));
    --ig-neutral-border-size: var(--hcg-neutral-border-size, var(--ig-highlight-border-size));
    --ig-neutral-background: var(--hcg-neutral-background, var(--ig-neutral-default-background));
    --ig-neutral-color: var(--hcg-neutral-color, var(--ig-color));

    /* Positive colors */
    --ig-positive-border-color: var(--hcg-positive-border-color, var(--ig-positive-default-border-color));
    --ig-positive-border-size: var(--hcg-positive-border-size, var(--ig-highlight-border-size));
    --ig-positive-background: var(--hcg-positive-background, var(--ig-positive-default-background));
    --ig-positive-color: var(--hcg-positive-color, var(--ig-color));
}

/* ==== End Grid Variables ==== */

/* Grid container */
.hcg-container,
.highcharts-datagrid-container {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    box-sizing: border-box;
    font: var(--ig-font);
}

.hcg-container *,
.highcharts-datagrid-container * {
    box-sizing: border-box;
}

.hcg-column,
.highcharts-datagrid-column {
    width: 0;
}

/* Links */
.hcg-container a,
.highcharts-datagrid-container a {
    color: var(--ig-link-color);
    text-decoration: var(--ig-link-text-decoration);
    font-weight: var(--ig-link-font-weight);
}

.hcg-container a:hover,
.highcharts-datagrid-container a:hover {
    color: var(--ig-link-hovered-color);
    text-decoration: var(--ig-link-hovered-text-decoration);
}

/* Table */
.hcg-table,
.highcharts-datagrid-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    border: var(--ig-border);
    background: var(--ig-background);
    table-layout: fixed;
    border-radius: var(--ig-border-radius);
    flex: 1;
}

.hcg-table.hcg-scrollable-content,
.highcharts-datagrid-table.highcharts-datagrid-scrollable-content {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

/* Table Header */
.hcg-table.hcg-virtualization thead,
.highcharts-datagrid-table.highcharts-datagrid-virtualization thead {
    display: block;
}

.hcg-table thead th,
.highcharts-datagrid-table thead th {
    position: relative;
    border-right: var(--ig-header-column-border);
    border-bottom: var(--ig-header-row-border);
    background: var(--ig-header-background);
    padding: var(--ig-header-padding);
    color: var(--ig-header-color);
}

.hcg-table thead th .hcg-header-cell-content,
.highcharts-datagrid-table thead th .highcharts-datagrid-header-cell-content {
    width: 100%;
    font: var(--ig-header-font);
    text-align: var(--ig-header-text-align);
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    padding: 0;
    user-select: none; /* Standard syntax */
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
}

.hcg-table thead th .hcg-header-cell-content span,
.highcharts-datagrid-table thead th .highcharts-datagrid-header-cell-content span {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.hcg-resizable-content thead,
.highcharts-datagrid-resizable-content thead,
.hcg-resizable-content tbody,
.highcharts-datagrid-resizable-content tbody {
    display: block;
    overflow: hidden;
    width: 100%;
}

.hcg-table thead tr:first-of-type th:first-child,
.highcharts-datagrid-table thead tr:first-of-type th:first-child {
    border-top-left-radius: var(--ig-border-radius);
}

.hcg-table thead tr:first-of-type th:last-child,
.highcharts-datagrid-table thead tr:first-of-type th:last-child {
    border-top-right-radius: var(--ig-border-radius);
}

.hcg-table tbody tr:last-of-type td:first-child,
.highcharts-datagrid-table tbody tr:last-of-type td:first-child {
    border-bottom-left-radius: var(--ig-border-radius);
}

.hcg-table tbody tr:last-of-type td:last-child,
.highcharts-datagrid-table tbody tr:last-of-type td:last-child {
    border-bottom-right-radius: var(--ig-border-radius);
}

.hcg-resizable-content tr,
.highcharts-datagrid-resizable-content tr {
    width: 100%;
}

.hcg-table thead th .hcg-column-resizer,
.highcharts-datagrid-table thead th .highcharts-datagrid-column-resizer {
    position: absolute;
    top: 0;
    width: 16px;
    right: -9px;
    height: 100%;
    cursor: col-resize;
    user-select: none;
    z-index: 10;
}

.hcg-table thead th .hcg-column-resizer::after,
.highcharts-datagrid-table thead th .highcharts-datagrid-column-resizer::after {
    content: "";
    position: absolute;
    display: block;
    height: 20px;
    width: 7px;
    margin-top: -10px;
    top: 50%;
    left: 2px;
}

.hcg-table thead th .hcg-column-resizer:hover::after,
.highcharts-datagrid-table thead th .highcharts-datagrid-column-resizer:hover::after {
    border-left: 2px solid var(--ig-header-color);
    border-right: 2px solid var(--ig-header-color);
}

/* Sorting */
.hcg-table thead th.hcg-column-sortable,
.highcharts-datagrid-table thead th.highcharts-datagrid-column-sortable {
    cursor: pointer;
}

th.hcg-column-sortable > .hcg-column-sortable-icon,
th.highcharts-datagrid-column-sortable > .highcharts-datagrid-column-sortable-icon {
    right: 10px;
    top: calc(50% - 10px);
    bottom: 50%;
    position: absolute;
    display: none;
    width: 12px;
    height: 12px;
    user-select: none;
    pointer-events: none;
}

.hcg-column-sortable.hcg-column-sorted-asc .hcg-column-sortable-icon,
.highcharts-datagrid-column-sortable.highcharts-datagrid-column-sorted-asc .highcharts-datagrid-column-sortable-icon,
.hcg-column-sortable.hcg-column-sorted-desc .hcg-column-sortable-icon,
.highcharts-datagrid-column-sortable.highcharts-datagrid-column-sorted-desc .highcharts-datagrid-column-sortable-icon {
    display: inline-block;
}

.hcg-column-sortable.hcg-column-sorted-desc .hcg-column-sortable-icon,
.highcharts-datagrid-column-sortable.highcharts-datagrid-column-sorted-desc .highcharts-datagrid-column-sortable-icon {
    transform: rotate(180deg);
    top: calc(50% - 2px);
    right: 10px;
}

.hcg-container:has(.hcg-no-data),
.highcharts-datagrid-container:has(.highcharts-datagrid-no-data) {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100%;
    padding: var(--ig-description-padding);
    text-align: var(--ig-description-text-align);
}

/* Table body */
.hcg-table.hcg-scrollable-content tbody,
.highcharts-datagrid-table.highcharts-datagrid-scrollable-content tbody {
    height: 100%;
    overflow: auto;
    min-height: 0;
    flex: 1;
}

.hcg-table.hcg-virtualization tbody,
.highcharts-datagrid-table.highcharts-datagrid-virtualization tbody {
    display: block;
    position: relative;
}

.hcg-table tbody,
.highcharts-datagrid-table tbody {
    border-bottom-left-radius: var(--hcg-border-radius);
    border-bottom-right-radius: var(--hcg-border-radius);
}

.hcg-table tbody tr,
.highcharts-datagrid-table tbody tr {
    overflow: hidden;
    width: 100%;
}

.hcg-table tbody tr td,
.highcharts-datagrid-table tbody tr td,
.hcg-table tbody tr.hcg-mocked-row td,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-mocked-row td {
    border-right: var(--ig-column-border);
    border-bottom: var(--ig-row-border);
    text-align: var(--ig-text-align);
    padding: var(--ig-padding);
    color: var(--ig-color);
    font: var(--ig-font);
    line-height: 1em;
    overflow: hidden;
}

.hcg-table tbody tr.hcg-mocked-row td,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-mocked-row td {
    white-space: nowrap;
    text-overflow: ellipsis;
}

.hcg-table .hcg-last-header-cell-in-row,
.highcharts-datagrid-table .highcharts-datagrid-last-header-cell-in-row,
.hcg-table td:last-of-type,
.highcharts-datagrid-table td:last-of-type {
    border-right: none;
}

.hcg-table tr:last-of-type td,
.highcharts-datagrid-table tr:last-of-type td {
    border-bottom: none;
}

.hcg-table.hcg-scrollable-content tbody tr,
.highcharts-datagrid-table.highcharts-datagrid-scrollable-content tbody tr {
    display: block;
}

.hcg-table.hcg-virtualization tbody tr,
.highcharts-datagrid-table.highcharts-datagrid-virtualization tbody tr {
    position: absolute;
}

.hcg-table tbody.hcg-rows-content-nowrap td,
.highcharts-datagrid-table tbody.highcharts-datagrid-rows-content-nowrap td {
    white-space: nowrap;
    text-overflow: ellipsis;
}

.hcg-table tbody td.hcg-edited-cell,
.highcharts-datagrid-table tbody td.highcharts-datagrid-edited-cell {
    padding: 0;
}

.hcg-table tbody td:focus,
.highcharts-datagrid-table tbody td:focus,
.hcg-table thead th:focus-visible,
.highcharts-datagrid-table thead th:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 1px rgb(117, 124, 199);
}

/* Header hovered background and color */
.hcg-table thead tr th.hcg-column-sortable:hover,
.highcharts-datagrid-table thead tr th.highcharts-datagrid-column-sortable:hover {
    background: var(--ig-header-hovered-background);
}

.hcg-table thead th.hcg-column-sortable:hover .hcg-header-cell-content,
.highcharts-datagrid-table thead th.highcharts-datagrid-column-sortable:hover .highcharts-datagrid-header-cell-content {
    color: var(--ig-header-hovered-color);
}

/* Row backgrounds */
.hcg-table tbody tr td,
.highcharts-datagrid-table tbody tr td {
    background: var(--ig-row-background);
    position: relative;
}

.hcg-table tbody tr.hcg-row-even td,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-row-even td {
    background: var(--ig-row-even-background);
    color: var(--ig-row-even-color);
}

/* Cell hovered and synced shared styles */
.hcg-table thead th.hcg-hovered-column::before,
.highcharts-datagrid-table thead th.highcharts-datagrid-hovered-column::before,
.hcg-table tbody tr:hover td:hover::before,
.highcharts-datagrid-table tbody tr:hover td:hover::before,
.hcg-table tbody tr:hover td::before,
.highcharts-datagrid-table tbody tr:hover td::before,
.hcg-table tbody tr td.hcg-hovered-column::before,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-hovered-column::before,
.hcg-table thead th.hcg-synced-column::before,
.highcharts-datagrid-table thead th.highcharts-datagrid-synced-column::before,
.hcg-table tbody tr.hcg-synced-row td.hcg-synced-cell::before,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-synced-row td.highcharts-datagrid-synced-cell::before,
.hcg-table tbody tr.hcg-synced-row td::before,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-synced-row td::before,
.hcg-table tbody tr td.hcg-synced-column::before,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-synced-column::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    pointer-events: none;
}

/* Cell hovered background and color */
.hcg-table tbody tr:hover td:hover,
.highcharts-datagrid-table tbody tr:hover td:hover {
    background: var(--ig-cell-hovered-background);
    color: var(--ig-cell-hovered-color);
}

/* Cell hovered border */
.hcg-table tbody tr:hover td:hover::before,
.highcharts-datagrid-table tbody tr:hover td:hover::before {
    border-top: var(--ig-cell-hovered-vertical-border);
    border-right: var(--ig-cell-hovered-horizontal-border);
    border-bottom: var(--ig-cell-hovered-vertical-border);
    border-left: var(--ig-cell-hovered-horizontal-border);
}

/* Cell hovered background and color */
.hcg-table tbody tr.hcg-row-even:hover td:hover,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-row-even:hover td:hover {
    background: var(--ig-cell-even-hovered-background);
    color: var(--ig-cell-even-hovered-color);
}

/* Cell hovered row background and color */
.hcg-table tbody tr:hover td,
.highcharts-datagrid-table tbody tr:hover td {
    background: var(--ig-cell-hovered-row-background);
    color: var(--ig-cell-hovered-row-color);
}

/* Cell hovered row border */
.hcg-table tbody tr:hover td::before,
.highcharts-datagrid-table tbody tr:hover td::before {
    border-top: var(--ig-cell-hovered-row-border);
    border-bottom: var(--ig-cell-hovered-row-border);
}

/* Cell hovered row background and color */
.hcg-table tbody tr.hcg-row-even:hover td,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-row-even:hover td {
    background: var(--ig-cell-hovered-row-even-background);
    color: var(--ig-cell-hovered-row-even-color);
}

/* Cell hovered column background and color */
.hcg-table tbody tr td.hcg-hovered-column,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-hovered-column {
    background: var(--ig-cell-hovered-column-background);
    color: var(--ig-cell-hovered-column-color);
}

/* Cell hovered column border */
.hcg-table tbody tr td.hcg-hovered-column::before,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-hovered-column::before {
    border-left: var(--ig-cell-hovered-column-border);
    border-right: var(--ig-cell-hovered-column-border);
}

/* Cell hovered column background and color */
.hcg-table tbody tr.hcg-row-even td.hcg-hovered-column,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-row-even td.highcharts-datagrid-hovered-column {
    background: var(--ig-cell-hovered-column-even-background);
    color: var(--ig-cell-hovered-column-even-color);
}

/* Cell hovered header background */
.hcg-table thead th.hcg-hovered-column,
.highcharts-datagrid-table thead th.highcharts-datagrid-hovered-column {
    background: var(--ig-cell-hovered-header-background);
}

/* Cell hovered header border */
.hcg-table thead th.hcg-hovered-column::before,
.highcharts-datagrid-table thead th.highcharts-datagrid-hovered-column::before {
    border-left: var(--ig-cell-hovered-header-border);
    border-right: var(--ig-cell-hovered-header-border);
}

/* Cell hovered header color */
.hcg-table thead th.hcg-hovered-column .hcg-header-cell-content,
.highcharts-datagrid-table thead th.highcharts-datagrid-hovered-column .highcharts-datagrid-header-cell-content {
    color: var(--ig-cell-hovered-header-color);
}

/* Cell synced background and color */
.hcg-table tbody tr.hcg-synced-row td.hcg-synced-column,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-synced-row td.highcharts-datagrid-synced-column {
    background: var(--ig-cell-synced-background);
    color: var(--ig-cell-synced-color);
}

/* Cell synced border */
.hcg-table tbody tr.hcg-synced-row td.hcg-synced-column::before,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-synced-row td.highcharts-datagrid-synced-column::before {
    border-top: var(--ig-cell-synced-vertical-border);
    border-right: var(--ig-cell-synced-horizontal-border);
    border-bottom: var(--ig-cell-synced-vertical-border);
    border-left: var(--ig-cell-synced-horizontal-border);
}

/* Cell synced background and color */
.hcg-table tbody tr.hcg-row-even.hcg-synced-row td.hcg-synced-column,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-row-even.highcharts-datagrid-synced-row td.highcharts-datagrid-synced-column {
    background: var(--ig-cell-even-synced-background);
    color: var(--ig-cell-even-synced-color);
}

/* Cell synced row background and color */
.hcg-table tbody tr.hcg-synced-row td,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-synced-row td {
    background: var(--ig-cell-synced-row-background);
    color: var(--ig-cell-synced-row-color);
}

/* Cell synced row border */
.hcg-table tbody tr.hcg-synced-row td::before,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-synced-row td::before {
    border-top: var(--ig-cell-synced-row-border);
    border-bottom: var(--ig-cell-synced-row-border);
}

/* Cell synced row background and color */
.hcg-table tbody tr.hcg-row-even.hcg-synced-row td,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-row-even.highcharts-datagrid-synced-row td {
    background: var(--ig-cell-synced-row-even-background);
    color: var(--ig-cell-synced-row-even-color);
}

/* Cell synced column background and color */
.hcg-table tbody tr td.hcg-synced-column,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-synced-column {
    background: var(--ig-cell-synced-column-background);
    color: var(--ig-cell-synced-column-color);
}

/* Cell synced column border */
.hcg-table tbody tr td.hcg-synced-column::before,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-synced-column::before {
    border-left: var(--ig-cell-synced-column-border);
    border-right: var(--ig-cell-synced-column-border);
}

/* Cell synced column background and color */
.hcg-table tbody tr.hcg-row-even td.hcg-synced-column,
.highcharts-datagrid-table tbody tr.highcharts-datagrid-row-even td.highcharts-datagrid-synced-column {
    background: var(--ig-cell-synced-column-even-background);
    color: var(--ig-cell-synced-column-even-color);
}

/* Cell synced header background */
.hcg-table thead th.hcg-synced-column,
.highcharts-datagrid-table thead th.highcharts-datagrid-synced-column {
    background: var(--ig-cell-synced-header-background);
}

/* Cell synced header border */
.hcg-table thead th.hcg-synced-column::before,
.highcharts-datagrid-table thead th.highcharts-datagrid-synced-column::before {
    border-left: var(--ig-cell-synced-header-border);
    border-right: var(--ig-cell-synced-header-border);
}

/* Cell synced header color */
.hcg-table thead th.hcg-synced-column .hcg-header-cell-content,
.highcharts-datagrid-table thead th.highcharts-datagrid-synced-column .highcharts-datagrid-header-cell-content {
    color: var(--ig-cell-synced-header-color);
}

.hcg-table td:first-child,
.highcharts-datagrid-table td:first-child,
.hcg-table thead th.hcg-column-first,
.highcharts-datagrid-table thead th.highcharts-datagrid-column-first,
.hcg-table thead tr:first-child th:first-child,
.highcharts-datagrid-table thead tr:first-child th:first-child {
    border-left: none;
}

.hcg-table tbody td.hcg-edited-cell input,
.highcharts-datagrid-table tbody td.highcharts-datagrid-edited-cell input,
.hcg-table tbody td.hcg-edited-cell input:focus,
.highcharts-datagrid-table tbody td.highcharts-datagrid-edited-cell input:focus {
    border-width: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    outline: none;
    float: left;
    font: var(--ig-font);
    box-shadow: inset 0 0 0 1px #0000ed;
    padding: var(--ig-padding);
    background: #b7d4ff;
}

/* Accessibility */
.hcg-visually-hidden,
.highcharts-datagrid-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
    clip: rect(1px, 1px, 1px, 1px);
    margin-top: -3px;
    opacity: 0.01;
}

/* Caption */
.hcg-caption,
.highcharts-datagrid-caption {
    color: var(--ig-caption-color);
    font: var(--ig-caption-font);
    text-align: var(--ig-caption-text-align);
    padding: var(--ig-caption-padding);
}

.hcg-caption *,
.highcharts-datagrid-caption * {
    font: inherit;
    margin: 0;
}

/* Description */
.hcg-description,
.highcharts-datagrid-description {
    color: var(--ig-description-color);
    font: var(--ig-description-font);
    text-align: var(--ig-description-text-align);
    padding: var(--ig-description-padding);
}

/* Credits */

.hcg-credits-container.hcg-credits-pro,
.highcharts-datagrid-credits-container.highcharts-datagrid-credits-pro {
    text-align: var(--ig-credits-text-align);
    padding: var(--ig-credits-padding);
}

.hcg-credits-container.hcg-credits-pro .hcg-credits,
.highcharts-datagrid-credits-container.highcharts-datagrid-credits-pro .highcharts-datagrid-credits {
    color: var(--ig-credits-color);
    font-size: var(--ig-credits-font-size);
    text-decoration: none;
    display: inline-block;
}

/* Loader */
.hcg-loading-wrapper,
.highcharts-datagrid-loading-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    width: 100%;
    height: 100%;
    gap: 10px;
}

.hcg-loading-wrapper .hcg-spinner,
.highcharts-datagrid-loading-wrapper .highcharts-datagrid-spinner {
    border-top: 5px solid var(--ig-loader-color);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* Start Grid CSS Helpers Classes */
.hcg-table tbody tr td.hcg-negative::before,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-negative::before,
.hcg-table tbody tr:has(.hcg-negative-row) td::before,
.highcharts-datagrid-table tbody tr:has(.highcharts-datagrid-negative-row) td::before,
.hcg-table tbody tr td.hcg-neutral::before,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-neutral::before,
.hcg-table tbody tr:has(.hcg-neutral-row) td::before,
.highcharts-datagrid-table tbody tr:has(.highcharts-datagrid-neutral-row) td::before,
.hcg-table tbody tr td.hcg-positive::before,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-positive::before,
.hcg-table tbody tr:has(.hcg-positive-row) td::before,
.highcharts-datagrid-table tbody tr:has(.highcharts-datagrid-positive-row) td::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    pointer-events: none;
}

.hcg-table tbody tr td.hcg-negative,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-negative,
.hcg-table tbody tr:has(.hcg-negative-row) td,
.highcharts-datagrid-table tbody tr:has(.highcharts-datagrid-negative-row) td {
    background: var(--ig-negative-background) !important;
    color: var(--ig-negative-color) !important;
}

.hcg-table tbody tr td.hcg-negative::before,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-negative::before {
    border: var(--ig-negative-border-size) solid var(--ig-negative-border-color) !important;
}

.hcg-table tbody tr:has(.hcg-negative-row) td::before,
.highcharts-datagrid-table tbody tr:has(.highcharts-datagrid-negative-row) td::before {
    border-top: var(--ig-negative-border-size) solid var(--ig-negative-border-color) !important;
    border-bottom: var(--ig-negative-border-size) solid var(--ig-negative-border-color) !important;
}

.hcg-table tbody tr td.hcg-neutral,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-neutral,
.hcg-table tbody tr:has(.hcg-neutral-row) td,
.highcharts-datagrid-table tbody tr:has(.highcharts-datagrid-neutral-row) td {
    background: var(--ig-neutral-background) !important;
    color: var(--ig-neutral-color) !important;
}

.hcg-table tbody tr td.hcg-neutral::before,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-neutral::before {
    border: var(--ig-neutral-border-size) solid var(--ig-neutral-border-color) !important;
}

.hcg-table tbody tr:has(.hcg-neutral-row) td::before,
.highcharts-datagrid-table tbody tr:has(.highcharts-datagrid-neutral-row) td::before {
    border-top: var(--ig-neutral-border-size) solid var(--ig-neutral-border-color) !important;
    border-bottom: var(--ig-neutral-border-size) solid var(--ig-neutral-border-color) !important;
}

.hcg-table tbody tr td.hcg-positive,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-positive,
.hcg-table tbody tr:has(.hcg-positive-row) td,
.highcharts-datagrid-table tbody tr:has(.highcharts-datagrid-positive-row) td {
    background: var(--ig-positive-background) !important;
    color: var(--ig-positive-color) !important;
}

.hcg-table tbody tr td.hcg-positive::before,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-positive::before {
    border: var(--ig-positive-border-size) solid var(--ig-positive-border-color) !important;
}

.hcg-table tbody tr:has(.hcg-positive-row) td::before,
.highcharts-datagrid-table tbody tr:has(.highcharts-datagrid-positive-row) td::before {
    border-top: var(--ig-positive-border-size) solid var(--ig-positive-border-color) !important;
    border-bottom: var(--ig-positive-border-size) solid var(--ig-positive-border-color) !important;
}

.hcg-table thead tr th.hcg-right .hcg-header-cell-content,
.highcharts-datagrid-table thead tr th.highcharts-datagrid-right .highcharts-datagrid-header-cell-content,
.hcg-table tbody tr td.hcg-right,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-right {
    text-align: right;
}

.hcg-table thead tr th.hcg-center .hcg-header-cell-content,
.highcharts-datagrid-table thead tr th.highcharts-datagrid-center .highcharts-datagrid-header-cell-content,
.hcg-table tbody tr td.hcg-center,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-center {
    text-align: center;
}

.hcg-table thead tr th.hcg-left .hcg-header-cell-content,
.highcharts-datagrid-table thead tr th.highcharts-datagrid-left .highcharts-datagrid-header-cell-content,
.hcg-table tbody tr td.hcg-left,
.highcharts-datagrid-table tbody tr td.highcharts-datagrid-left {
    text-align: left;
}

/* End Grid CSS Helpers Classes */

/* Start Grid Default Theme */
.hcg-theme-default,
.highcharts-datagrid-theme-default {
    --hcg-font-size: 15px;
    --hcg-color: #333333;
    --hcg-background: #ffffff;
    --hcg-padding: 15px;
    --hcg-border-radius: 5px;
    --hcg-border-width: 1px;
    --hcg-border-color: #cccccc;
    --hcg-column-border-width: 0;
    --hcg-row-border-color: #e8e8e8;
    --hcg-header-background: #eeeeee;
    --hcg-header-row-border-color: #cccccc;
    --hcg-header-vertical-padding: 10px;
    --hcg-row-even-background: #fbfbfb;
    --hcg-cell-hovered-row-background: #f3f6fe;
    --hcg-caption-font-size: 18px;
    --hcg-credits-padding: 5px;
    --hcg-header-column-border-color: #dfdfdf;
    --hcg-header-column-border-width: 1px;
}

@media (prefers-color-scheme: dark) {
    .hcg-theme-default,
    .highcharts-datagrid-theme-default {
        --hcg-color: #eeeeee;
        --hcg-background: #292929;
        --hcg-border-color: #525252;
        --hcg-row-border-color: #434343;
        --hcg-header-background: #3d3d3d;
        --hcg-header-row-border-color: #525252;
        --hcg-row-even-background: #2e2e2e;
        --hcg-cell-hovered-row-background: #2d2f36;
        --hcg-header-column-border-color: #4e4e4e;
    }
}

/* End Grid Default Theme */
