Add ‘scss’ to ckan.plugins in your CKAN configuration. Theme Structure: base/ (fonts, reset), abstracts/ (animations, functions, mixins, placeholders, primitives, variables), components/ (badges, breadcrumb, buttons, dropdown, facets, forms, pagination, tables, tooltip), layout/ (header, footer), pages/ (dataset, home, resource). 7 Styling Principles: 1) Mobile-First Approach - Bootstrap 5 methodology, design for mobile then enhance for larger screens using @include m.media-breakpoint-up(sm) and (lg). 2) Component-Based Approach - Independent reusable components in separate SCSS files. 3) BEM Naming - Block__Element–Modifier convention (e.g., .card, .card__title, .card–featured). 4) Bootstrap 5 Classes - Utility classes for layout (d-flex, justify-content-*, align-items-), spacing (m-, p-), display (d-none, d--block). 5) Sass Variables - Single source of truth for colors, breakpoints, using color.adjust() and maps. 6) REM Units - Relative to root (16px default), use to_rem() function, conversion: 10px=0.625rem, 12px=0.75rem, 14px=0.875rem, 16px=1rem, 24px=1.5rem, 32px=2rem, 48px=3rem, 64px=4rem. 7) Sass Mixins - Reusable blocks with parameters for flex-center, transitions, responsive fonts. Compilation Setup: Install NVM (Node Version Manager), run ‘nvm i’ from project folder to install correct Node.js version from .nvmrc. Setup: ‘npm ci’ for clean install using package-lock.json. Development: ‘npm run dev’ for watch mode with source maps, tracks SCSS changes automatically. Production: ‘npm run build’ for minified styles deployment. Examples included for all patterns in README.