/* Ajustari peste Tailwind — tabele dense, cifre aliniate */
.tabnum { font-variant-numeric: tabular-nums; }
table.grid { border-collapse: separate; border-spacing: 0; }
table.grid th {
  font-weight: 500; font-size: 11.5px; letter-spacing: .02em;
  color: #5a6b7b; text-align: left; padding: 8px 12px;
  border-bottom: 1px solid #e3e6e9; background: #fafbfb;
}
table.grid td { padding: 9px 12px; border-bottom: 1px solid #eef0f2; font-size: 13.5px; }
table.grid tbody tr:hover { background: #fafbfc; }
.field {
  width: 100%; border: 1px solid #d7dce1; border-radius: 4px;
  padding: 6px 9px; font-size: 13.5px; background: #fff;
}
.field:focus { outline: 2px solid #0d6e6e33; border-color: #0d6e6e; }
.btn {
  display: inline-flex; align-items: center; gap: 6px; border-radius: 4px;
  padding: 7px 14px; font-size: 13px; font-weight: 500; border: 1px solid transparent;
  cursor: pointer;
}
.btn-primary { background: #0d6e6e; color: #fff; }
.btn-primary:hover { background: #095454; }
.btn-ghost { background: #fff; border-color: #d7dce1; color: #14202b; }
.btn-ghost:hover { background: #f5f6f7; }
.btn-danger { background: #fff; border-color: #f3c6c6; color: #9f1239; }
.card { background: #fff; border: 1px solid #e3e6e9; border-radius: 6px; }
.kanban-col.drag-over { background: #e6f2f1; }
.task-card.dragging { opacity: .4; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Tabele de editare: latimile vin din <colgroup>, nu din continutul campurilor.
   Fara asta, latimea intrinseca a input-urilor impinge coloanele si antetul
   nu mai cade peste celule. */
table.grid.cols-fixed { table-layout: fixed; }
table.grid.cols-fixed th,
table.grid.cols-fixed td { padding: 6px 8px; overflow: hidden; }
table.grid.cols-fixed th { white-space: nowrap; }
table.grid input.field,
table.grid select.field { width: 100%; min-width: 0; }
.table-scroll { overflow-x: auto; }
