/*//////////////////////////////////////////////////////////////////
[ RESET & BASE ]*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

ul, li {
  margin: 0;
  list-style: none;
}

/*//////////////////////////////////////////////////////////////////
[ TABLE CONTAINERS ]*/
.limiter {
  width: 100%;
  margin: 0 0 50px 0;
}

.container-table100,
.container-table70 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}

/* Accessible wrapper: Allows horizontal scroll if table overflows without breaking semantics */
.wrap-table100 {
  width: 1170px;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 10px;
  border: 1px solid #f5f5f5; /* Provides boundary in high-contrast modes without shadows */
  margin: 0;
}

/* Focus outline for keyboard users scrolling the container */
.wrap-table100:focus-visible {
  outline: 2px solid #525252;
  outline-offset: 2px;
}

/*//////////////////////////////////////////////////////////////////
[ TABLE CORE ]*/
table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  background-color: #ffffff;
  text-align: left;
}

/* Header */
table thead tr {
  height: 60px;
  background-color: #525252;
}

table th,
table td {
  padding: 14px 16px;
  text-align: left;
  vertical-align: middle;
}

/* Header text color (White on #525252 = 6.36:1 contrast ratio - Passes WCAG AA) */
.table100-head th,
.table100-head td,
thead th,
thead td,
.heading-text,
.table100-head h3 {
  color: #ffffff;
}

.table100-head th {
  background-color: transparent;
}

/* Body Rows (Dark gray #4b4b4b on white = 7.49:1 - Passes WCAG AAA) */
tbody tr {
  color: #4b4b4b;
  border-bottom: 1px solid #f5f5f5;
  transition: background-color 0.2s ease;
}

tbody tr:last-child {
  border-bottom: 0;
}

tbody tr:nth-child(even) {
  background-color: #f5f5f5;
}

/* Hover highlight */
tbody tr:hover {
  background-color: #ededed;
}

/* Accessible Links: High contrast magenta + distinct underline & keyboard focus */
tbody tr a {
  color: #C0059E;
  text-decoration: underline;
  text-underline-offset: 3px;
}

tbody tr a:focus-visible {
  outline: 2px solid #C0059E;
  outline-offset: 2px;
  border-radius: 2px;
}

tbody tr a:hover {
  opacity: 0.85;
}

.table-img {
  vertical-align: middle;
}

.neptune-page {
  color: #525252 !important;
}

/* Alignment utilities */
table td.l, table th.l { text-align: left; }
table td.c, table th.c { text-align: center; }
table td.r, table th.r { text-align: right; }

/* Column percentage widths */
.column1 { width: 10%; text-align: left; }
.column2 { width: 12%; text-align: left; }
.column3 { width: 12%; text-align: left; }
.column4 { width: 25%; text-align: left; }
.column5 { width: 10%; text-align: left; }
.column6 { width: 10%; text-align: left; }

/*//////////////////////////////////////////////////////////////////
[ ACCESSIBILITY PREFERENCES ]*/
@media (prefers-reduced-motion: reduce) {
  tbody tr,
  tbody tr a {
    transition: none !important;
  }
}

/*//////////////////////////////////////////////////////////////////
[ RESPONSIVE / MOBILE STYLES ]*/
@media screen and (max-width: 992px) {
  /* Retain stacked card layout if desired, with WCAG-compliant label color */
  table, thead, tbody, th, td, tr {
    display: block;
  }

  table thead {
    display: none;
  }

  table tbody tr {
    padding: 12px 0;
    margin-bottom: 12px;
    border-bottom: 2px solid #f5f5f5;
  }

  table td {
    display: block;
    width: 100% !important;
    text-align: left !important;
    padding: 8px 12px;
    border: none;
  }

  /* Swapped failing #999999 to palette color #525252 for compliant 6.36:1 contrast */
  table tbody tr td:before {
    content: attr(data-label);
    display: block;
    color: #525252;
    font-weight: 600;
    margin-bottom: 4px;
  }

  .column1, .column2, .column3, .column4, .column5, .column6 {
    width: 100%;
    text-align: left !important;
    padding-left: 12px !important;
    margin-left: 0 !important;
  }
}
/* Restore WYSIWYG list markers inside table cells */
table ul {
  list-style-type: disc !important;
  margin: 8px 0;
  padding-left: 24px !important;
}

table ol {
  list-style-type: decimal !important;
  margin: 8px 0;
  padding-left: 24px !important;
}

table li {
  list-style: inherit !important;
  margin-bottom: 4px;
}