Vuetify Data Table: строки видны за скругленной шапкой при вертикальном скролле в Chrome

Подскажите, пожалуйста, как обрезать строки таблицы под скругленными углами хэдэра при скролле?

При скролле строки таблицы проезжают под скругленными углами шапки. Из-за того, что углы строк прямые, они торчат поверх скругления шапки. Особенно заметно при наведении на строку.

Я пыталась решить это, добавляя border-radius на обертку таблицы:

&.table-with-header {
  :deep(.v-table__wrapper) {
    border-radius: 12px 12px 0 0;
  }
} 

Но это работает только в Firefox. В Chrome из-за того, что скроллбар находится внутри контейнера, но слева от таблицы, border-radius применяется к контейнеру вместе с этим скроллбаром, а сами строки из-за этого при скролле лишь частично обрезаются с правой стороны.

overflow: hidden на контейнере - не помогает, так как скролл нужно оставить. clip-path: inset() не сработал.

Как обрезать строки или таблицу ровно по границе скругления шапки? Или какие еще есть варианты исправления?

const {
  createApp
} = Vue;
const {
  createVuetify
} = Vuetify;

const vuetify = createVuetify();

const app = createApp({
  data() {
    return {
      headers: [{
          title: "ID",
          key: "id",
          width: "80px"
        },
        {
          title: "Name",
          key: "name"
        },
        {
          title: "Role",
          key: "role"
        },
        {
          title: "Status",
          key: "status"
        },
      ],
      items: Array.from({
        length: 20
      }, (_, i) => ({
        id: i + 1,
        name: `User ${i + 1}`,
        role: "Administrator",
        status: i % 2 === 0 ? "Active" : "Offline",
      })),
    };
  }
});

app.use(vuetify).mount('#app');
.custom-data-table {
  --table-border: #e0e0e0;
  --header-bg: #ffffff;
  --row-hover: #f5f5f5;
}

/* Стили заголовков */
.custom-data-table .v-data-table-header th {
  border-top: 1px solid var(--table-border);
  background: var(--header-bg) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

/* Скругление самих ячеек заголовка */
.custom-data-table .v-data-table-header th:first-child {
  border-left: 1px solid var(--table-border);
  border-top-left-radius: 12px;
}

.custom-data-table .v-data-table-header th:last-child {
  border-right: 1px solid var(--table-border);
  border-top-right-radius: 12px;
}

/* Границы тела таблицы */
.custom-data-table tbody td:first-child {
  border-left: 1px solid var(--table-border);
}

/* Стили строк */
.trRow {
  transition: background 0.2s;
}

.trRow:hover td {
  background: var(--row-hover);
}
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.css" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/@mdi/[email protected]/css/materialdesignicons.min.css" rel="stylesheet">

<div id="app">
  <v-app>
    <v-main class="bg-grey-lighten-3 pa-4">
      <v-row>
        <v-col cols="12">
          <div id="tableData">
            <v-data-table :headers="headers" :items="items" :items-per-page="50" fixed-header height="400px" class="elevation-0 custom-data-table table-with-header">
              <template #headers="{ columns }">
                <tr class="v-data-table-header">
                  <th
                    v-for="header in columns"
                    :key="header.key"
                    :style="`width: ${header.width}`"
                    class="text-left"
                  >
                    <div class="py-3">{{ header.title }}</div>
                  </th>
                </tr>
              </template>

              <!-- Кастомные строки -->
              <template #item="{ item, columns }">
                <tr class="trRow">
                  <td v-for="col in columns" :key="col.key">
                    {{ item[col.key] }}
                  </td>
                </tr>
              </template>
            </v-data-table>
          </div>

        </v-col>
      </v-row>
    </v-main>
  </v-app>
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vuetify.min.js"></script>


Ответы (0 шт):