The services detail view now groups its configuration surfaces as tabs, logs, env, tuning, and the new tools tab. Port mappings are the exception, they still live behind the gear icon in the header as a modal. That split is arbitrary now that everything adjacent to it is a tab, and the gear is a weaker discovery point than a labelled tab.
This converts the ports editor into a Ports tab following the existing Tuning tab pattern, a dirty indicator with an explicit save, and drops the now redundant header gear. The tab hides itself for workers the same way the modal was suppressed for them, and the existing port row and extra ports logic carries over unchanged.
The services detail view now groups its configuration surfaces as tabs, logs, env, tuning, and the new tools tab. Port mappings are the exception, they still live behind the gear icon in the header as a modal. That split is arbitrary now that everything adjacent to it is a tab, and the gear is a weaker discovery point than a labelled tab.
This converts the ports editor into a Ports tab following the existing Tuning tab pattern, a dirty indicator with an explicit save, and drops the now redundant header gear. The tab hides itself for workers the same way the modal was suppressed for them, and the existing port row and extra ports logic carries over unchanged.