html {
  box-sizing: border-box;
}

body {
  margin: 0;
}

*,
*:before,
*:after {
  box-sizing: inherit;
  -webkit-tap-highlight-color: transparent;
}

:host {
  font-family: var(--c-font-family);
}

::-ms-reveal {
  display: none;
}

:host,
:root {
  /**
   * @prop --c-table-border-color: Table border color
   * @prop --c-table-header-text-color: Table header text color
   * @prop --c-table-row-background-color-mobile: Background color for table rows (even) in mobile
   */
  --_c-table-border-color: var(--c-table-border-color, var(--c-tertiary-200));
  --_c-table-header-text-color: var(--c-table-header-text-color, var(--c-text-system));
  --_c-table-row-background-color-mobile: var(--c-table-row-background-color-mobile, rgba(var(--c-primary-rgb), 0.05));
}

table.c-table {
  border-collapse: collapse;
  border-spacing: 0;
  border: 0;
  font-size: 100%;
  font-family: var(--c-font-family);
  margin: 0;
  padding: 0;
  width: 100%;
}
table.c-table slot {
  display: table;
}
table.c-table caption,
table.c-table tbody,
table.c-table tfoot,
table.c-table thead,
table.c-table tr,
table.c-table th,
table.c-table td {
  border: 0;
  font-size: 100%;
  font-family: var(--c-font-family);
  margin: 0;
  padding: 0;
}
table.c-table thead {
  background-color: var(--c-white);
  position: relative;
}
table.c-table thead th {
  border-bottom: 2px solid var(--_c-table-border-color);
  text-align: left;
}
table.c-table tbody {
  box-shadow: inset 1px 0 0 0 var(--_c-table-border-color), inset -1px 0 0 0 var(--_c-table-border-color), inset 0 1px 0 0 var(--_c-table-border-color), inset 0 -1px 0 0 var(--_c-table-border-color);
  /* Safari box shadow replacement */
}
@supports (-webkit-hyphens: none) {
  table.c-table tbody {
    border: 1px solid var(--_c-table-border-color);
  }
  table.c-table tbody tr {
    border-bottom: 1px solid var(--_c-table-border-color);
  }
}
table.c-table tbody tr {
  box-shadow: inset 0 1px 0 0 var(--_c-table-border-color);
}
table.c-table tfoot {
  background-color: var(--c-white);
}
table.c-table tfoot tr {
  box-shadow: inset 0 1px 0 0 var(--_c-table-border-color);
}
table.c-table tfoot td {
  min-height: 48px;
}
table.c-table tfoot td c-pagination {
  flex: 1;
}
table.c-table th,
table.c-table td {
  font-weight: 400;
  box-sizing: border-box;
  line-height: normal;
  padding: 16px;
}
table.c-table th {
  height: 48px;
  font-size: 14px;
  color: var(--_c-table-header-text-color);
}
table.c-table td {
  font-size: 16px;
  color: var(--c-text-body);
}
table.c-table td span.c-table__mobile-label {
  display: none;
}
table.c-table--mobile {
  border-spacing: 0 16px;
  border-collapse: separate;
}
table.c-table--mobile tbody {
  box-shadow: none;
}
table.c-table--mobile tbody tr {
  border-radius: 4px;
  box-shadow: inset 0 0 0 1px var(--_c-table-border-color);
  /* Safari box shadow replacement */
}
@supports (-webkit-hyphens: none) {
  table.c-table--mobile tbody tr {
    display: grid;
    margin-bottom: 16px;
    border: none;
  }
}
table.c-table--mobile thead {
  display: none;
}
table.c-table--mobile td {
  display: grid;
  gap: 4px;
  padding: 12px;
  min-height: 48px;
}
table.c-table--mobile td span.c-table__mobile-label {
  font-size: 14px;
  color: var(--_c-table-header-text-color);
  display: inline-block;
  text-align: start;
  padding-right: 8px;
}
table.c-table--mobile td:nth-of-type(even) {
  background-color: var(--_c-table-row-background-color-mobile);
}