﻿
/* Main DataGrid Container */
.rz-datatable {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    background: white;
}

/* DataGrid Header */
.rz-datatable-header {
    background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
    color: var(--primary-text);
    border-bottom: 2px solid var(--primary-dark);
    padding: 12px 16px;
    font-weight: 600;
}

    .rz-datatable-header .rz-cell {
        background: transparent;
        color: var(--primary-text);
        border-right: 1px solid rgba(255, 255, 255, 0.2);
        padding: 12px 16px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-size: 0.75rem;
    }

        .rz-datatable-header .rz-cell:last-child {
            border-right: none;
        }

        /* Column Header Hover Effect */
        .rz-datatable-header .rz-cell:hover {
            background: rgba(255, 255, 255, 0.1);
            transition: background-color 0.2s ease;
        }

    /* Sortable Column Headers */
    .rz-datatable-header .rz-sortable-column {
        cursor: pointer;
        position: relative;
    }

        .rz-datatable-header .rz-sortable-column:hover {
            background: rgba(255, 255, 255, 0.15);
        }

/* Sort Icons */
.rz-sort-icon {
    color: var(--primary-text);
    opacity: 0.7;
    margin-left: 8px;
}

    .rz-sort-icon.rz-sort-asc,
    .rz-sort-icon.rz-sort-desc {
        opacity: 1;
        color: var(--primary-lighter);
    }

/* DataGrid Body */
.rz-datatable-data {
    background: white;
}

    /* Data Rows */
    .rz-datatable-data .rz-row {
        border-bottom: 1px solid var(--border-light);
        transition: background-color 0.2s ease;
    }

        .rz-datatable-data .rz-row:nth-child(even) {
            background: #fafafa;
        }

        .rz-datatable-data .rz-row:hover {
            background: var(--primary-lighter) !important;
            color: var(--text-dark);
        }

    /* Data Cells */
    .rz-datatable-data .rz-cell {
        padding: 12px 16px;
        color: var(--text-dark);
        border-right: 1px solid var(--border-light);
        vertical-align: middle;
    }

        .rz-datatable-data .rz-cell:last-child {
            border-right: none;
        }

    /* Selected Row */
    .rz-datatable-data .rz-row.rz-row-selected {
        background: var(--primary-light) !important;
        color: var(--text-dark);
    }

        .rz-datatable-data .rz-row.rz-row-selected .rz-cell {
            color: var(--text-dark);
            font-weight: 500;
        }

/* Pagination */
.rz-paginator {
    background: var(--bg-light);
    border-top: 1px solid var(--border-light);
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rz-paginator-pages .rz-paginator-page {
    background: white;
    color: var(--text-dark);
    border: 1px solid var(--border-light);
    padding: 8px 12px;
    margin: 0 2px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .rz-paginator-pages .rz-paginator-page:hover {
        background: var(--primary-lighter);
        border-color: var(--primary-color);
        color: var(--text-dark);
    }

    .rz-paginator-pages .rz-paginator-page.rz-state-active {
        background: var(--primary-color);
        color: var(--primary-text);
        border-color: var(--primary-color);
    }

/* Pagination Navigation Buttons */
.rz-paginator-first,
.rz-paginator-prev,
.rz-paginator-next,
.rz-paginator-last {
    background: white;
    color: var(--text-dark);
    border: 1px solid var(--border-light);
    padding: 8px 12px;
    margin: 0 2px;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
}

    .rz-paginator-first:hover,
    .rz-paginator-prev:hover,
    .rz-paginator-next:hover,
    .rz-paginator-last:hover {
        background: var(--secondary-color);
        color: var(--secondary-text);
        border-color: var(--secondary-color);
    }

    .rz-paginator-first:disabled,
    .rz-paginator-prev:disabled,
    .rz-paginator-next:disabled,
    .rz-paginator-last:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }

/* Page Size Selector */
.rz-paginator-rpp-options select {
    background: white;
    color: var(--text-dark);
    border: 1px solid var(--border-light);
    padding: 6px 8px;
    border-radius: 4px;
    font-family: var(--font-family);
}

/* Loading Indicator */
.rz-datatable-loading {
    background: rgba(255, 255, 255, 0.9);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
}

    .rz-datatable-loading .rz-progressbar {
        width: 200px;
    }

/* Filter Row */
.rz-datatable-filter {
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-light);
}

    .rz-datatable-filter .rz-cell {
        padding: 8px 16px;
        border-right: 1px solid var(--border-light);
    }

        .rz-datatable-filter .rz-cell:last-child {
            border-right: none;
        }

    .rz-datatable-filter input,
    .rz-datatable-filter select {
        width: 100%;
        padding: 6px 8px;
        border: 1px solid var(--border-light);
        border-radius: 4px;
        font-family: var(--font-family);
        font-size: var(--font-size-base);
    }

        .rz-datatable-filter input:focus,
        .rz-datatable-filter select:focus {
            outline: none;
            border-color: var(--primary-color);
            box-shadow: 0 0 0 2px rgba(202, 60, 25, 0.2);
        }

/* Empty State */
.rz-datatable-data .rz-datatable-emptymessage {
    padding: 40px;
    text-align: center;
    color: var(--text-muted);
    font-style: italic;
}

/* Column Resizer */
.rz-column-resizer {
    background: var(--primary-color);
    width: 2px;
    opacity: 0;
    transition: opacity 0.2s ease;
}

.rz-datatable-header .rz-cell:hover .rz-column-resizer {
    opacity: 1;
}

/* Checkbox Selection */
/*.rz-datatable .rz-chkbox {
    margin: 0;
}

    .rz-datatable .rz-chkbox .rz-chkbox-box {
        border: 2px solid var(--border-light);
        background: white;
        width: 18px;
        height: 18px;
        border-radius: 3px;
    }

        .rz-datatable .rz-chkbox .rz-chkbox-box:hover {
            border-color: var(--primary-color);
        }

    .rz-datatable .rz-chkbox.rz-state-active .rz-chkbox-box {
        background: var(--primary-color);
        border-color: var(--primary-color);
    }

    .rz-datatable .rz-chkbox.rz-state-active .rz-chkbox-icon {
        color: white;
    }*/

/* Action Buttons in Cells */
.rz-datatable .rz-button {
    padding: 6px 12px;
    margin: 0 2px;
    border-radius: 4px;
    font-size: 0.75rem;
    transition: all 0.2s ease;
}

    .rz-datatable .rz-button.rz-button-primary {
        background: var(--primary-color);
        border-color: var(--primary-color);
        color: var(--primary-text);
    }

        .rz-datatable .rz-button.rz-button-primary:hover {
            background: var(--primary-hover);
            border-color: var(--primary-hover);
        }

    .rz-datatable .rz-button.rz-button-secondary {
        background: var(--secondary-color);
        border-color: var(--secondary-color);
        color: var(--secondary-text);
    }

        .rz-datatable .rz-button.rz-button-secondary:hover {
            background: var(--secondary-hover);
            border-color: var(--secondary-hover);
        }

/* Context Menu */
.rz-contextmenu {
    background: white;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    overflow: hidden;
}

    .rz-contextmenu .rz-menuitem {
        padding: 12px 16px;
        color: var(--text-dark);
        cursor: pointer;
        transition: background-color 0.2s ease;
    }

        .rz-contextmenu .rz-menuitem:hover {
            background: var(--primary-lighter);
            color: var(--text-dark);
        }
.rz-datatable-data td .rz-cell-data, .rz-grid-table td .rz-cell-data {
    font-size: var(--font-size-sm-base) !important;
    text-wrap:auto;
}
/* Table Header Alignment */
.rz-datatable-header .rz-cell {
    text-align: center !important; /* Center align all table headers */
    justify-content: center !important;
}

/* Text Content Left Alignment */
.rz-datatable-data .text-content .rz-cell-data,
.cell-text-left .rz-cell-data,
.rz-datatable-data .rz-cell.cell-text-left {
    text-align: left !important;
    justify-content: flex-start !important;
}

/* Numeric Content Right Alignment */
.rz-datatable-data .numeric-content .rz-cell-data,
.cell-number-right .rz-cell-data,
.rz-datatable-data .rz-cell.cell-number-right {
    text-align: right !important;
    justify-content: flex-end !important;
}

/* Responsive Design */
@media (max-width: 768px) {
    .rz-datatable-header .rz-cell, .rz-datatable-data .rz-cell {
        padding: 8px 12px;
        font-size: 0.8rem;
    }

    .rz-paginator {
        flex-direction: column;
        gap: 12px;
    }

    .rz-paginator-pages {
        order: 2;
    }
}

