:root{
:  --erp-table-head-bg: #f8f9fa;
:  --erp-table-border: rgba(0,0,0,.08);
:  --erp-row-hover: rgba(25,119,204,.06);
:}

/* Tables: consistent density, header, hover */
.table{
  --bs-table-border-color: var(--erp-table-border);
}
.table > :not(caption) > * > *{
  padding: .55rem .65rem;
  vertical-align: middle;
}
.table thead th{
  background: var(--erp-table-head-bg);
  font-weight: 600;
  white-space: nowrap;
}
.table.table-striped > tbody > tr:nth-of-type(odd) > *{
  --bs-table-accent-bg: rgba(0,0,0,.02);
}
.table tbody tr:hover > *{
  background-color: var(--erp-row-hover);
}

/* Forms: consistent spacing/alignment */
.form-label{
  font-weight: 600;
  margin-bottom: .35rem;
}
.form-control, .form-select{
  min-height: 38px;
}
.card .card-body .row.g-3, .card .card-body .row{
  row-gap: 12px;
}

/* Buttons: consistent sizes, action groups */
.btn{
  border-radius: .5rem;
}
.btn.btn-sm{
  padding: .35rem .6rem;
  font-weight: 600;
}
.action-btn, .erp-actions{
  display: inline-flex;
  gap: .35rem;
  align-items: center;
}
.erp-actions .btn{
  min-width: 64px;
}

/* Small polish */
.table-responsive{
  border-radius: .75rem;
}
.badge{
  font-weight: 700;
}
