Symptom

Section headings in the settings panels for Server (“Server Information”), MQTT (“Action Type”), DataPoint (“Data Type”), and LogicGate (“Inputs”) appeared gray/muted while the same compositional role rendered in blue/primary in most other node-type settings panels (CronTimer “Schedule”, LLM “Backend”, Backup “Existing Archives”, etc.).

Root cause

Each affected file used a different style for the heading text (some labelLarge, some labelMedium, some no style at all) and none specified color = MaterialTheme.colorScheme.primary, so they fell back to the default onSurface/onSurfaceVariant gray. No shared composable existed to enforce the primary-color convention for section headings, so the style drifted per-author.

Fix

Introduced SectionHeading(text, modifier) in composeApp/src/commonMain/kotlin/krill/zone/app/ui/SectionHeading.kt using MaterialTheme.typography.titleSmall + MaterialTheme.colorScheme.primary — matching the existing majority pattern. Replaced the ad-hoc Text(...) calls in ServerView.kt, EditMqtt.kt, DataPointView.kt, and EditLogicGate.kt with SectionHeading(...).

Prevention