.table-fixed { table-layout: fixed !important; }

.table-sticky {
    border-collapse: separate;
    border-spacing: 0;
}

.table-sticky > thead {
    position: sticky;
    top: 0;
    z-index: 1011;
}

.table-sticky > tbody > th {
    position: sticky;
    left: 0;
    z-index: 1011;
}

main { padding: 0; }

.flex-0 { flex: 0 0 auto; }
.flex-1 { flex: 1 1 0; }

.h-fit { height: fit-content !important; }
.w-fit { width: fit-content !important; }

.btn-icon {
    --gt-btn-padding-y: var(--gt-btn-padding-x);
    aspect-ratio: 1/1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-xs {
    --gt-btn-padding-x: 0.25rem;
    --gt-btn-padding-x: 0.125rem;
    --gt-font-size: 12px;
}

.overflow-visible { overflow: visible !important; }