@layer utilities {
  /* Layout utilities */
  .afa-xy7q-flex {
    display: flex;
  }
  .afa-xy7q-grid {
    display: grid;
  }
  .afa-xy7q-block {
    display: block;
  }
  .afa-xy7q-inline-block {
    display: inline-block;
  }
  .afa-xy7q-hidden {
    display: none;
  }

  /* Flexbox utilities */
  .afa-xy7q-items-center {
    align-items: center;
  }
  .afa-xy7q-items-start {
    align-items: flex-start;
  }
  .afa-xy7q-items-end {
    align-items: flex-end;
  }
  .afa-xy7q-justify-center {
    justify-content: center;
  }
  .afa-xy7q-justify-between {
    justify-content: space-between;
  }
  .afa-xy7q-justify-start {
    justify-content: flex-start;
  }
  .afa-xy7q-justify-end {
    justify-content: flex-end;
  }

  /* Grid utilities */
  .afa-xy7q-grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .afa-xy7q-grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .afa-xy7q-grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .afa-xy7q-grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  /* Gap utilities */
  .afa-xy7q-gap-xs {
    gap: var(--afa-xy7q-space-xs);
  }
  .afa-xy7q-gap-sm {
    gap: var(--afa-xy7q-space-sm);
  }
  .afa-xy7q-gap-md {
    gap: var(--afa-xy7q-space-md);
  }
  .afa-xy7q-gap-lg {
    gap: var(--afa-xy7q-space-lg);
  }
  .afa-xy7q-gap-xl {
    gap: var(--afa-xy7q-space-xl);
  }

  /* Spacing utilities */
  .afa-xy7q-p-xs {
    padding: var(--afa-xy7q-space-xs);
  }
  .afa-xy7q-p-sm {
    padding: var(--afa-xy7q-space-sm);
  }
  .afa-xy7q-p-md {
    padding: var(--afa-xy7q-space-md);
  }
  .afa-xy7q-p-lg {
    padding: var(--afa-xy7q-space-lg);
  }
  .afa-xy7q-p-xl {
    padding: var(--afa-xy7q-space-xl);
  }

  .afa-xy7q-m-xs {
    margin: var(--afa-xy7q-space-xs);
  }
  .afa-xy7q-m-sm {
    margin: var(--afa-xy7q-space-sm);
  }
  .afa-xy7q-m-md {
    margin: var(--afa-xy7q-space-md);
  }
  .afa-xy7q-m-lg {
    margin: var(--afa-xy7q-space-lg);
  }
  .afa-xy7q-m-xl {
    margin: var(--afa-xy7q-space-xl);
  }

  /* Text utilities */
  .afa-xy7q-text-center {
    text-align: center;
  }
  .afa-xy7q-text-left {
    text-align: left;
  }
  .afa-xy7q-text-right {
    text-align: right;
  }

  /* Color utilities */
  .afa-xy7q-text-primary {
    color: var(--afa-xy7q-color-primary);
  }
  .afa-xy7q-text-secondary {
    color: var(--afa-xy7q-color-secondary);
  }
  .afa-xy7q-text-accent {
    color: var(--afa-xy7q-color-accent);
  }
  .afa-xy7q-text-muted {
    color: var(--afa-xy7q-color-text-muted);
  }

  .afa-xy7q-bg-primary {
    background-color: var(--afa-xy7q-color-primary);
  }
  .afa-xy7q-bg-secondary {
    background-color: var(--afa-xy7q-color-secondary);
  }
  .afa-xy7q-bg-accent {
    background-color: var(--afa-xy7q-color-accent);
  }
  .afa-xy7q-bg-surface {
    background-color: var(--afa-xy7q-color-surface);
  }
  .afa-xy7q-bg-surface-alt {
    background-color: var(--afa-xy7q-color-surface-alt);
  }

  /* Border utilities */
  .afa-xy7q-border {
    border: 1px solid var(--afa-xy7q-color-border);
  }
  .afa-xy7q-border-t {
    border-top: 1px solid var(--afa-xy7q-color-border);
  }
  .afa-xy7q-border-b {
    border-bottom: 1px solid var(--afa-xy7q-color-border);
  }
  .afa-xy7q-border-l {
    border-left: 1px solid var(--afa-xy7q-color-border);
  }
  .afa-xy7q-border-r {
    border-right: 1px solid var(--afa-xy7q-color-border);
  }

  /* Border radius utilities */
  .afa-xy7q-rounded-sm {
    border-radius: var(--afa-xy7q-radius-sm);
  }
  .afa-xy7q-rounded {
    border-radius: var(--afa-xy7q-radius);
  }
  .afa-xy7q-rounded-lg {
    border-radius: var(--afa-xy7q-radius-lg);
  }
  .afa-xy7q-rounded-full {
    border-radius: var(--afa-xy7q-radius-full);
  }

  /* Shadow utilities */
  .afa-xy7q-shadow-sm {
    box-shadow: var(--afa-xy7q-shadow-sm);
  }
  .afa-xy7q-shadow {
    box-shadow: var(--afa-xy7q-shadow);
  }
  .afa-xy7q-shadow-lg {
    box-shadow: var(--afa-xy7q-shadow-lg);
  }

  /* Responsive utilities */
  @media (min-width: 768px) {
    .afa-xy7q-md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .afa-xy7q-md\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .afa-xy7q-md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .afa-xy7q-md\:flex {
      display: flex;
    }
    .afa-xy7q-md\:hidden {
      display: none;
    }
    .afa-xy7q-md\:block {
      display: block;
    }
  }

  @media (min-width: 1024px) {
    .afa-xy7q-lg\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .afa-xy7q-lg\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .afa-xy7q-lg\:flex {
      display: flex;
    }
    .afa-xy7q-lg\:hidden {
      display: none;
    }
    .afa-xy7q-lg\:block {
      display: block;
    }
  }
}
