﻿/* core DCI Grid *************************/
:root {
    --dci-grid-gap-y: 0;
    --dci-grid-gap-x: 0;
    --dci-grid-bg-color: #fff;
    --dci-grid-border-color: #ccc;
    --dci-grid-bg-striped-color: rgba(0, 0, 0, 0.05);
    --dci-grid-bg-hover-color: rgba(0, 0, 0, 0.1);

    --is-active-column-max-width: 90px;
    --users-name-column-min-width: 210px;

    --inline-form-control-grid-a: 1fr;
    --inline-form-control-grid-b: 3fr;
    --dci-grid-cell-padding-x: .5rem;
    --dci-grid-cell-padding-y: .5rem;
}

.dci-grid-container {
    container-type: inline-size;
}

.dci-grid {
    display: grid;
    gap: var(--dci-grid-gap-y) var(--dci-grid-gap-x);
    grid-auto-flow: dense;
    font-size:0.9em;
}

.dci-child-grid {
    display: grid;
    grid-template-columns: subgrid;
    grid-auto-flow: dense;
    grid-column: 1 / -1;
}

.dci-grid-col-xxl,
.dci-grid-col-xl,
.dci-grid-col-lg,
.dci-grid-col-md,
.dci-grid-col-sm,
.dci-grid-col {
    grid-column: 1 / -1;
}

.dci-grid-row-wrapper,
.dci-grid-header,
.dci-grid-footer,
.dci-grid-body {
    display: contents;
}

    .dci-grid-row-wrapper > div {
        background-color: var(--dci-grid-bg-color);
        padding: var(--dci-grid-cell-padding-x) var(--dci-grid-cell-padding-y);
        border-bottom: var(--bs-border-width) solid var(--dci-grid-border-color);
        align-content: center;
    }

.dci-grid-hover .dci-grid-body .dci-grid-row-wrapper:hover > div {
    background-color: var(--dci-grid-bg-hover-color);
}

.dci-grid-header > div {
    background-color: var(--dci-grid-bg-color);
    padding: .5rem .5rem;
    border-bottom: var(--bs-border-width) solid var(--dci-grid-border-color);
    font-weight: bold;
}

.dci-grid-striped .dci-grid-body .dci-grid-row-wrapper:nth-child(odd) > div {
    --dci-grid-bg-color: var(--dci-grid-bg-striped-color);
}

@container (min-width: 576px) {
    .dci-grid-col-sm {
        grid-column: unset;
    }
}

@container (min-width: 768px) {
    .dci-grid-col-md {
        grid-column: unset;
    }
}

@container (min-width: 992px) {
    .dci-grid-col-lg {
        grid-column: unset;
    }
}

@container (min-width: 1200px) {
    .dci-grid-col-xl {
        grid-column: unset;
    }
}

@container (min-width: 1400px) {
    .dci-grid-col-xxl {
        grid-column: unset;
    }
}

.dci-grid-row-wrapper.filters-row > div {
    --dci-grid-bg-color: rgb(242 253 255);
}

.dci-grid-row-wrapper.add-new-row > div {
    --dci-grid-bg-color: rgb(245 255 245);
}


.dci-sticky {
    top: 0;
    position: sticky;
    z-index: 1020;
}

/* used to make sticky headers work */
.child-grid {
    display: grid;
    grid-template-columns: subgrid;
    grid-auto-flow: dense;
    grid-column: 1 / -1;
}

/* end DCI grid ***************************************************************/

.inline-form-control-grid {
    display: grid;
    grid-template-columns: var(--inline-form-control-grid-a) var(--inline-form-control-grid-b);
    align-items:center;
}


.global-search-grid-container {
    display: grid;
    grid-template-columns: 1fr 2fr;
    width: 100%;
    --dci-grid-bg-color: transparent;
    row-gap: 1rem;
}

.global-search-grid-results-body {
    display: grid;
    grid-template-columns: repeat(2, 1fr)
}

.global-search-grid-filters-body {
    display: grid;
    grid-template-columns: repeat(1, auto);
}

.global-search-grid-filters-border {
    border-right: var(--bs-border-width) solid var(--dci-grid-border-color);
}

.dci-grid.dci-grid-row-highlighting .dci-grid-row-wrapper:has(.invalid),
.dci-grid.dci-grid-row-highlighting .dci-grid-row-wrapper:has(.validation-message) {
  --dci-grid-bg-color: #fff3cd;
  --dci-grid-bg-striped-color: #f3e6c0;
  --dci-grid-bg-hover-color: #eadfc3;
}
