# Best practice defining logical functions in large scalable systems?

**URL:** <https://forum.inductiveautomation.com/t/best-practice-defining-logical-functions-in-large-scalable-systems/115054>\
**Category:** Ignition\
**Tags:** scripting, python\
**Created:** [April 13, 2026, 9:14pm UTC](https://forum.inductiveautomation.com/t/best-practice-defining-logical-functions-in-large-scalable-systems/115054 "2026-04-13T21:14:31Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [April 13, 2026, 10:29pm UTC](https://forum.inductiveautomation.com/t/best-practice-defining-logical-functions-in-large-scalable-systems/115054/4 "2026-04-13T22:29:50Z")

</div>

IMO, any directly applied color styling is a code smell. All color references should come from a standardized palette, and all multi-state displays should use colors that reference the palette.

Example:

> [@Useful CSS Stuff](https://forum.inductiveautomation.com/t/useful-css-stuff/95414/2):
>
> Using CSS Custom Properties to Build Composable Style Systems I'm gonna try to distill this down into something approachable. Let's say you want to style your buttons. You make a palette of colors, and use those colors to style your button: [20240901\_224432] [data-component='ia.input.button'] { color: var(--palette-primary-50); background-color: var(--palette-primary-500); border-color: var(--palette-primary-600); border-width: 1px; border-style: solid; border-radius:…

---

_[View the full topic](https://forum.inductiveautomation.com/t/best-practice-defining-logical-functions-in-large-scalable-systems/115054)._
