@layer utilities {
  /* Spacing helpers for the few places structure alone can't carry rhythm. */
  .spacer-sm { padding: var(--spacing-sm); }
  .spacer-md { padding: var(--spacing-md); }
  .spacer-lg { padding: var(--spacing-lg); }

  /* Invoice field grid fractions */
  .w-1\/4 { width: 25%; }
  .w-1\/2 { width: 50%; }
  .w-3\/4 { width: 75%; }

  /* Invoice cell corner / edge helpers (paired with .rule) */
  .rounded-top {
    border-start-start-radius: var(--radius-default);
    border-start-end-radius: var(--radius-default);
  }

  .rounded-bottom {
    border-end-start-radius: var(--radius-default);
    border-end-end-radius: var(--radius-default);
  }

  .rounded-bottom-right {
    border-end-end-radius: var(--radius-default);
  }

  .italic {
    font-style: italic;
  }

  /* Shared “ruled cell” edges used by the invoice grid */
  .rule {
    border-style: solid;
    border-color: var(--border-color);
    border-width: var(--line) 0 0 var(--line);
  }

  .close-inline {
    border-inline-end-width: var(--line);
  }

  .close-block {
    border-block-end-width: var(--line);
  }

  .close {
    border-inline-end-width: var(--line);
    border-block-end-width: var(--line);
  }
}
