.square-table {
  overflow-x: auto;
  border: 1px solid var(--color-neutral-300);
}

.square-table .table-th,
.square-table .table-td {
  border-color: var(--color-neutral-300);
}

.square-table thead th + th {
  border-left: 1px solid var(--color-neutral-300);
}

.square-table .table-el--col-divider .table-td {
  border-left-color: var(--color-neutral-300);
  border-right-color: var(--color-neutral-300);
}

.square-table .table-th {
  font-size: var(--font-size-h4);
  font-weight: 700;
  line-height: var(--line-height-h4);
  letter-spacing: 0px;
  padding: var(--spacing-16) var(--spacing-24);
}

.square-table .table-td {
  padding: var(--spacing-12);
  vertical-align: top;
  text-align: left;
}

.table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--radius-component-md);
  border: 1px solid var(--color-border-divider);
}

.table-el {
  width: auto;
  min-width: 1018px;
  max-width: 1018px;
  border-collapse: collapse;
  font-size: var(--font-size-body-2);
  color: var(--color-neutral-800);
  white-space: nowrap;
}

.table-th,
.table-td {
  padding: var(--spacing-8);
  border: 1px solid var(--color-border-divider);
  text-align: center;
  vertical-align: middle;
  font-weight: 400;
}

thead tr:first-child .table-th {
  border-top: none;
}

.table-el:not(:has(thead)) tbody tr:first-child .table-td {
  border-top: none;
}

tbody tr:last-child .table-td,
.table-td--row-end {
  border-bottom: none;
}

.table-th:first-child,
.table-td:first-child {
  border-left: none;
}

.table-th:last-child,
.table-td:last-child {
  border-right: none;
}

.table-td {
  white-space: nowrap;
  font-size: var(--font-size-component-sm);
  font-weight: 400;
  line-height: var(--line-height-component-sm);
  letter-spacing: 0px;
  border-right: none;
}

.table-th {
  background-color: var(--color-neutral-200);
  font-size: var(--font-size-h6);
  font-weight: 500;
  white-space: normal;
}

.table-th--group {
  font-weight: 700;
}

.table-th--brand {
  background-color: var(--color-brand-blue-450);
  color: var(--color-neutral-0);
  font-weight: 500;
  border-left: none;
  border-right: none;
}

.table-th--brand-green {
  background-color: var(--color-brand-green-500);
  color: var(--color-neutral-0);
  font-weight: 500;
  border-left: none;
  border-right: none;
}

.table-tr--tint .table-td,
.table-td--tint {
  background-color: var(--color-brand-blue-50);
}

.table-el--fluid {
  max-width: none;
  width: 100%;
}

.table-el--wrap,
.table-el--wrap .table-td {
  white-space: normal;
}

.table-el--col-divider .table-td {
  border-left: 1px solid var(--color-border-divider);
  border-right: 1px solid var(--color-border-divider);
}

.table-el--col-divider .table-td:first-child {
  border-left: none;
}

.table-el--col-divider .table-td:last-child {
  border-right: none;
}

.table-td--row-header {
  background-color: var(--color-neutral-100);
  font-size: var(--font-size-h6);
  font-weight: 500;
  line-height: var(--line-height-h6);
  letter-spacing: 0px;
  color: #0c0e1f;
  vertical-align: middle;
  border-bottom: 0px;
}

.table-th--center,
.table-td--center {
  text-align: center;
}

.table-th--right,
.table-td--right {
  text-align: right;
}

.table-tr--alt .table-td {
  background-color: var(--color-neutral-100);
}

.table-check {
  font-weight: 400;
}

.table-th--sticky,
.table-td--sticky {
  position: sticky;
  left: 0;
  z-index: 2;
}

.table-th--sticky {
  z-index: 3;
  background-color: var(--color-neutral-200);
}

.table-td--sticky {
  background-color: var(--color-neutral-0);
}

.table-tr--alt .table-td--sticky {
  background-color: var(--color-neutral-100);
}

@media (min-width: 1020px) {
  .table-th--sticky,
  .table-td--sticky {
    position: static;
  }
}

.table-list {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-12);
}

.table-list.table-list {
  gap: var(--spacing-2);
}

.table-list p {
  margin: 0;
}

.table-footnote {
  font-size: var(--font-size-body-2);
  font-weight: 400;
  line-height: var(--line-height-body-2);
  letter-spacing: 0px;
  color: var(--color-neutral-600);
}

.principle-grid {
  overflow: hidden;
  min-width: 1082px;
}

.principle-grid-header {
  background: var(--color-brand-blue-450);
  color: var(--color-neutral-0);
  font-size: var(--font-size-h4);
  font-weight: 700;
  line-height: var(--line-height-h4);
  text-align: center;
  padding: var(--spacing-16) var(--spacing-24);
}

.principle-grid-body {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}

.principle-grid-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--spacing-12);
  gap: var(--spacing-8);
  border-top: 1px solid var(--color-neutral-300);
  border-right: 1px solid var(--color-neutral-300);
}

.principle-grid-col:last-child {
  border-right: none;
}

.principle-grid-col-title {
  font-size: var(--font-size-h4);
  font-weight: 700;
  line-height: var(--line-height-h4);
  color: var(--color-brand-blue-400);
}

.principle-grid-col-desc {
  font-size: var(--font-size-body-2);
  font-weight: 400;
  line-height: var(--line-height-body-2);
  color: var(--color-neutral-800);
  text-align: left;
}

.decision-flow {
  width: 100%;
  min-width: 1050px;
  border-collapse: collapse;
  border: none;
  table-layout: fixed;
}

.decision-flow-zone {
  padding: var(--spacing-12) var(--spacing-16);
  font-size: var(--font-size-h4);
  font-weight: 700;
  line-height: var(--line-height-h4);
  text-align: center;
  color: var(--color-neutral-0);
}

.decision-flow-zone-pre {
  background: var(--color-brand-blue-450);
  border-right: 1px solid var(--color-neutral-300);
}

.decision-flow-zone-post {
  background: var(--color-brand-green-500);
}

.decision-flow-zone-audit {
  background: var(--color-violet-500);
}

.decision-flow-lane {
  padding: 12px;
  vertical-align: top;
  border: 1px solid var(--color-neutral-300);
  text-align: center;
}

.decision-flow-lane:first-child {
  border-left: none;
}

.decision-flow-lane:last-child {
  border-right: none;
}

.decision-flow-lane--row-last {
  border-bottom: none;
}

.table-scroll--mt {
  margin-top: var(--spacing-12);
}

.table-scroll--no-radius {
  border-radius: 0;
}

.decision-flow-lane-title {
  font-size: var(--font-size-h4);
  font-weight: 700;
  line-height: var(--line-height-h4);
  color: var(--color-brand-blue-400);
  margin-bottom: var(--spacing-8);
}

.decision-flow-lane-title-post {
  color: var(--color-brand-green-500);
}

.decision-flow-lane-title-audit {
  color: var(--color-violet-500);
}

.decision-flow-lane-desc {
  font-size: var(--font-size-body-2);
  font-weight: 400;
  line-height: var(--line-height-body-2);
  color: var(--color-neutral-800);
  text-align: left;
  margin: 0;
}

.decision-flow-subcell,
.decision-flow-notes {
  font-size: var(--font-size-body-2);
  font-weight: 400;
  line-height: var(--line-height-body-2);
  color: var(--color-neutral-800);
  border: 1px solid var(--color-neutral-300);
  border-left: none;
}

tr:last-child .decision-flow-subcell,
tr:last-child .decision-flow-notes {
  border-bottom: none;
}

.decision-flow-subcell {
  padding: var(--spacing-16);
  vertical-align: top;
  text-align: center;
}

.decision-flow-notes {
  padding: var(--spacing-16);
  text-align: left;
}

.decision-flow-notes p {
  margin: 0;
}

.decision-flow-list-wrap {
  display: block;
  width: fit-content;
  margin: 0 auto;
  text-align: left;
}

.decision-flow-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-4);
}
