 table {
      width: 100%;
      border-collapse: collapse;
      table-layout: fixed;
      
      
      min-width: 1200px; /* ensures horizontal scroll for small devices */
    }

    caption {
      caption-side: top;
      text-align: left;
      margin-bottom: 0.75rem;
      
      
      
      user-select: none;
    }

    thead tr {
      background-color: #fff;
      position: sticky;
      top: 0;
      z-index: 10;
    }

    thead th {
      padding: 0.75rem 1rem;
      border-bottom: 2px solid var(--color-border);
      
      
      user-select: none;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      /* Will shrink but keep min width */
      min-width: 90px;
      max-width: 130px;
    }

    tbody td {
      
      
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      vertical-align: middle;
      min-width: 90px;
      max-width: 130px;
      
    }

    

    /* Responsive adjustments */
    @media (max-width: 640px) {
     

     

      thead th, tbody td {
        min-width: 70px;
        max-width: 100px;
        padding: 0.4rem 0.6rem;
      }
    }