You can duplicate your index.php file and name it category-#.php for each cat that needs a different look, then just modify the html and css accordingly
OR
you can use php conditional statements to write dynamic html/styles in a single index or category file
that’s it, really. You have to use one approach or the other. The simplest is the first option, but it makes keeping pages updated more difficult, imo.
the second method is ideal, but requires real php skills and good xhtml/css skills to make use of WP’s dynamic functionality while addressing future flexibility of your site.
CMS sites are best created using Pages…. but the issue is the same (maybe a bit simpler given the probability of less “post” or non-blog content)… you still have to make separate page templates or use conditional php to write the xhtml tags and classes/IDs you want based on WHICH page is requested.
Most folks are overwhelmed by this if they are new to WP or don’t have the right skills – my first wp site has about 50 category-#.php files used depending upon the content. Most of my recent sites only use the page.php file in conjunction with the header, sidebar and footer files.
You learn as you go!
HTH
Casey