Complete reference for the CSS custom property token system, color utility classes, dark mode switching, and responsive size utilities used in the Angular SPA.
Use this file to discover all available pages before exploring further.
The Alliance Research Indicators SPA uses a CSS custom property (CSS variable) system for all color and spacing decisions. Tokens are declared on :root in src/styles/colors.scss and are consumed either directly as var(--ac-*) in component SCSS or indirectly through the generated utility class system. Dark mode is implemented by overriding the same token names under a [data-theme='dark'] selector — no branching on a isDarkMode() flag in component logic is ever needed or allowed.
All color tokens follow the naming pattern --ac-<family>-<shade>. Shades increase in darkness from 100 (lightest) to the highest number in each family. Singleton colors (like orange, white, background, and red) use a numeric suffix (-1, -2).
Never use hex color literals in component SCSS or inline styles. Always reference a token via var(--ac-*) or the corresponding utility class (.abc-* / .atc-*). Hard-coded hex values break dark mode and make global rebranding impossible.
Dark mode is activated by setting data-theme="dark" on the <body> element. The DarkModeService writes this attribute and persists the choice in localStorage via the cache service.When data-theme="dark" is present, every --ac-* token is overridden with a darker equivalent in src/styles/colors.scss:
Because every color decision goes through var(--ac-*), components automatically adapt to both modes with zero branching. PrimeNG Aura preset overrides are handled separately in src/app/theme/roartheme.ts.
Never branch on isDarkMode() for color decisions. A component that uses var(--ac-primary-blue-500) or .abc-primary-blue-500 just works in both modes without any conditional logic.
<!-- Background + text from different families --><div class="abc-light-blue-100 atc-primary-blue-500"> Light blue background, deep blue text</div><!-- Status badge using green family --><span class="abc-green-100 atc-green-700 rs-p-[8]"> Submitted</span><!-- Error state using red token --><p class="atc-red-1">This field is required.</p>
Responsive utility classes are defined in src/styles/responsive-size.scss. They cover font size, dimensions, gaps, margins, and padding. All classes accept an integer value n in square brackets. Most utilities range from 1 to 30; size (rs-size-*, rs-w-*, rs-h-*) ranges from 0 to 500.Every utility has a .md: prefixed variant that applies only on landscape orientation with height ≤ 768 px. The .md: variants use !important to guarantee they override base rules.
The custom PrimeNG Aura preset is defined in src/app/theme/roartheme.ts. It overrides the Aura defaults with the Alliance brand’s primary color scale, border radii, form field sizing, and both light and dark color schemes.The primary semantic scale in the preset is derived from the Alliance primary blue palette:
The PrimeNG preset controls the interactive state colors (hover, focus, active, highlight) for all PrimeNG components. Do not override individual PrimeNG component styles with hex values — extend the preset or use the custom-prime-force-styles.scss override file.