@mixin theme() {
  .dynamic-grid-host {
    position: relative;

    .dynamic-grid {
    width: 100%;
    height: 100%;
    position: relative;
    display: block;
    overflow: auto;
    * {
      box-sizing: border-box;
    }

    &.external-scroll {
      overflow-x: auto;
      scrollbar-width: none;
      height: auto;
    }

    &:not(.external-scroll) {
      scrollbar-gutter: stable;
    }

    &:not(.tree-enabled, .row-drag-enabled) {
      .first-cell {
        padding-left: 8px;
      }
    }

    .cell-drag-offset {
      padding-left: var(--dg-drag-btn-space);
    }

    .cell-expand-offset {
      padding-left: var(--dg-expand-row-btn-space);
    }

    .first-cell {
      padding-right: 8px;
    }

    .dynamic-grid-row {
      display: grid;
      grid-template-columns: var(--dg-grid-template-columns);
      border-bottom: 1px solid var(--dg-divider-color);
      width: fit-content;
      min-width: 100%;

      .first-cell ~ * {
        padding: 0 8px;
      }

      // После системной колонки не ставить отступ
      & > .dynamic-grid-system-cell + * {
        padding-left: 0;
      }
    }
  }
}
}
