{/* Body scrolls; form fills it with its own internal tab scroll */}
{showBackendConfig && (
)}
{/* Left: update controls — fixed positions so buttons don't shift */}
{updateInfo && !updateInfo.needs_update && (
)}
{updateInfo?.needs_update && (
)}
{/* Spacer */}
{/* Right: save + close */}
{t('app.changesNote')}
{/* Update-available prompt — opened from the header release widget (#129).
Reuses the backend update check for the release-notes link + Continue/Cancel. */}
!v && setShowUpdateModal(false)}>
{t('app.updateAvailable')}