/* Color Utility Classes - Rails 8 Best Practices */

/* Background Colors */
.bg-primary { background-color: var(--color-primary); }
.bg-primary-hover { background-color: var(--color-primary-hover); }
.bg-primary-light { background-color: var(--color-primary-light); }
.bg-secondary { background-color: var(--color-secondary); }
.bg-secondary-hover { background-color: var(--color-secondary-hover); }

.bg-white { background-color: var(--color-bg); }
.bg-gray-50 { background-color: var(--color-bg-secondary); }
.bg-gray-100 { background-color: var(--color-bg-tertiary); }
.bg-gray-200 { background-color: var(--color-bg-muted); }

.bg-success { background-color: var(--color-success); }
.bg-success-light { background-color: var(--color-success-light); }
.bg-warning { background-color: var(--color-warning); }
.bg-warning-light { background-color: var(--color-warning-light); }
.bg-danger { background-color: var(--color-danger); }
.bg-danger-light { background-color: var(--color-danger-light); }
.bg-info { background-color: var(--color-info); }
.bg-info-light { background-color: var(--color-info-light); }

/* Border Colors */
.border { border-color: var(--color-border); }
.border-light { border-color: var(--color-border-light); }
.border-dark { border-color: var(--color-border-dark); }
.border-accent { border-color: var(--color-border-accent); }
.border-success { border-color: var(--color-success); }
.border-warning { border-color: var(--color-warning); }
.border-danger { border-color: var(--color-danger); }
.border-info { border-color: var(--color-info); }

/* Border Width */
.border-0 { border-width: 0; }
.border { border-width: var(--border-width); }
.border-2 { border-width: var(--border-width-thick); }
.border-t { border-top-width: var(--border-width); }
.border-r { border-right-width: var(--border-width); }
.border-b { border-bottom-width: var(--border-width); }
.border-l { border-left-width: var(--border-width); }

/* Border Radius */
.rounded-none { border-radius: 0; }
.rounded-sm { border-radius: var(--radius-sm); }
.rounded { border-radius: var(--radius-md); }
.rounded-md { border-radius: var(--radius-md); }
.rounded-lg { border-radius: var(--radius-lg); }
.rounded-xl { border-radius: var(--radius-xl); }
.rounded-full { border-radius: var(--radius-full); }

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

/* Opacity */
.opacity-0 { opacity: 0; }
.opacity-25 { opacity: 0.25; }
.opacity-50 { opacity: 0.5; }
.opacity-75 { opacity: 0.75; }
.opacity-100 { opacity: 1; }
