.table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

.table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  box-sizing: border-box;
  table-layout: auto;
}

.table th, .table td {
  border: 1px solid #e5e7eb;
  padding: 10px;
  vertical-align: top;

  word-break: break-word;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.table th {
  background: #f9fafb;
  font-weight: 600;
}

.table .muted { color: #6b7280; }
.table .cell-list > div { margin-bottom: 6px; }
.table .cell-list > div:last-child { margin-bottom: 0; }

.table-success {
  background-color: #beffd4 !important;
  border-left: 4px solid #28a745 !important;
}
.table-danger {
  background-color: #ffe6e6 !important;
  border-left: 4px solid #dc3545 !important;
}
.table-warning {
  background-color: #fff8e1 !important;
  border-left: 4px solid #ffc107 !important;
}

.btn-secondary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

tr { transition: all 0.3s ease; }

.nowrap   { white-space: nowrap; }
.truncate { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wrap     { white-space: normal; }

.table thead th.sticky {
  position: sticky;
  top: 0;
  z-index: 1;
}
