:root{
  --link-color:#00a1ff;      /* LSA blue */
  --border-color:#ddd;
  --cell-padding:0.6rem;
  --font-base:0.95rem;
  --hover-bg:#f9f9f9;
}

/* wrapper — kill horizontal scrollbar */
.table-container{
  overflow-x:hidden;          /* <— remove the bar */
  -webkit-overflow-scrolling:touch;
  margin-bottom:1rem;
}

/* table — prevent overflow by forcing wrap */
.table-container table{
  border-collapse:collapse;
  font-size:var(--font-base);
  width:100%;
  max-width:100%;
  table-layout:fixed;         /* <— keeps columns inside container */
  box-sizing:border-box;
}

/* header cells */
.table-container thead th{
  background:#fafafa;
  font-weight:600;
  padding:var(--cell-padding);
  border:1px solid var(--border-color);
  text-align:left;
  white-space:normal;         /* allow wrapping in long headers */
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* first-column cells get no left border (optional look) */
.table-container th:first-child,
.table-container td:first-child{
  border-left:none;
}

/* body cells */
.table-container td{
  padding:var(--cell-padding);
  border:1px solid var(--border-color);
  vertical-align:top;
  background:#fff;
  white-space:normal;
  overflow-wrap:anywhere;     /* wrap long strings */
  word-break:break-word;
  hyphens:auto;
}

/* row hover */
.table-container tbody tr:hover td{ background:var(--hover-bg); }

/* tiny screens */
@media (max-width:480px){
  .table-container table{ font-size:0.88rem; }
}
