A nightly UX audit (2026-06-21, theme: Typography scale & hierarchy) found two consistency bugs. First, EditJournal.kt and EditTaskList.kt rendered structural subsection labels (“Add New Entry”, “Journal Entries (N)”, “Priority”) in the default onSurface color while every other settings screen paints the same structural role in primary blue — the two outlier screens were the only exceptions among 30+ settings screens. Second, CronExpressionEditor.kt’s “Generated cron:” output line used primary blue and titleSmall style, the same visual treatment as the interactive “Schedule” section header directly above it, making read-only derived output visually indistinguishable from a navigatable heading.
composeApp/.../project/journal/EditJournal.kt: added color = MaterialTheme.colorScheme.primary to the “Add New Entry” and “Journal Entries (N)” Text calls to match peer settings screens.composeApp/.../project/tasklist/EditTaskList.kt: added style = MaterialTheme.typography.titleSmall and color = MaterialTheme.colorScheme.primary to the “Priority” Text call to match sibling settings files.composeApp/.../executor/cron/CronExpressionEditor.kt: changed the “Generated cron:” Text from style = titleSmall, color = primary to style = labelSmall, color = onSurfaceVariant so read-only output is visually subordinate to the interactive “Schedule” header above it.color = MaterialTheme.colorScheme.primary (or style = MaterialTheme.typography.titleSmall.copy(color = ...)) to match the established convention across all settings screens.primary, read-only generated text uses onSurfaceVariant and a subordinate type scale role (labelSmall, bodySmall). Never use primary for text the user cannot act on.