CMS: Prism CMS
Theme: Material
Module Set: Core
Date: 2026-04-09

## Prompt
Generate a single-file, zero-dependency, static CMS admin panel named "Prism CMS" using vanilla HTML, CSS, and JS. 
Use a "Material" theme (Google Material Design 3 inspired). Colors: Surface (#FFFBFE), Primary (#6750A4), Primary Container (#EADDFF), Surface Variant (#E7E0EC). Cards have 12px border-radius and elevation. Buttons are pill-shaped (20px radius) with primary fill. Typography should use 'Inter', sans-serif.

Include the "Core" module set only: Dashboard, Posts, Pages, Categories, Tags.
Data must persist entirely in `sessionStorage` under `cms_state`.
Generate seed data on first load: ~12 posts, ~5 pages, ~8 categories, ~15 tags.

Architecture must include:
1. A hash-based SPA router listening to `hashchange`.
2. A sidebar with icons (SVG/Unicode) and an active state (pill with primary background).
3. A top bar with global search, notification bell, and user avatar.
4. Optimistic UI updates with a toast notification system.
5. "Unsaved changes" warnings and confirmation modals for destructive actions.
6. A dashboard with stat cards, recent activity, and a quick draft form.
7. Post/Page editors with a contenteditable rich text area, title input that auto-generates slugs, and sidebar panels for publishing status and taxonomies.
8. Categories and Tags managers using a two-panel layout (form on left, list on right).
9. Data tables with sortable columns, checkboxes, status badges, and bulk actions.

No external CSS/JS libraries (Google Fonts for Inter is allowed). No external images (use CSS or SVG). All logic must be contained in a single `index.html` file. Write the complete code without truncation.

## Notes
Prism CMS embraces Google's Material Design 3 language. Expect ample padding, elevation-based depth mapping, and clear tonal hierarchies. Focus on fluid transitions and tactile interactions.

## Seed Data Summary
- 12 Posts (mix of draft/published)
- 5 Pages (Home, About, Contact, Services, Privacy)
- 8 Categories (hierarchical)
- 15 Tags
