/* Base Colors */
.bg-white { background-color: #ffffff; }
.bg-black { background-color: #000000; }
.text-white { color: #ffffff; }
.text-black { color: #000000; }

/* Gray */
.bg-gray-100 { background-color: #f3f4f6; }
.bg-gray-200 { background-color: #e5e7eb; }
.bg-gray-300 { background-color: #d1d5db; }
.bg-gray-600 { background-color: #4b5563; }
.text-gray-600 { color: #4b5563; }
.border-gray-300 { border-color: #d1d5db; }

/* Primary (Emerald) */
.bg-primary-100 { background-color: #d1fae5; }
.bg-primary-600 { background-color: #059669; }
.bg-primary-700 { background-color: #047857; }
.text-primary-700 { color: #047857; }
.border-primary-300 { border-color: #6ee7b7; }
.hover\:bg-primary-700:hover { background-color: #047857; }

/* Secondary (Indigo) */
.bg-secondary-100 { background-color: #e0e7ff; }
.bg-secondary-600 { background-color: #4f46e5; }
.bg-secondary-700 { background-color: #4338ca; }
.text-secondary-700 { color: #4338ca; }
.border-secondary-300 { border-color: #a5b4fc; }
.hover\:bg-secondary-700:hover { background-color: #4338ca; }

/* Success (Green) */
.bg-success-100 { background-color: #d1fae5; }
.bg-success-600 { background-color: #16a34a; }
.bg-success-700 { background-color: #15803d; }
.text-success-700 { color: #15803d; }
.border-success-300 { border-color: #86efac; }
.hover\:bg-success-700:hover { background-color: #15803d; }

/* Warning (Yellow) */
.bg-warning-100 { background-color: #fef3c7; }
.bg-warning-600 { background-color: #f59e0b; }
.bg-warning-700 { background-color: #b45309; }
.bg-warning-800 { background-color: #92400e; }
.text-warning-700 { color: #b45309; }
.border-warning-300 { border-color: #fcd34d; }
.hover\:bg-warning-700:hover { background-color: #b45309; }
.hover\:bg-warning-800:hover { background-color: #92400e; }

/* Danger (Red) */
.bg-danger-100 { background-color: #fee2e2; }
.bg-danger-600 { background-color: #dc2626; }
.bg-danger-700 { background-color: #b91c1c; }
.text-danger-700 { color: #b91c1c; }
.border-danger-300 { border-color: #fca5a5; }
.hover\:bg-danger-700:hover { background-color: #b91c1c; }

/* Info (Blue) */
.bg-info-100 { background-color: #dbeafe; }
.bg-info-600 { background-color: #2563eb; }
.bg-info-700 { background-color: #1d4ed8; }
.text-info-700 { color: #1d4ed8; }
.border-info-300 { border-color: #93c5fd; }
.hover\:bg-info-700:hover { background-color: #1d4ed8; }

/* Border radius + others */
.rounded-md { border-radius: 0.375rem; }
.shadow-sm { box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); }
.font-medium { font-weight: 500; }
.transition-all { transition: all 0.2s ease-in-out; }
.inline-flex { display: inline-flex; align-items: center; }
.items-center { align-items: center; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.space-y-3 > :not([hidden]) ~ :not([hidden]) { margin-top: 0.75rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.font-semibold { font-weight: 600; }
