/* Spacing Utilities */
.sca-mt-xs {
  margin-top: var(--sca-space-xs);
}
.sca-mt-sm {
  margin-top: var(--sca-space-sm);
}
.sca-mt-md {
  margin-top: var(--sca-space-md);
}
.sca-mt-lg {
  margin-top: var(--sca-space-lg);
}
.sca-mt-xl {
  margin-top: var(--sca-space-xl);
}
.sca-mt-2xl {
  margin-top: var(--sca-space-2xl);
}

.sca-mb-xs {
  margin-bottom: var(--sca-space-xs);
}
.sca-mb-sm {
  margin-bottom: var(--sca-space-sm);
}
.sca-mb-md {
  margin-bottom: var(--sca-space-md);
}
.sca-mb-lg {
  margin-bottom: var(--sca-space-lg);
}
.sca-mb-xl {
  margin-bottom: var(--sca-space-xl);
}
.sca-mb-2xl {
  margin-bottom: var(--sca-space-2xl);
}

.sca-p-xs {
  padding: var(--sca-space-xs);
}
.sca-p-sm {
  padding: var(--sca-space-sm);
}
.sca-p-md {
  padding: var(--sca-space-md);
}
.sca-p-lg {
  padding: var(--sca-space-lg);
}
.sca-p-xl {
  padding: var(--sca-space-xl);
}
.sca-p-2xl {
  padding: var(--sca-space-2xl);
}

/* Text Utilities */
.sca-text-center {
  text-align: center;
}
.sca-text-left {
  text-align: left;
}
.sca-text-right {
  text-align: right;
}

.sca-text-small {
  font-size: 0.875rem;
}
.sca-text-large {
  font-size: 1.125rem;
}
.sca-text-xl {
  font-size: 1.25rem;
}

.sca-font-bold {
  font-weight: 700;
}
.sca-font-semibold {
  font-weight: 600;
}
.sca-font-medium {
  font-weight: 500;
}

.sca-text-accent {
  color: var(--sca-accent);
}
.sca-text-secondary {
  color: var(--sca-secondary);
}
.sca-text-neutral {
  color: var(--sca-neutral);
}
.sca-text-success {
  color: var(--sca-success);
}
.sca-text-warning {
  color: var(--sca-warning);
}
.sca-text-error {
  color: var(--sca-error);
}

/* Display Utilities */
.sca-block {
  display: block;
}
.sca-inline {
  display: inline;
}
.sca-inline-block {
  display: inline-block;
}
.sca-flex {
  display: flex;
}
.sca-grid {
  display: grid;
}
.sca-hidden {
  display: none;
}

/* Accessibility */
.sca-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.sca-focus-visible:focus-visible {
  outline: 2px solid var(--sca-accent);
  outline-offset: 2px;
}

/* Width Utilities */
.sca-w-full {
  width: 100%;
}
.sca-w-auto {
  width: auto;
}
.sca-max-w-sm {
  max-width: 24rem;
}
.sca-max-w-md {
  max-width: 28rem;
}
.sca-max-w-lg {
  max-width: 32rem;
}
.sca-max-w-xl {
  max-width: 36rem;
}
.sca-max-w-2xl {
  max-width: 42rem;
}

/* Position Utilities */
.sca-relative {
  position: relative;
}
.sca-absolute {
  position: absolute;
}
.sca-fixed {
  position: fixed;
}
.sca-sticky {
  position: sticky;
}

/* Z-index Utilities */
.sca-z-10 {
  z-index: 10;
}
.sca-z-20 {
  z-index: 20;
}
.sca-z-30 {
  z-index: 30;
}
.sca-z-40 {
  z-index: 40;
}
.sca-z-50 {
  z-index: 50;
}

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

.sca-rounded {
  border-radius: var(--sca-radius-md);
}
.sca-rounded-sm {
  border-radius: var(--sca-radius-sm);
}
.sca-rounded-lg {
  border-radius: var(--sca-radius-lg);
}
.sca-rounded-full {
  border-radius: 9999px;
}

/* Shadow Utilities */
.sca-shadow-sm {
  box-shadow: var(--sca-shadow-sm);
}
.sca-shadow-md {
  box-shadow: var(--sca-shadow-md);
}
.sca-shadow-lg {
  box-shadow: var(--sca-shadow-lg);
}
.sca-shadow-none {
  box-shadow: none;
}

/* Background Utilities */
.sca-bg-surface {
  background-color: var(--sca-surface);
}
.sca-bg-accent {
  background-color: var(--sca-accent);
}
.sca-bg-secondary {
  background-color: var(--sca-secondary);
}
.sca-bg-neutral {
  background-color: var(--sca-neutral);
}

/* Overflow Utilities */
.sca-overflow-hidden {
  overflow: hidden;
}
.sca-overflow-auto {
  overflow: auto;
}
.sca-overflow-scroll {
  overflow: scroll;
}

/* Cursor Utilities */
.sca-cursor-pointer {
  cursor: pointer;
}
.sca-cursor-not-allowed {
  cursor: not-allowed;
}

/* Transition Utilities */
.sca-transition {
  transition: all 0.2s ease;
}
.sca-transition-colors {
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.sca-transition-transform {
  transition: transform 0.2s ease;
}
