
  .data-table-wrap {
    background: var(--form-card-bg); border: 1px solid var(--form-card-border);
    border-radius: 12px; overflow: hidden; box-shadow: var(--form-card-shadow);
  }  
  .data-table tbody tr {
    cursor: pointer;
  }

  .data-table { width: 100%; border-collapse: collapse; 
    font-size: clamp(10.5px, calc(10.5px + 8 * ((100vw - 1280px) / 640)), 12.5px);
    table-layout: fixed; }
  .data-table th {
    padding: 12px 16px; text-align: left;
    font-size: clamp(9.5px, calc(9.5px + 4 * ((100vw - 1280px) / 640)), 10.5px);
    
    font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase;
    color: var(--progress-th-color);
    background: var(--form-card-header-bg);
    border-bottom: 1px solid var(--progress-th-border);
    white-space: nowrap; cursor: pointer; user-select: none;
    overflow:hidden;
    flex-wrap:wrap;
  }
  .data-table th:hover { color: var(--teal); }
  .data-table th .sort-icon { margin-left: 4px; opacity: 0.5; }
  .data-table th.sorted { color: var(--teal); }
  .data-table th.sorted .sort-icon { opacity: 1; }
  .data-table td {
    padding: 11px 16px; border-bottom: 1px solid var(--progress-td-border);
    color: var(--page-title-color); vertical-align: middle;
  }
  .data-table th:nth-child(1), .data-table td:nth-child(1) { width: 22%; min-width: 180px; } /* project name */
  .data-table th:nth-child(2), .data-table td:nth-child(2) { width: 17%; min-width: 160px; } /* location */
  .data-table th:nth-child(3), .data-table td:nth-child(3) { width: 18%; min-width: 180px; } /* type */
  .data-table th:nth-child(4), .data-table td:nth-child(4) { width: 12%; min-width: 140px; } /* est. value */
  .data-table th:nth-child(5), .data-table td:nth-child(5) { width: 110px; min-width: 110px; white-space: nowrap; } /* registered */
  .data-table th:nth-child(6), .data-table td:nth-child(6) { width: 110px; min-width: 110px; white-space: nowrap; } /* completion */
  .data-table th:nth-child(7), .data-table td:nth-child(7) { width: 12%; min-width: 120px; } /* products */
  .data-table th:nth-child(8), .data-table td:nth-child(8) { width: 100px; min-width: 100px; } /* status */
  .data-table tbody td,
  .data-table tbody td * {
    pointer-events: auto;
  }
  .data-table tr:last-child td { border-bottom: none; }
  .data-table tr:hover td { background: var(--teal-dim); }
  .data-table tr { cursor: pointer; transition: background 0.15s; }
  
  .data-empty-row td { text-align: center; padding: 48px; color: var(--muted); }
  .data-loading { text-align: center; padding: 48px; color: var(--muted); }
  .data-pagination {
    display: flex; align-items: center; justify-content: space-between;
    padding: 14px 16px; border-top: 1px solid var(--progress-th-border);
    background: var(--form-card-header-bg); font-size: 12px; color: var(--muted);
  }
  .data-page-btns { display: flex; gap: 4px; }
  .data-page-btn {
    width: 28px; height: 28px; border-radius: 6px; border: 1px solid var(--border);
    background: transparent; color: var(--muted); cursor: pointer; font-size: 12px;
    display: flex; align-items: center; justify-content: center;
    transition: all 0.15s; font-family: 'DM Sans', sans-serif;
  }
  .data-page-btn:hover { border-color: var(--teal-border); color: var(--teal); }
  .data-page-btn.active { background: var(--teal-dim); border-color: var(--teal-border); color: var(--teal); font-weight: 600; }
  .data-page-btn:disabled { opacity: 0.35; cursor: not-allowed; }


  .data-warning-row, .data-warning {
    background: var(--warning-row-bg) !important;
  }
  .data-warning-row:hover {
    background: var(--warning-row-hover-bg) !important;
  }
  .data-yellow-row {
    background: var(--yellow-row-bg) !important;
  }
  .data-yellow-row:hover {
    background: var(--yellow-row-hover-bg) !important;
  }



.status-pill {
  font-size:11px;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid;
  white-space:nowrap;
}

.status-pill.pending {
  color:#92400e;
  border-color:#f59e0b;
  background:#fff7ed;
}

.status-pill.rejected {
  color:#7f1d1d;
  border-color:#ef4444;
  background:#fff5f5;
}

.status-pill.approved {
  color:#065f46;
  border-color:#10b981;
  background:#ecfdf5;
}



.partner-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  margin: -2px 0px;
  border-radius: 999px;
}