@props(['variant' => 'primary']) @php $base = 'inline-flex items-center justify-center gap-2 px-4 py-2 text-sm font-semibold rounded-lg transition-all duration-150 ease-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-accent-500 disabled:opacity-50 disabled:cursor-not-allowed active:scale-[0.98]'; $variants = [ 'primary' => 'bg-brand-900 text-white border border-brand-900 hover:bg-brand-800 shadow-sm hover:shadow-md', 'gradient' => 'bg-brand-gradient text-white border border-transparent shadow-sm hover:shadow-glow', 'secondary' => 'bg-white text-slate-700 border border-slate-200 hover:bg-slate-50 hover:border-slate-300 shadow-xs', 'ghost' => 'bg-transparent text-slate-700 hover:bg-slate-100 border border-transparent', ]; $classes = trim($base . ' ' . ($variants[$variant] ?? $variants['primary'])); @endphp