/*
  Utilities (Single Source of Truth)
  Scope: global, lightweight helpers used across views
  Note: Keep component-specific styles in their component files.
*/

/* Text alignment */
.text-left { text-align: left !important; }
.text-center { text-align: center !important; }
.text-right { text-align: right !important; }

/* Links */
.link {
  color: #667eea;
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}
.link:hover {
  color: #5a67d8;
  text-decoration: underline;
}

/* Rounding */
.rounded { border-radius: 8px !important; }
.rounded-lg { border-radius: 12px !important; }
.rounded-xl { border-radius: 16px !important; }
.rounded-full { border-radius: 9999px !important; }

/* Shadows */
.shadow-sm { box-shadow: 0 1px 3px rgba(0,0,0,0.12) !important; }
.shadow { box-shadow: 0 4px 10px rgba(0,0,0,0.15) !important; }
.shadow-lg { box-shadow: 0 10px 24px rgba(0,0,0,0.18) !important; }

/* Transitions */
.transition { transition: all 0.25s ease-in-out !important; }
.transition-fast { transition: all 0.15s ease-in-out !important; }
.transition-slow { transition: all 0.4s ease-in-out !important; }

/* Display/Flex helpers (minimal) */
.d-flex { display: flex !important; }
.flex-col { flex-direction: column !important; }
.flex-row { flex-direction: row !important; }
.items-center { align-items: center !important; }
.justify-center { justify-content: center !important; }
.gap-8 { gap: 8px !important; }
.gap-12 { gap: 12px !important; }

/* Spacing (minimal) */
.mt-0 { margin-top: 0 !important; }
.mb-0 { margin-bottom: 0 !important; }
.pt-0 { padding-top: 0 !important; }
.pb-0 { padding-bottom: 0 !important; }

/* Width helpers */
.w-100 { width: 100% !important; }
.min-w-0 { min-width: 0 !important; }

/* Overflow */
.overflow-auto { overflow: auto !important; }
.overflow-hidden { overflow: hidden !important; }
