﻿@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600&family=Roboto:wght@400;500&family=Montserrat:wght@400;500&family=PT+Serif:wght@400;700&family=Lora:wght@400;500&display=swap');


.ag-theme-quartz[class*="ag-theme-font-"] {
    font-family: var(--ag-font-family) !important;
}

/* Regole di priorità per ciascun font - l'ultima classe vince */
.ag-theme-quartz.ag-theme-font-Arial {
    --ag-font-family: Arial, sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-Verdana {
    --ag-font-family: Verdana, sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-Helvetica {
    --ag-font-family: Helvetica, Arial, sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-Times-New-Roman {
    --ag-font-family: "Times New Roman", Times, serif !important;
}

.ag-theme-quartz.ag-theme-font-Georgia {
    --ag-font-family: Georgia, serif !important;
}

.ag-theme-quartz.ag-theme-font-Garamond {
    --ag-font-family: Garamond, "Times New Roman", serif !important;
}

.ag-theme-quartz.ag-theme-font-Open-Sans {
    --ag-font-family: "Open Sans", sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-Roboto {
    --ag-font-family: Roboto, sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-Montserrat {
    --ag-font-family: Montserrat, sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-PT-Serif {
    --ag-font-family: "PT Serif", serif !important;
}

.ag-theme-quartz.ag-theme-font-Lora {
    --ag-font-family: Lora, serif !important;
}


.ag-theme-quartz.ag-theme-font-Arial * {
    font-family: Arial, sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-Verdana * {
    font-family: Verdana, sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-Helvetica * {
    font-family: Helvetica, Arial, sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-Times-New-Roman * {
    font-family: "Times New Roman", Times, serif !important;
}

.ag-theme-quartz.ag-theme-font-Georgia * {
    font-family: Georgia, serif !important;
}

.ag-theme-quartz.ag-theme-font-Garamond * {
    font-family: Garamond, "Times New Roman", serif !important;
}

.ag-theme-quartz.ag-theme-font-Open-Sans * {
    font-family: "Open Sans", sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-Roboto * {
    font-family: Roboto, sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-Montserrat * {
    font-family: Montserrat, sans-serif !important;
}

.ag-theme-quartz.ag-theme-font-PT-SerIF * {
    font-family: "PT Serif", serif !important;
}

.ag-theme-quartz.ag-theme-font-Lora * {
    font-family: Lora, serif !important;
}


.ag-theme-balham {
    --ag-balham-active-color: #0091ea;
    --ag-foreground-color: #000;
    --ag-background-color: #fff;
    --ag-header-background-color: #f5f7f7;
    --ag-subheader-background-color: #e2e9eb;
    --ag-control-panel-background-color: #f5f7f7;
    --ag-border-color: #bdc3c7;
    --ag-odd-row-background-color: #fcfdfe;
    --ag-row-hover-color: #ecf0f1;
    --ag-column-hover-color: #ecf0f1;
    --ag-input-border-color: #95a5a6;
    --ag-invalid-color: #e02525;
    --ag-input-disabled-background-color: #ebebeb;
    --ag-checkbox-unchecked-color: #7f8c8d;
    --ag-input-focus-border-color: #719ECE;
    --ag-input-focus-box-shadow: 0 0 2px 1px var(--ag-input-focus-border-color);
    --ag-range-selection-border-color: var(--ag-balham-active-color);
    --ag-checkbox-checked-color: var(--ag-balham-active-color);
    --ag-checkbox-background-color: var(--ag-background-color);
    --ag-secondary-foreground-color: rgba(0, 0, 0, 0.54);
    --ag-disabled-foreground-color: rgba(0, 0, 0, 0.38);
    --ag-subheader-toolbar-background-color: rgba(226, 233, 235, 0.5);
    --ag-row-border-color: rgba(189, 195, 199, 0.58);
    --ag-chip-background-color: rgba(0, 0, 0, 0.1);
    --ag-range-selection-background-color: rgba(0, 145, 234, 0.2);
    --ag-range-selection-background-color-2: rgba(0, 145, 234, 0.36);
    --ag-range-selection-background-color-3: rgba(0, 145, 234, 0.49);
    --ag-range-selection-background-color-4: rgba(0, 145, 234, 0.59);
    --ag-selected-row-background-color: rgba(0, 145, 234, 0.28);
    --ag-header-column-separator-color: rgba(189, 195, 199, 0.5);
    --ag-input-disabled-border-color: rgba(149, 165, 166, 0.3);
    --ag-header-column-separator-display: block;
    --ag-header-column-separator-height: 50%;
    --ag-grid-size: 4px;
    --ag-icon-size: 16px;
    --ag-row-height: calc(var(--ag-grid-size) * 7);
    --ag-header-height: calc(var(--ag-grid-size) * 8);
    --ag-list-item-height: calc(var(--ag-grid-size) * 6);
    --ag-row-group-indent-size: calc(var(--ag-grid-size) * 3 + var(--ag-icon-size));
    --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);
    --ag-input-height: calc(var(--ag-grid-size) * 4);
    --ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    --ag-font-size: 12px;
    --ag-icon-font-family: agGridBalham;
    --ag-border-radius: 0;
    --ag-checkbox-border-radius: 0;
    --ag-card-shadow: none;
}

html[data-bs-theme="dark"] {
    .ag-theme-balham

{
    --ag-balham-active-color: #00B0FF;
    --ag-foreground-color: #F5F5F5;
    --ag-background-color: #2d3436;
    --ag-header-background-color: #1c1c1c;
    --ag-subheader-background-color: #111;
    --ag-control-panel-background-color: #202020;
    --ag-border-color: #424242;
    --ag-odd-row-background-color: #262c2e;
    --ag-row-hover-color: #3d4749;
    --ag-column-hover-color: #3d4749;
    --ag-input-border-color: #f0f0f0;
    --ag-input-disabled-background-color: rgba(48, 46, 46, 0.3);
    --ag-checkbox-unchecked-color: #ecf0f1;
    --ag-secondary-foreground-color: var(--ag-foreground-color);
    --ag-disabled-foreground-color: rgba(245, 245, 245, 0.38);
    --ag-subheader-toolbar-background-color: rgba(17, 17, 17, 0.5);
    --ag-row-border-color: #5c5c5c;
    --ag-chip-background-color: rgba(245, 245, 245, 0.08);
    --ag-range-selection-background-color: rgba(0, 176, 255, 0.2);
    --ag-range-selection-background-color-2: rgba(0, 176, 255, 0.36);
    --ag-range-selection-background-color-3: rgba(0, 176, 255, 0.49);
    --ag-range-selection-background-color-4: rgba(0, 176, 255, 0.59);
    --ag-selected-row-background-color: rgba(0, 176, 255, 0.28);
    --ag-header-column-separator-color: rgba(66, 66, 66, 0.5);
    --ag-input-disabled-border-color: rgba(240, 240, 240, 0.3);
    --ag-header-foreground-color: rgba(245, 245, 245, 0.64);
    --ag-toggle-button-off-background-color: transparent;
    --ag-toggle-button-off-border-color: var(--ag-foreground-color);
    --ag-range-selection-chart-category-background-color: rgba(26, 177, 74, 0.5);
    --ag-range-selection-chart-background-color: rgba(45, 166, 255, 0.5);
    --ag-input-focus-box-shadow: 0 0 4px 1.5px var(--ag-input-focus-border-color);
    color-scheme: dark;
}

}

.ag-theme-balham .ag-filter-toolpanel-header,
.ag-theme-balham .ag-filter-toolpanel-search,
.ag-theme-balham .ag-status-bar,
.ag-theme-balham .ag-header-row,
.ag-theme-balham .ag-multi-filter-group-title-bar {
    font-weight: 600;
    color: var(--ag-header-foreground-color);
}

.ag-theme-balham .ag-ltr input[class^=ag-]:not([type]), .ag-theme-balham .ag-ltr input[class^=ag-][type=text], .ag-theme-balham .ag-ltr input[class^=ag-][type=number], .ag-theme-balham .ag-ltr input[class^=ag-][type=tel], .ag-theme-balham .ag-ltr input[class^=ag-][type=date], .ag-theme-balham .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-balham .ag-ltr textarea[class^=ag-] {
    padding-left: var(--ag-grid-size);
}

.ag-theme-balham .ag-rtl input[class^=ag-]:not([type]), .ag-theme-balham .ag-rtl input[class^=ag-][type=text], .ag-theme-balham .ag-rtl input[class^=ag-][type=number], .ag-theme-balham .ag-rtl input[class^=ag-][type=tel], .ag-theme-balham .ag-rtl input[class^=ag-][type=date], .ag-theme-balham .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-balham .ag-rtl textarea[class^=ag-] {
    padding-right: var(--ag-grid-size);
}

.ag-theme-balham .ag-column-drop-vertical-empty-message, .ag-theme-balham .ag-status-bar {
    font-weight: 600;
    color: var(--ag-disabled-foreground-color);
}

.ag-theme-balham.ag-dnd-ghost {
    font-size: var(--ag-font-size);
    font-weight: 600;
}

.ag-theme-balham .ag-tab {
    border: 1px solid transparent;
    padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
    margin: var(--ag-grid-size);
    margin-bottom: -1px;
}

.ag-theme-balham .ag-tab-selected {
    background-color: var(--ag-background-color);
    border-color: var(--ag-border-color);
    border-bottom-color: transparent;
}

.ag-theme-balham .ag-tabs-header {
    border-bottom: 1px solid var(--ag-border-color);
}

.ag-theme-balham .ag-column-drop-cell {
    height: calc(var(--ag-grid-size) * 6);
}

.ag-theme-balham .ag-column-drop-vertical-title {
    color: var(--ag-foreground-color);
}

.ag-theme-balham .ag-column-drop-vertical-cell {
    margin-left: calc(var(--ag-grid-size) * 2);
    margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-theme-balham .ag-column-drop-vertical-cell-text {
    margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-theme-balham .ag-column-drop-vertical-icon {
    color: var(--ag-secondary-foreground-color);
}

.ag-theme-balham .ag-ltr .ag-column-drop-vertical-empty-message {
    padding-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
    padding-right: var(--ag-grid-size);
}

.ag-theme-balham .ag-rtl .ag-column-drop-vertical-empty-message {
    padding-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
    padding-left: var(--ag-grid-size);
}

.ag-theme-balham .ag-column-drop-horizontal {
    height: var(--ag-header-height);
}

.ag-theme-balham .ag-column-drop-empty {
    color: var(--ag-disabled-foreground-color);
}

.ag-theme-balham .ag-column-drop-horizontal-cell-text {
    margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-theme-balham .ag-column-drop-vertical {
    padding-top: calc(var(--ag-grid-size) * 2);
}

.ag-theme-balham .ag-menu-header {
    background-color: var(--ag-header-background-color);
}

.ag-theme-balham .ag-overlay-loading-center {
    background-color: var(--ag-background-color);
    border: 1px solid var(--ag-border-color);
    color: var(--ag-foreground-color);
    padding: calc(var(--ag-grid-size) * 4);
}

.ag-theme-balham .ag-tooltip {
    border: none;
    background-color: #cbd0d3;
}

.ag-theme-balham .ag-panel-title-bar-button-icon {
    font-size: calc(var(--ag-icon-size) + var(--ag-grid-size));
}

.ag-theme-balham .ag-chart-data-section,
.ag-theme-balham .ag-chart-format-section {
    padding-bottom: calc(var(--ag-grid-size) * 0.5);
}

.ag-theme-balham .ag-group-toolbar {
    background-color: var(--ag-subheader-toolbar-background-color);
}

.ag-theme-balham .ag-chart-tab {
    padding-top: calc(var(--ag-grid-size) * 0.5);
}

.ag-theme-balham .ag-charts-format-sub-level-group-item {
    margin-bottom: calc(var(--ag-grid-size) * 1.5);
}

.ag-theme-quartz {
    --ag-active-color: #2196f3;
    --ag-background-color: #fff;
    --ag-foreground-color: #181d1f;
    --ag-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 15%);
    --ag-secondary-border-color: var(--ag-border-color);
    --ag-header-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 2%);
    --ag-tooltip-background-color: var(--ag-header-background-color);
    --ag-control-panel-background-color: var(--ag-header-background-color);
    --ag-subheader-background-color: transparent;
    --ag-invalid-color: #e02525;
    --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 30%);
    --ag-advanced-filter-join-pill-color: #f08e8d;
    --ag-advanced-filter-column-pill-color: #a6e194;
    --ag-advanced-filter-option-pill-color: #f3c08b;
    --ag-advanced-filter-value-pill-color: #85c0e4;
    --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);
    --ag-icon-font-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 90%);
    --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 3%);
    --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 20%);
    --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 3%);
    --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 20%);
    --ag-selected-row-background-color: color-mix(in srgb, transparent, var(--ag-active-color) 8%);
    --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 12%);
    --ag-column-hover-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 5%);
    --ag-input-focus-border-color: var(--ag-active-color);
    --ag-input-focus-box-shadow: 0 0 0 3px color-mix(in srgb, transparent, var(--ag-input-focus-border-color) 47%);
    --ag-range-selection-background-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);
    --ag-range-selection-background-color-2: color-mix(in srgb, transparent, var(--ag-active-color) 36%);
    --ag-range-selection-background-color-3: color-mix(in srgb, transparent, var(--ag-active-color) 49%);
    --ag-range-selection-background-color-4: color-mix(in srgb, transparent, var(--ag-active-color) 59%);
    --ag-checkbox-background-color: var(--ag-background-color);
    --ag-checkbox-checked-color: var(--ag-active-color);
    --ag-range-selection-border-color: var(--ag-active-color);
    --ag-secondary-foreground-color: var(--ag-foreground-color);
    --ag-input-border-color: var(--ag-border-color);
    --ag-input-border-color-invalid: var(--ag-invalid-color);
    --ag-disabled-foreground-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 50%);
    --ag-chip-background-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 7%);
    --ag-chip-border-color: color-mix(in srgb, var(--ag-header-background-color), var(--ag-foreground-color) 13%);
    --ag-input-disabled-border-color: var(--ag-border-color);
    --ag-input-disabled-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 6%);
    --ag-modal-overlay-background-color: color-mix(in srgb, transparent, var(--ag-background-color) 66%);
    --ag-borders: solid 1px;
    --ag-border-radius: 0;
    --ag-wrapper-border-radius: 0;
    --ag-borders-side-button: none;
    --ag-side-button-selected-background-color: transparent;
    --ag-header-column-resize-handle-display: block;
    --ag-header-column-resize-handle-width: 2px;
    --ag-header-column-resize-handle-height: 30%;
    --ag-grid-size: 8px;
    --ag-icon-size: 16px;
    --ag-header-height: calc(var(--ag-font-size) + var(--ag-grid-size) * 4.25);
    --ag-row-height: calc(var(--ag-font-size) + var(--ag-grid-size) * 3.5);
    --ag-list-item-height: calc(var(--ag-icon-size) + var(--ag-widget-vertical-spacing));
    --ag-column-select-indent-size: var(--ag-icon-size);
    --ag-set-filter-indent-size: var(--ag-icon-size);
    --ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
    --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 2);
    --ag-cell-widget-spacing: calc(var(--ag-grid-size) * 1.5);
    --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);
    --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);
    --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 1.5);
    --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1);
    --ag-toggle-button-height: 18px;
    --ag-toggle-button-width: 28px;
    --ag-toggle-button-border-width: 2px;
    --ag-font-size: 14px;
    --ag-icon-font-family: agGridQuartz;
    --ag-tab-min-width: 0;
    --ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);
    --ag-popup-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.15);
    --ag-side-bar-panel-width: 250px;
    /* Variabili di default */
    --ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --ag-header-foreground-color: var(--bs-body-color);
    /* Assicura che le variabili vengano ereditate */
    font-family: var(--ag-font-family) !important;
    font-size: var(--ag-font-size) !important;
    color: var(--ag-foreground-color) !important;
}

html[data-bs-theme="dark"] {
    .ag-theme-quartz

{
    --ag-background-color: color-mix(in srgb, #fff, #182230 97%);
    --ag-foreground-color: #fff;
    --ag-border-color: rgba(255,255,255,0.16);
    --ag-secondary-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
    --ag-header-background-color: color-mix(in srgb, #fff, #182230 93%);
    --ag-tooltip-background-color: color-mix(in srgb, #fff, #182230 96%);
    --ag-control-panel-background-color: color-mix(in srgb, #fff, #182230 93%);
    --ag-input-disabled-background-color: #68686e12;
    --ag-card-shadow: 0 1px 20px 1px black;
    --ag-input-border-color: var(--ag-border-color);
    --ag-input-disabled-border-color: rgba(255,255,255,0.07);
    --ag-checkbox-unchecked-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 40%);
    --ag-row-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 20%);
    --ag-selected-row-background-color: var(--ag-row-hover-color);
    --ag-panel-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);
    --ag-panel-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
    --ag-menu-background-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);
    --ag-menu-border-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
    --ag-advanced-filter-join-pill-color: #7a3a37;
    --ag-advanced-filter-column-pill-color: #355f2d;
    --ag-advanced-filter-option-pill-color: #5a3168;
    --ag-advanced-filter-value-pill-color: #374c86;
    --ag-popup-shadow: 0 0px 20px rgba(0, 0, 0, 0.30);
    color-scheme: dark;
}

}

.ag-theme-quartz .ag-filter-toolpanel-header,
.ag-theme-quartz .ag-filter-toolpanel-search,
.ag-theme-quartz .ag-status-bar,
.ag-theme-quartz .ag-header-row,
.ag-theme-quartz .ag-panel-title-bar-title,
.ag-theme-quartz .ag-multi-filter-group-title-bar {
    font-weight: 500;
    color: var(--ag-header-foreground-color);
}

.ag-theme-quartz input[class^=ag-]:not([type]),
.ag-theme-quartz input[class^=ag-][type=text],
.ag-theme-quartz input[class^=ag-][type=number],
.ag-theme-quartz input[class^=ag-][type=tel],
.ag-theme-quartz input[class^=ag-][type=date],
.ag-theme-quartz input[class^=ag-][type=datetime-local],
.ag-theme-quartz textarea[class^=ag-] {
    min-height: calc(var(--ag-grid-size) * 4);
    border-radius: 0;
}

.ag-theme-quartz .ag-ltr input[class^=ag-]:not([type]), .ag-theme-quartz .ag-ltr input[class^=ag-][type=text], .ag-theme-quartz .ag-ltr input[class^=ag-][type=number], .ag-theme-quartz .ag-ltr input[class^=ag-][type=tel], .ag-theme-quartz .ag-ltr input[class^=ag-][type=date], .ag-theme-quartz .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-quartz .ag-ltr textarea[class^=ag-] {
    padding-left: var(--ag-grid-size);
}

.ag-theme-quartz .ag-rtl input[class^=ag-]:not([type]), .ag-theme-quartz .ag-rtl input[class^=ag-][type=text], .ag-theme-quartz .ag-rtl input[class^=ag-][type=number], .ag-theme-quartz .ag-rtl input[class^=ag-][type=tel], .ag-theme-quartz .ag-rtl input[class^=ag-][type=date], .ag-theme-quartz .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-quartz .ag-rtl textarea[class^=ag-] {
    padding-right: var(--ag-grid-size);
}

.ag-theme-quartz .ag-picker-field-wrapper {
    min-height: calc(var(--ag-grid-size) * 4);
}

.ag-theme-quartz .ag-tab {
    padding: var(--ag-grid-size);
    border-left: var(--ag-borders) transparent;
    border-right: var(--ag-borders) transparent;
    flex: 1 1 auto;
}

.ag-theme-quartz .ag-tab-selected {
    background-color: var(--ag-background-color);
}

.ag-theme-quartz .ag-ltr .ag-tab-selected:not(:first-of-type) {
    border-left-color: var(--ag-border-color);
}

.ag-theme-quartz .ag-rtl .ag-tab-selected:not(:first-of-type) {
    border-right-color: var(--ag-border-color);
}

.ag-theme-quartz .ag-ltr .ag-tab-selected:not(:last-of-type) {
    border-right-color: var(--ag-border-color);
}

.ag-theme-quartz .ag-rtl .ag-tab-selected:not(:last-of-type) {
    border-left-color: var(--ag-border-color);
}

.ag-theme-quartz .ag-tab:not(.ag-tab-selected) {
    opacity: 0.7;
}

    .ag-theme-quartz .ag-tab:not(.ag-tab-selected):hover {
        opacity: 1;
    }

.ag-theme-quartz .ag-menu {
    color: color-mix(in srgb, transparent, var(--ag-foreground-color) 95%);
}

    .ag-theme-quartz .ag-menu.ag-tabs {
        min-width: 290px;
    }

.ag-theme-quartz .ag-panel-content-wrapper .ag-column-select {
    background-color: var(--ag-control-panel-background-color);
    color: color-mix(in srgb, transparent, var(--ag-foreground-color) 95%);
}

.ag-theme-quartz .ag-menu-option .ag-icon {
    opacity: 65%;
}

.ag-theme-quartz .ag-menu-header {
    background-color: var(--ag-control-panel-background-color);
}

.ag-theme-quartz .ag-menu-option {
    font-weight: 500;
    cursor: pointer;
}

.ag-theme-quartz .ag-ltr .ag-menu-option-popup-pointer .ag-icon {
    text-align: right;
}

.ag-theme-quartz .ag-rtl .ag-menu-option-popup-pointer .ag-icon {
    text-align: left;
}

.ag-theme-quartz .ag-tabs-header {
    border-bottom: var(--ag-borders) var(--ag-border-color);
    display: flex;
    background-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 5%);
}

.ag-theme-quartz .ag-side-bar {
    background-color: var(--ag-control-panel-background-color);
    min-width: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}

.ag-theme-quartz .ag-side-buttons {
    padding: 0;
    align-self: stretch;
    width: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
    background: var(--ag-control-panel-background-color);
}

.ag-theme-quartz .ag-side-button {
    border-top: var(--ag-borders) transparent;
    border-bottom: var(--ag-borders) transparent;
}

@media (max-resolution: 1.5x) {
    .ag-theme-quartz .ag-side-button-label {
        font-family: "Segoe UI", var(--ag-font-family);
        transform: rotate(0.05deg);
    }
}

.ag-theme-quartz .ag-side-button.ag-selected {
    border-bottom-color: var(--ag-border-color);
    background-color: var(--ag-background-color);
}

    .ag-theme-quartz .ag-side-button.ag-selected:not(:first-of-type) {
        border-top-color: var(--ag-border-color);
    }

.ag-theme-quartz .ag-column-panel-column-select {
    border-top: none;
    border-bottom: 1px solid var(--ag-secondary-border-color);
}

.ag-theme-quartz .ag-filter-toolpanel-search {
    height: initial;
    margin-top: var(--ag-widget-container-vertical-padding);
}

.ag-theme-quartz .ag-filter-toolpanel-search-input {
    margin: 0;
}

.ag-theme-quartz .ag-filter-apply-panel {
    border: none;
    padding-top: var(--ag-widget-vertical-spacing);
}

.ag-theme-quartz .ag-chart-tabbed-menu-body {
    position: relative;
}

    .ag-theme-quartz .ag-chart-tabbed-menu-body::after {
        content: "";
        position: absolute;
        display: block;
        top: 0;
        left: 0;
        right: 0;
        height: 16px;
        background: linear-gradient(var(--ag-control-panel-background-color), transparent);
    }

.ag-theme-quartz .ag-charts-settings-group-title-bar,
.ag-theme-quartz .ag-charts-data-group-title-bar,
.ag-theme-quartz .ag-charts-format-top-level-group-title-bar,
.ag-theme-quartz .ag-charts-settings-group-container {
    border-top: none;
    padding: 0 calc(var(--ag-grid-size) * 1.5);
    font-weight: 500;
}

.ag-theme-quartz .ag-charts-format-top-level-group-item {
    padding-bottom: 12px;
}

.ag-theme-quartz .ag-charts-settings-group-container {
    margin-top: calc(var(--ag-grid-size));
}

.ag-theme-quartz .ag-ltr .ag-charts-settings-group-container {
    padding-right: var(--ag-widget-container-horizontal-padding);
}

.ag-theme-quartz .ag-rtl .ag-charts-settings-group-container {
    padding-left: var(--ag-widget-container-horizontal-padding);
}

.ag-theme-quartz .ag-ltr .ag-charts-format-sub-level-group-container {
    padding-right: 0;
}

.ag-theme-quartz .ag-rtl .ag-charts-format-sub-level-group-container {
    padding-left: 0;
}

.ag-theme-quartz .ag-charts-format-top-level-group-toolbar {
    margin-top: var(--ag-grid-size);
}

.ag-theme-quartz .ag-ltr .ag-charts-format-top-level-group-toolbar {
    padding-left: calc(var(--ag-grid-size) * 2);
}

.ag-theme-quartz .ag-rtl .ag-charts-format-top-level-group-toolbar {
    padding-right: calc(var(--ag-grid-size) * 2);
}

.ag-theme-quartz .ag-charts-settings-group-title-bar,
.ag-theme-quartz .ag-charts-data-group-title-bar,
.ag-theme-quartz .ag-charts-format-top-level-group-title-bar {
    margin-top: calc(var(--ag-grid-size) * 2);
}

.ag-theme-quartz .ag-charts-format-top-level-group-container {
    padding: 0;
}

.ag-theme-quartz .ag-ltr .ag-charts-format-top-level-group-container {
    padding-left: 0;
    padding-right: var(--ag-widget-container-horizontal-padding);
}

.ag-theme-quartz .ag-rtl .ag-charts-format-top-level-group-container {
    padding-right: 0;
    padding-left: var(--ag-widget-container-horizontal-padding);
}

.ag-theme-quartz .ag-charts-format-top-level-group-item {
    margin-top: calc(var(--ag-grid-size) * 2);
    margin-bottom: 0;
}

.ag-theme-quartz .ag-chart-mini-thumbnail {
    background-color: var(--ag-background-color);
    margin-top: 0;
    margin-bottom: 0;
}

.ag-theme-quartz .ag-chart-settings-nav-bar {
    border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-theme-quartz .ag-ltr .ag-group-title-bar-icon {
    margin-right: var(--ag-grid-size);
}

.ag-theme-quartz .ag-rtl .ag-group-title-bar-icon {
    margin-left: var(--ag-grid-size);
}

.ag-theme-quartz .ag-color-picker .ag-picker-field-wrapper {
    max-width: 55px;
    min-width: 55px;
}

.ag-theme-quartz .ag-color-picker .ag-picker-field-display {
    height: 18px;
    width: 18px;
    flex: auto 0 0;
    margin: 6px;
    border-radius: 0;
    border: solid 1px var(--ag-input-border-color);
}

.ag-theme-quartz .ag-ltr .ag-color-picker .ag-picker-field-icon {
    margin-right: 4px;
}

.ag-theme-quartz .ag-rtl .ag-color-picker .ag-picker-field-icon {
    margin-left: 4px;
}

.ag-theme-quartz .ag-charts-format-sub-level-group {
    border-left: dashed 1px;
    border-left-color: var(--ag-border-color);
    padding-left: var(--ag-grid-size);
    margin-bottom: calc(var(--ag-grid-size) * 2);
}

.ag-theme-quartz .ag-charts-format-sub-level-group-title-bar {
    padding-top: 0;
    padding-bottom: 0;
    background: none;
    font-weight: 500;
}

.ag-theme-quartz .ag-charts-format-sub-level-group-container {
    padding-bottom: 0;
}

.ag-theme-quartz .ag-charts-format-sub-level-group-item:last-child {
    margin-bottom: 0;
}

.ag-theme-quartz.ag-dnd-ghost {
    font-weight: 500;
}

.ag-theme-quartz .ag-standard-button {
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    border-radius: 0;
    border: solid 1px var(--ag-input-border-color);
    background-color: var(--ag-background-color);
    padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
    cursor: pointer;
}

    .ag-theme-quartz .ag-standard-button:hover {
        background-color: var(--ag-row-hover-color);
    }

    .ag-theme-quartz .ag-standard-button:active {
        border-color: var(--ag-active-color);
    }

    .ag-theme-quartz .ag-standard-button:disabled {
        color: var(--ag-disabled-foreground-color);
        background-color: var(--ag-input-disabled_BACKGROUND_COLOR);
        border-color: var(--ag-input-disabled-border-color);
    }

.ag-theme-quartz .ag-column-drop-cell {
    border-radius: 0;
    height: calc(var(--ag-grid-size) * 3);
    padding: 0 var(--ag-grid-size);
}

.ag-theme-quartz .ag-column-drop-cell-button {
    min-width: 0;
    margin: 0;
}

.ag-theme-quartz .ag-column-drop-cell-drag-handle {
    margin-left: 0;
}

.ag-theme-quartz .ag-column-drop-vertical {
    min-height: 75px;
}

.ag-theme-quartz .ag-column-drop-vertical-title-bar {
    padding: var(--ag-widget-container-vertical-padding) calc(var(--ag-grid-size) * 2) 0;
}

.ag-theme-quartz .ag-ltr .ag-column-drop-vertical-icon {
    margin-left: 0;
    margin-right: var(--ag-widget-horizontal-spacing);
}

.ag-theme-quartz .ag-rtl .ag-column-drop-vertical-icon {
    margin-right: 0;
    margin-left: var(--ag-widget-horizontal-spacing);
}

.ag-theme-quartz .ag-column-drop-vertical-empty-message {
    display: flex;
    align-items: center;
    justify-content: center;
    border: dashed 1px;
    border-color: var(--ag-border-color);
    margin: calc(var(--ag-grid-size) * 1.5) calc(var(--ag-grid-size) * 2);
    padding: calc(var(--ag-grid-size) * 2);
}

.ag-theme-quartz .ag-column-drop-empty-message {
    color: var(--ag-foreground-color);
}

.ag-theme-quartz .ag-status-bar {
    font-weight: normal;
}

.ag-theme-quartz .ag-status-name-value {
    padding: var(--ag-widget-container-vertical-padding) 0;
}

.ag-theme-quartz .ag-status-name-value-value,
.ag-theme-quartz .ag-paging-number,
.ag-theme-quartz .ag-paging-row-summary-panel-number {
    font-weight: 500;
}

.ag-theme-quartz .ag-column-drop-cell-button {
    opacity: 0.75;
}

    .ag-theme-quartz .ag-column-drop-cell-button:hover {
        opacity: 1;
    }

.ag-theme-quartz .ag-header-cell-menu-button,
.ag-theme-quartz .ag-header-cell-filter-button,
.ag-theme-quartz .ag-panel-title-bar-button,
.ag-theme-quartz .ag-header-expand-icon,
.ag-theme-quartz .ag-column-group-icons,
.ag-theme-quartz .ag-set-filter-group-icons,
.ag-theme-quartz .ag-group-expanded .ag-icon,
.ag-theme-quartz .ag-group-contracted .ag-icon,
.ag-theme-quartz .ag-chart-settings-prev,
.ag-theme-quartz .ag-chart-settings-next,
.ag-theme-quartz .ag-group-title-bar-icon,
.ag-theme-quartz .ag-column-select-header-icon,
.ag-theme-quartz .ag-floating-filter-button-button,
.ag-theme-quartz .ag-filter-toolpanel-expand,
.ag-theme-quartz .ag-panel-title-bar-button-icon,
.ag-theme-quartz .ag-chart-menu-icon,
.ag-theme-quartz .ag-chart-menu-close {
    --ag-quartz-icon-hover-color: color-mix(in srgb, transparent, var(--ag-foreground-color) 10%);
}

    .ag-theme-quartz .ag-header-cell-menu-button:hover,
    .ag-theme-quartz .ag-header-cell-filter-button:hover,
    .ag-theme-quartz .ag-panel-title-bar-button:hover,
    .ag-theme-quartz .ag-header-expand-icon:hover,
    .ag-theme-quartz .ag-column-group-icons:hover,
    .ag-theme-quartz .ag-set-filter-group-icons:hover,
    .ag-theme-quartz .ag-group-expanded .ag-icon:hover,
    .ag-theme-quartz .ag-group-contracted .ag-icon:hover,
    .ag-theme-quartz .ag-chart-settings-prev:hover,
    .ag-theme-quartz .ag-chart-settings-next:hover,
    .ag-theme-quartz .ag-group-title-bar-icon:hover,
    .ag-theme-quartz .ag-column-select-header-icon:hover,
    .ag-theme_quartz .ag-floating-filter-button-button:hover,
    .ag-theme-quartz .ag-filter-toolpanel-expand:hover,
    .ag-theme-quartz .ag-panel-title-bar-button-icon:hover,
    .ag-theme-quartz .ag-chart-menu-icon:hover,
    .ag-theme-quartz .ag-chart-menu-close:hover {
        border-radius: 0;
        background-color: var(--ag-quartz-icon-hover-color);
        box-shadow: 0 0 0 4px var(--ag-quartz-icon-hover-color);
    }

.ag-theme-quartz .ag-filter-active {
    --ag-quartz-icon-active-color: color-mix(in srgb, transparent, var(--ag-active-color) 14%);
    --ag-quartz-icon-hover-color: color-mix(in srgb, transparent, var(--ag-active-color) 28%);
    position: relative;
    border-radius: 0;
    background-color: var(--ag-quartz-icon-active-color);
    box-shadow: 0 0 0 4px var(--ag-quartz-icon-active-color);
}

    .ag-theme-quartz .ag-filter-active::after {
        content: "";
        position: absolute;
        width: 6px;
        height: 6px;
        top: -1px;
        right: -1px;
        border-radius: 0;
        background-color: var(--ag-active-color);
    }

    .ag-theme-quartz .ag-filter-active .ag-icon-filter {
        clip-path: path("M8,0C8,4.415 11.585,8 16,8L16,16L0,16L0,0L8,0Z");
    }

.ag-theme-quartz .ag-chart-menu-close {
    --ag-quartz-icon-hover-color: color-mix(in srgb, var(--ag-background-color), var(--ag-foreground-color) 10%);
}

.ag-theme-quartz .ag-chart-menu {
    --ag-icon-size: 20px;
    background-color: color-mix(in srgb, transparent, var(--ag-background-color) 30%);
    padding: 4px 2px;
}

.ag-theme-quartz .ag-chart-menu-icon {
    opacity: 0.8;
}

.ag-theme-quartz .ag-drag-handle {
    color: var(--ag-icon-font-color);
}

.ag-theme-quartz .ag-chart-menu-close {
    background: var(--ag-background-color);
}

    .ag-theme-quartz .ag-chart-menu-close .ag-icon {
        border: 1px solid var(--ag-border-color);
    }

.ag-theme-quartz .ag-ltr .ag-chart-menu-close .ag-icon {
    border-right: none;
}

.ag-theme-quartz .ag-rtl .ag-chart-menu-close .ag-icon {
    border-left: none;
}

.ag-theme-quartz .ag-chart-docked-container {
    min-width: 260px;
}

.ag-theme-quartz .ag-menu-option-icon, .ag-theme-quartz .ag-compact-menu-option-icon {
    width: var(--ag-icon-size);
    cursor: pointer;
}

.ag-theme-quartz .ag-ltr .ag-menu-option-icon, .ag-theme-quartz .ag-ltr .ag-compact-menu-option-icon {
    padding-left: calc(var(--ag-grid-size) * 1.5);
}

.ag-theme-quartz .ag-rtl .ag-menu-option-icon, .ag-theme-quartz .ag-rtl .ag-compact-menu-option-icon {
    padding-right: calc(var(--ag-grid-size) * 1.5);
}

.ag-theme-quartz .ag-chart-settings-card-item.ag-not-selected:hover {
    opacity: 0.35;
}

.ag-theme-quartz .ag-ltr .ag-panel-title-bar-button {
    margin-left: calc(var(--ag-grid-size) * 2);
    margin-right: var(--ag-grid-size);
}

.ag-theme-quartz .ag-rtl .ag-panel-title-bar-button {
    margin-right: calc(var(--ag-grid-size) * 2);
    margin-left: var(--ag-grid-size);
}

.ag-theme-quartz .ag-multi-filter-group-title-bar {
    padding: calc(var(--ag-grid-size) * 1.5) var(--ag-grid-size);
}

.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-group-container {
    padding-left: var(--ag-grid-size);
}

.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-group-container {
    padding-right: var(--ag-grid-size);
}

.ag-theme-quartz .ag-filter-toolpanel-instance-filter {
    border: none;
    background-color: var(--ag-control-panel-background-color);
}

.ag-theme-quartz .ag-ltr .ag-filter-toolpanel-instance-filter {
    margin-left: calc(var(--ag-icon-size) * 0.5);
}

.ag-theme-quartz .ag-rtl .ag-filter-toolpanel-instance-filter {
    margin-right: calc(var(--ag-icon-size) * 0.5);
}

.ag-theme-quartz .ag-filter-toolpanel-group-level-0 {
    border-top: none;
}

.ag-theme-quartz .ag-filter-toolpanel-header {
    height: initial;
    padding-top: var(--ag-grid-size);
    padding-bottom: var(--ag-grid-size);
}

.ag-theme-quartz .ag-filter-toolpanel-group-item {
    margin: 0;
}

.ag-theme-quartz .ag-layout-auto-height .ag-center-cols-viewport, .ag-theme-quartz .ag-layout-auto-height .ag-center-cols-container, .ag-theme-quartz .ag-layout-print .ag-center-cols-viewport, .ag-theme-quartz .ag-layout-print .ag-center-cols-container {
    min-height: 150px;
}

.ag-theme-quartz .ag-overlay-no-rows-wrapper.ag-layout-auto-height {
    padding-top: 60px;
}

.ag-theme-quartz .ag-date-time-list-page-entry-is-current {
    background-color: var(--ag-active-color);
}

.ag-theme-quartz .ag-advanced-filter-builder-button {
    padding: var(--ag-grid-size);
    font-weight: 600;
}

.ag-theme-quartz .ag-advanced-filter-builder-item-button-disabled .ag-icon,
.ag-theme-quartz .ag-disabled .ag-icon,
.ag-theme-quartz .ag-column-select-column-group-readonly .ag-icon,
.ag-theme-quartz [disabled] .ag-icon {
    opacity: 0.6;
}

.ag-theme-quartz .ag-icon-grip {
    opacity: 0.7;
}

.ag-theme-quartz .ag-column-select-column-readonly.ag-icon-grip,
.ag-theme-quartz .ag-column-select-column-readonly .ag-icon-grip {
    opacity: 0.35;
}

.ag-theme-quartz .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-filter-filter .ag-input-wrapper::before {
    position: absolute;
    display: block;
    width: 12px;
    height: 12px;
    background-image: url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMS41Ij48cGF0aCBkPSJNNS4zIDlhMy43IDMuNyAwIDEgMCAwLTcuNSAzLjcgMy43IDAgMCAwIDAgNy41Wk0xMC41IDEwLjUgOC4zIDguMiIvPjwvc3ZnPg==");
    background-position: 50% 50%;
    background-size: contain;
    opacity: 40%;
    content: "";
    filter: var(--ag-icon-filter);
}

.ag-theme-quartz .ag-ltr .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-ltr .ag-filter-filter .ag-input-wrapper::before {
    left: var(--ag-grid-size);
    top: 50%;
    transform: translateY(-50%);
}

.ag-theme-quartz .ag-rtl .ag-column-select-header-filter-wrapper .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-filter-toolpanel-search .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-mini-filter .ag-input-wrapper::before, .ag-theme-quartz .ag-rtl .ag-filter-filter .ag-input-wrapper::before {
    right: var(--ag-grid-size);
    top: 50%;
    transform: translateY(-50%);
}

/* Forza l'applicazione delle variabili alle celle */
.ag-theme-quartz .ag-cell {
    font-family: var(--ag-font-family) !important;
    font-size: var(--ag-font-size) !important;
    color: var(--ag-foreground-color) !important;
}

/* Forza l'applicazione delle variabili agli header */
.ag-theme-quartz .ag-header-cell-label,
.ag-theme-quartz .ag-header-cell-text {
    font-family: var(--ag-font-family) !important;
    font-size: var(--ag-font-size) !important;
    color: var(--ag-header-foreground-color) !important;
}


.font-customization-panel {
    position: absolute;
    bottom : 37px;
    right: 18px;
    z-index: 1000;
    background: #ffffff;

    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    padding: 5px;
    width: calc(100% - 10px);
    height: 35px;
}
    .font-customization-panel::after {
        content: '\f2ec';
        font-family: 'FontAwesome';
        transform: rotate(180deg);
        position: absolute;
        bottom: -15px;
        font-size: 15px;
        right: 88px;
        color: white;
    }

.font-toolbar {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 8px 12px;
    width: auto;
    position: absolute;
    height: 75px;
    bottom: 38px;
    left: -3px;
    z-index: 6;
    width: 100%;
}

.font-group {
    display: flex;
    flex-direction: column;
    align-items: center;
   
    height: 100%;
 
}

.font-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: var(--bs-body-color);
    opacity: 0.8;
}

.font-select {
    padding: 4px 8px;
    font-size: 13px;
    border-radius: 4px;
    border: 1px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
}

.size-buttons {
    display: flex;
    gap: 4px;
}

.size-btn {
    min-width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid var(--bs-border-color);
    background-color: var(--bs-body-bg);
    color: var(--bs-body-color);
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s;
}

.size-btn:hover {
    background-color: var(--bs-gray-200);
}

.size-btn.active {
    background-color: var(--bs-primary);
    color: white;
    border-color: var(--bs-primary);
}

.color-pickers {
    display: flex;
    gap: 8px;
}

.color-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.color-pick {
    width: 24px;
    height: 24px;
    border: 1px solid var(--bs-border-color);
    border-radius: 4px;
    background-color: var(--bs-body-bg);
    cursor: pointer;
    padding: 0;
}

.color-text {
    font-size: 10px;
    color: var(--bs-body-color);
    text-align: center;
}

.font-toggle-btn {
    position: absolute;
    bottom: 4px;
    left: 140px;
    z-index: 7;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s;
  
}
.menu-open {
    background-color: var(--bs-border-color);
}

.font-toggle-btn:hover {
    background-color: var(--bs-border-color);
}

/* Fix for ag-grid background colors */
.ag-theme-quartz .ag-row,
.ag-theme-quartz .ag-row-odd,
.ag-theme-quartz .ag-body-viewport,
.ag-theme-quartz .ag-header {
    transition: background-color 0.3s ease;
}
.ag-theme-quartz .ag-header {
    background-color: var(--ag-header-background-color, #f5f5f5) !important;
}
/* Ensure theme variables are properly applied to ag-grid elements */
.ag-theme-quartz {
    /* Force transition for smooth theme changes */
    transition: 
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}

/* Make sure all grid elements that can be themed have transitions */
.ag-theme-quartz .ag-header,
.ag-theme-quartz .ag-header-cell,
.ag-theme-quartz .ag-header-cell-text,
.ag-theme-quartz .ag-cell,
.ag-theme-quartz .ag-row,
.ag-theme-quartz .ag-row-odd,
.ag-theme-quartz .ag-body-viewport,
.ag-theme-quartz .ag-center-cols-viewport {
    transition: 
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease;
}

/* Fix for background colors not applying properly */
.ag-theme-quartz[style*="--ag-background-color"] .ag-row {
    background-color: var(--ag-background-color) !important;
}

.ag-theme-quartz[style*="--ag-background-color"] .ag-row-odd {
    background-color: color-mix(in srgb, var(--ag-background-color), #000 5%) !important;
}

.ag-theme-quartz[style*="--ag-background-color"] .ag-header {
    background-color: color-mix(in srgb, var(--ag-background-color), #000 3%) !important;
}

.ag-theme-quartz[style*="--ag-background-color"] .ag-body-viewport {
    background-color: var(--ag-background-color) !important;
}

/* Fix for text colors not applying properly */
.ag-theme-quartz[style*="--ag-foreground-color"] .ag-cell {
    color: var(--ag-foreground-color) !important;
}

.ag-theme-quartz[style*="--ag-header-foreground-color"] .ag-header-cell-text {
    color: var(--ag-header-foreground-color) !important;
}

/* Fix for theme changes when data-bs-theme attribute changes */
html[data-bs-theme="dark"] .ag-theme-quartz:not([style*="--ag-background-color"]) {
    --ag-background-color: #182230 !important;
    --ag-foreground-color: #ffffff !important;
    --ag-header-background-color: #141c25 !important;
}

html[data-bs-theme="light"] .ag-theme-quartz:not([style*="--ag-background-color"]) {
    --ag-background-color: #ffffff !important;
    --ag-foreground-color: #181d1f !important;
    --ag-header-background-color: #f5f7f7 !important;
}

/* Special handling for row hover to ensure it works with custom backgrounds */
.ag-theme-quartz .ag-row:hover {
    filter: brightness(95%);
    background-image: linear-gradient(rgba(0,0,0,0.05), rgba(0,0,0,0.05)) !important;
}

/* Force these styles with high specificity to ensure they override defaults */
body .ag-theme-quartz .ag-header-cell-text,
body .ag-theme-quartz .ag-cell {
    font-family: var(--ag-font-family) !important;
    font-size: var(--ag-font-size) !important;
}

/* Force GPU acceleration to help with rendering */
.ag-theme-quartz .ag-row, 
.ag-theme-quartz .ag-header {
    transform: translateZ(0);
}



/* Fix for custom background colors in different themes */
html[data-bs-theme="dark"] .ag-theme-quartz .ag-row-hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
}

html[data-bs-theme="light"] .ag-theme-quartz .ag-row-hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

.ag-root-wrapper {
    background-color: transparent !important;
}

/* Fix for hover background color */
.ag-theme-quartz .ag-row.ag-row-hover {
    background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
}



    /* Force color picker to display its value correctly */
    .font-toolbar .color-pick::-webkit-color-swatch {
        border: none;
        border-radius: 2px;
    }

    .font-toolbar .color-pick::-moz-color-swatch {
        border: none;
        border-radius: 2px;
    }


.ag-theme-quartz .ag-row {
    background-color: var(--ag-background-color, #fff) !important;
}

.ag-theme-quartz .ag-row-odd {
    background-color: var(--ag-odd-row-background-color, #f9f9f9) !important;
}

/* Override any inline styles with !important only when no custom theme is active */
.ag-theme-font-default .ag-header,
.ag-theme-font-default .ag-header-cell,
.ag-theme-font-default .ag-header-row {
    background-color: var(--ag-header-background-color, #f5f5f5) !important;
}

.ag-center-cols-viewport {
    min-height: unset !important;
}

/* Row drag styles */
.ag-row-drag {
    cursor: move !important;
}

.ag-row.ag-row-dragging {
    opacity: 0.6;
    background-color: var(--bs-secondary-bg);
    pointer-events: none;
}

.ag-row.ag-row-hover {
    background-color: rgba(var(--bs-primary-rgb), 0.1);
}

/* Specific styling for draggable rows */
[draggable="true"] {
    cursor: grab;
}

    [draggable="true"]:active {
        cursor: grabbing;
    }

/* Reset theme button styling */
.reset-theme-btn {
    width: 32px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    color: var(--bs-body-color);
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s;
}

    .reset-theme-btn:hover {
        background-color: var(--bs-gray-200);
        color: var(--bs-danger);
    }

    .reset-theme-btn i {
        font-size: 14px;
    }
/* Grid lines styles */
.ag-theme-quartz.ag-theme-gridlines .ag-cell {
    border-right: 1px solid var(--bs-border-color);
    border-bottom: 1px solid var(--bs-border-color);
}

.ag-theme-quartz.ag-theme-gridlines .ag-header-cell {
    border-right: 1px solid var(--bs-border-color);
}

html[data-bs-theme="dark"] .ag-theme-quartz.ag-theme-gridlines .ag-cell {
    border-right-color: rgba(255, 255, 255, 0.1);
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

html[data-bs-theme="dark"] .ag-theme-quartz.ag-theme-gridlines .ag-header-cell {
    border-right-color: rgba(255, 255, 255, 0.1);
}
