/* Margin utilities */
.mb-xs { margin-bottom: var(--wa-space-xs); }
.mb-s { margin-bottom: var(--wa-space-s); }
.mb-m { margin-bottom: var(--wa-space-m); }
.mb-l { margin-bottom: var(--wa-space-l); }
.mb-xl { margin-bottom: var(--wa-space-xl); }

.mt-xs { margin-top: var(--wa-space-xs); }
.mt-s { margin-top: var(--wa-space-s); }
.mt-m { margin-top: var(--wa-space-m); }
.mt-l { margin-top: var(--wa-space-l); }
.mt-xl { margin-top: var(--wa-space-xl); }

.mx-xs { margin-left: var(--wa-space-xs); margin-right: var(--wa-space-xs); }
.mx-s { margin-left: var(--wa-space-s); margin-right: var(--wa-space-s); }
.mx-m { margin-left: var(--wa-space-m); margin-right: var(--wa-space-m); }
.mx-l { margin-left: var(--wa-space-l); margin-right: var(--wa-space-l); }

.my-0 { margin-top: 0; margin-bottom: 0; }
.mr-s { margin-right: var(--wa-space-s); }
.pl-l { padding-left: var(--wa-space-l); }

/* Text utilities */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-muted { color: var(--wa-color-neutral-500); }
.text-mono { font-family: var(--wa-font-mono); }
.font-bold { font-weight: var(--wa-font-weight-bold); }

/* Form utilities */
.w-full { width: 100%; }
.form-label {
  display: block;
  margin-bottom: var(--wa-space-xs);
  font-weight: var(--wa-font-weight-semibold);
}

/* Table utilities */
.table {
  width: 100%;
  border-collapse: collapse;
}
.table th,
.table td {
  padding: var(--wa-space-s) var(--wa-space-m);
  text-align: left;
}
.table th {
  font-weight: var(--wa-font-weight-semibold);
  border-bottom: 2px solid var(--wa-color-neutral-200);
}
.table td {
  border-bottom: 1px solid var(--wa-color-neutral-100);
}
.table .num {
  text-align: right;
  font-family: var(--wa-font-mono);
}

/* Flex utilities */
.justify-end { justify-content: flex-end; }
.justify-between { justify-content: space-between; }
.items-center { align-items: center; }
.items-baseline { align-items: baseline; }

/* Form actions */
.form-actions {
  margin-top: var(--wa-space-xl);
  display: flex;
  gap: var(--wa-space-s);
  justify-content: flex-end;
}

/* Summary footer (for totals display) */
.summary-footer {
  display: flex;
  justify-content: space-between;
  padding: var(--wa-space-m);
  background: var(--wa-color-neutral-80);
  border-top: 1px solid var(--wa-color-neutral-200);
}
.summary-stat {
  display: flex;
  flex-direction: column;
  gap: var(--wa-space-2xs);
}
.summary-stat-label {
  font-size: var(--wa-font-size-s);
  color: var(--wa-color-neutral-05);
}
.summary-stat-value {
  font-size: var(--wa-font-size-xl);
  font-weight: var(--wa-font-weight-bold);
  font-family: var(--wa-font-mono);
}
