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

    .dynamic-grid {
      position: relative;

      overflow: auto;
      display: block;

      width: 100%;
      height: 100%;

      * {
        box-sizing: border-box;
      }

      &.external-scroll {
        scrollbar-width: none;
        overflow-x: auto;
        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);

        width: fit-content;
        min-width: 100%;

        border-bottom: 1px solid var(--dg-divider-color);

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

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